diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2010-08-04 03:33:15 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-08-06 19:09:00 +0200 |
commit | 873910050ea0efc92db49ed233e70df7276a3f5b (patch) | |
tree | be643e26f9513101b63be4c86bee2cb101b7f5ed /arch/arm/mach-at91/at91sam9260_devices.c | |
parent | 9080a35160e9b4b469c95518b1350cdc77912ecf (diff) | |
download | barebox-873910050ea0efc92db49ed233e70df7276a3f5b.tar.gz barebox-873910050ea0efc92db49ed233e70df7276a3f5b.tar.xz |
at91: implement clock framework
this implementation is based on linux one (v2.6.35-rc5-76-gd0c6f62)
it will calculate all the clock dynamically instead of statictly
this will use also the new clock framework
it will also print the clock status after the console init
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/at91sam9260_devices.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9260_devices.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 0cfe913f72..398a721bf2 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c @@ -18,6 +18,8 @@ #include <mach/gpio.h> #include <mach/io.h> +#include "generic.h" + static struct memory_platform_data sram_pdata = { .name = "sram0", .flags = DEVFS_RDWR, @@ -107,8 +109,6 @@ void at91_add_device_nand(struct atmel_nand_data *data) if (data->det_pin) at91_set_gpio_input(data->det_pin, 1); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOC); - nand_dev.platform_data = data; register_device(&nand_dev); } @@ -233,37 +233,37 @@ void at91_register_uart(unsigned id, unsigned pins) switch (id) { case 0: /* DBGU */ configure_dbgu_pins(); - at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_SYS); + at91_clock_associate("mck", &dbgu_serial_device, "usart"); register_device(&dbgu_serial_device); break; case AT91SAM9260_ID_US0: configure_usart0_pins(pins); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US0); + at91_clock_associate("usart0_clk", &uart0_serial_device, "usart"); register_device(&uart0_serial_device); break; case AT91SAM9260_ID_US1: configure_usart1_pins(pins); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US1); + at91_clock_associate("usart1_clk", &uart1_serial_device, "usart"); register_device(&uart1_serial_device); break; case AT91SAM9260_ID_US2: configure_usart2_pins(pins); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US2); + at91_clock_associate("usart2_clk", &uart2_serial_device, "usart"); register_device(&uart2_serial_device); break; case AT91SAM9260_ID_US3: configure_usart3_pins(pins); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US3); + at91_clock_associate("usart3_clk", &uart3_serial_device, "usart"); register_device(&uart3_serial_device); break; case AT91SAM9260_ID_US4: configure_usart4_pins(); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US4); + at91_clock_associate("usart4_clk", &uart4_serial_device, "usart"); register_device(&uart4_serial_device); break; case AT91SAM9260_ID_US5: configure_usart5_pins(); - at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_US5); + at91_clock_associate("usart5_clk", &uart5_serial_device, "usart"); register_device(&uart5_serial_device); break; default: |