diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2009-06-26 10:36:58 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-06-27 06:05:22 -0400 |
commit | 789b23bc40a67d9a19bedc2655c6bcab79bcabd8 (patch) | |
tree | 01b47924223763d33034ca7d6ec85f102fd5fcc0 /arch/arm/mach-at91/include | |
parent | fddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc (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.h | 8 |
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 | }; |
81 | extern void __init at91_add_device_eth(struct at91_eth_data *data); | 81 | extern 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 | }; |
92 | extern void __init at91_add_device_usbh(struct at91_usbh_data *data); | 93 | extern void __init at91_add_device_usbh(struct at91_usbh_data *data); |
94 | extern void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data); | ||
93 | 95 | ||
94 | /* NAND / SmartMedia */ | 96 | /* NAND / SmartMedia */ |
95 | struct atmel_nand_data { | 97 | struct atmel_nand_data { |
@@ -105,7 +107,11 @@ struct atmel_nand_data { | |||
105 | extern void __init at91_add_device_nand(struct atmel_nand_data *data); | 107 | extern void __init at91_add_device_nand(struct atmel_nand_data *data); |
106 | 108 | ||
107 | /* I2C*/ | 109 | /* I2C*/ |
110 | #if defined(CONFIG_ARCH_AT91SAM9G45) | ||
111 | extern void __init at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices); | ||
112 | #else | ||
108 | extern void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices); | 113 | extern void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices); |
114 | #endif | ||
109 | 115 | ||
110 | /* SPI */ | 116 | /* SPI */ |
111 | extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices); | 117 | extern void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices); |