summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/at91sam9260_devices.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2010-08-04 03:33:15 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2010-08-06 19:09:00 +0200
commit873910050ea0efc92db49ed233e70df7276a3f5b (patch)
treebe643e26f9513101b63be4c86bee2cb101b7f5ed /arch/arm/mach-at91/at91sam9260_devices.c
parent9080a35160e9b4b469c95518b1350cdc77912ecf (diff)
downloadbarebox-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.c18
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: