aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include
diff options
context:
space:
mode:
authorNicolas Ferre <nicolas.ferre@atmel.com>2009-06-26 10:36:58 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-06-27 06:05:22 -0400
commit789b23bc40a67d9a19bedc2655c6bcab79bcabd8 (patch)
tree01b47924223763d33034ca7d6ec85f102fd5fcc0 /arch/arm/mach-at91/include
parentfddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc (diff)
[ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support
Here are the at91 specific files dedicated to the at91sam9g45 series. They mimic the traditional at91 way of managing chips & boards. The first board that embeds at91sam9g45 chip is the AT91SAM9G45-EKES. In the future, the main board for this 9g45 series will be the AT91SAM9M10G45-EK (I choose this last name for the board file). Simple drivers are enabled in _devices and board- files. Newer peripheral support will be added in future patches. Incuded peripherals support (for now): - USART - SPI - Ethernet - NAND flash - LCD - gpio/joystick/buttons - leds and pwm Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/include')
-rw-r--r--arch/arm/mach-at91/include/mach/board.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
index e6afff849b85..74801d275cdc 100644
--- a/arch/arm/mach-at91/include/mach/board.h
+++ b/arch/arm/mach-at91/include/mach/board.h
@@ -80,7 +80,8 @@ struct at91_eth_data {
80}; 80};
81extern void __init at91_add_device_eth(struct at91_eth_data *data); 81extern void __init at91_add_device_eth(struct at91_eth_data *data);
82 82
83#if defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20) || defined(CONFIG_ARCH_AT91CAP9) 83#if defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20) || defined(CONFIG_ARCH_AT91CAP9) \
84 || defined(CONFIG_ARCH_AT91SAM9G45)
84#define eth_platform_data at91_eth_data 85#define eth_platform_data at91_eth_data
85#endif 86#endif
86 87
@@ -90,6 +91,7 @@ struct at91_usbh_data {
90 u8 vbus_pin[2]; /* port power-control pin */ 91 u8 vbus_pin[2]; /* port power-control pin */
91}; 92};
92extern void __init at91_add_device_usbh(struct at91_usbh_data *data); 93extern void __init at91_add_device_usbh(struct at91_usbh_data *data);
94extern void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data);
93 95
94 /* NAND / SmartMedia */ 96 /* NAND / SmartMedia */
95struct atmel_nand_data { 97struct atmel_nand_data {
@@ -105,7 +107,11 @@ struct atmel_nand_data {
105extern void __init at91_add_device_nand(struct atmel_nand_data *data); 107extern void __init at91_add_device_nand(struct atmel_nand_data *data);
106 108
107 /* I2C*/ 109 /* I2C*/
110#if defined(CONFIG_ARCH_AT91SAM9G45)
111extern void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices);
112#else
108extern void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices); 113extern void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices);
114#endif
109 115
110 /* SPI */ 116 /* SPI */
111extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices); 117extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices);