diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-07-09 13:14:50 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-09 18:57:35 +0200 |
commit | c795803538be1b8d941a3106a67a714c893f6821 (patch) | |
tree | 824a21892eba47d92a83b550c36c8323617f18b4 /arch/arm/mach-at91 | |
parent | ca27090c1e3f9336e731a9dbe46ce89d8e07f7ff (diff) | |
download | barebox-c795803538be1b8d941a3106a67a714c893f6821.tar.gz barebox-c795803538be1b8d941a3106a67a714c893f6821.tar.xz |
ARM: at91: move main clock define to C
This will allow to drop the config.h and switch to multi board support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r-- | arch/arm/mach-at91/at91rm9200.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9261.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9263.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9g45.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9n12.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9x5.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/clock.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-at91/generic.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/board.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/sama5d3.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/setup.c | 4 |
12 files changed, 16 insertions, 27 deletions
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 8eeaa551eb..d740463745 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c @@ -225,9 +225,6 @@ static void __init at91rm9200_register_clocks(void) * -------------------------------------------------------------------- */ static void __init at91rm9200_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91rm9200_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index fa65fe7fef..e3c2996f7d 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c @@ -224,9 +224,6 @@ static void __init at91sam9260_register_clocks(void) static void at91sam9260_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9260_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index edac177400..c992f71eda 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c @@ -216,9 +216,6 @@ static void at91sam9261_register_clocks(void) static void at91sam9261_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9261_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index 49d280dd07..db4a7052b8 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c @@ -234,9 +234,6 @@ static void __init at91sam9263_register_clocks(void) static void at91sam9263_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9263_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index deb9b62954..9a50debb16 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c @@ -247,9 +247,6 @@ static void __init at91sam9g45_register_clocks(void) static void at91sam9g45_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9g45_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c index e5aabd11e1..2a825b4369 100644 --- a/arch/arm/mach-at91/at91sam9n12.c +++ b/arch/arm/mach-at91/at91sam9n12.c @@ -207,9 +207,6 @@ static void __init at91sam9n12_register_clocks(void) static void at91sam9n12_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9n12_register_clocks(); diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c index 01eac18883..9ddd592b93 100644 --- a/arch/arm/mach-at91/at91sam9x5.c +++ b/arch/arm/mach-at91/at91sam9x5.c @@ -293,9 +293,6 @@ static void __init at91sam9x5_register_clocks(void) static void at91sam9x5_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ at91sam9x5_register_clocks(); diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c index 296f5d5d0e..a10d7f6407 100644 --- a/arch/arm/mach-at91/clock.c +++ b/arch/arm/mach-at91/clock.c @@ -616,13 +616,20 @@ static void at91_upll_usbfs_clock_init(unsigned long main_clock) static int pll_overclock = 0; static u32 cpu_freq = 0; +static unsigned long at91_main_clock = 0; -int at91_clock_init(unsigned long main_clock) +void at91_set_main_clock(unsigned long rate) +{ + at91_main_clock = rate; +} + +int at91_clock_init(void) { unsigned tmp, freq, mckr; int i; + unsigned long main_clock; - + main_clock = at91_main_clock; /* * When the bootloader initialized the main oscillator correctly, diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index a19c1c5391..deba019243 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h @@ -9,7 +9,7 @@ */ /* Clocks */ -extern int __init at91_clock_init(unsigned long main_clock); +extern int __init at91_clock_init(void); static inline struct device_d *at91_add_rm9200_gpio(int id, resource_size_t start) { diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index 3ecc6038f6..d695020b74 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h @@ -30,6 +30,8 @@ #include <linux/phy.h> #include <platform_data/macb.h> +void at91_set_main_clock(unsigned long rate); + /* USB Host */ struct at91_usbh_data { u8 ports; /* number of ports on root hub */ diff --git a/arch/arm/mach-at91/sama5d3.c b/arch/arm/mach-at91/sama5d3.c index 0eec696f6e..aa681aa1d6 100644 --- a/arch/arm/mach-at91/sama5d3.c +++ b/arch/arm/mach-at91/sama5d3.c @@ -375,9 +375,6 @@ static void __init sama5d3_register_clocks(void) static void sama5d3_initialize(void) { - /* Init clock subsystem */ - at91_clock_init(AT91_MAIN_CLOCK); - /* Register the processor-specific clocks */ sama5d3_register_clocks(); diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index 0444a5fdee..65d0588b43 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c @@ -14,6 +14,7 @@ #include <mach/at91_dbgu.h> #include "soc.h" +#include "generic.h" struct at91_init_soc __initdata at91_boot_soc; @@ -233,6 +234,9 @@ static int at91_detect(void) if (!at91_soc_is_enabled()) panic("AT91: Soc not enabled"); + /* Init clock subsystem */ + at91_clock_init(); + if (at91_boot_soc.init) at91_boot_soc.init(); |