diff options
-rw-r--r-- | arch/arm/mach-at91/board-sam9260ek.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9263ek.c | 21 |
2 files changed, 39 insertions, 2 deletions
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c index cb20e70b3b06..0a53c038b518 100644 --- a/arch/arm/mach-at91/board-sam9260ek.c +++ b/arch/arm/mach-at91/board-sam9260ek.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
28 | #include <linux/spi/at73c213.h> | 28 | #include <linux/spi/at73c213.h> |
29 | #include <linux/clk.h> | 29 | #include <linux/clk.h> |
30 | #include <linux/i2c/at24.h> | ||
30 | 31 | ||
31 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
32 | #include <asm/setup.h> | 33 | #include <asm/setup.h> |
@@ -222,6 +223,23 @@ static struct gpio_led ek_leds[] = { | |||
222 | } | 223 | } |
223 | }; | 224 | }; |
224 | 225 | ||
226 | /* | ||
227 | * I2C devices | ||
228 | */ | ||
229 | static struct at24_platform_data at24c512 = { | ||
230 | .byte_len = SZ_512K / 8, | ||
231 | .page_size = 128, | ||
232 | .flags = AT24_FLAG_ADDR16, | ||
233 | }; | ||
234 | |||
235 | static struct i2c_board_info __initdata ek_i2c_devices[] = { | ||
236 | { | ||
237 | I2C_BOARD_INFO("24c512", 0x50), | ||
238 | .platform_data = &at24c512, | ||
239 | }, | ||
240 | /* more devices can be added using expansion connectors */ | ||
241 | }; | ||
242 | |||
225 | static void __init ek_board_init(void) | 243 | static void __init ek_board_init(void) |
226 | { | 244 | { |
227 | /* Serial */ | 245 | /* Serial */ |
@@ -239,7 +257,7 @@ static void __init ek_board_init(void) | |||
239 | /* MMC */ | 257 | /* MMC */ |
240 | at91_add_device_mmc(0, &ek_mmc_data); | 258 | at91_add_device_mmc(0, &ek_mmc_data); |
241 | /* I2C */ | 259 | /* I2C */ |
242 | at91_add_device_i2c(NULL, 0); | 260 | at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); |
243 | /* SSC (to AT73C213) */ | 261 | /* SSC (to AT73C213) */ |
244 | at73c213_set_clk(&at73c213_data); | 262 | at73c213_set_clk(&at73c213_data); |
245 | at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX); | 263 | at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX); |
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c index b1d11960a735..c51f2eb3874b 100644 --- a/arch/arm/mach-at91/board-sam9263ek.c +++ b/arch/arm/mach-at91/board-sam9263ek.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
27 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
28 | #include <linux/spi/ads7846.h> | 28 | #include <linux/spi/ads7846.h> |
29 | #include <linux/i2c/at24.h> | ||
29 | #include <linux/fb.h> | 30 | #include <linux/fb.h> |
30 | #include <linux/gpio_keys.h> | 31 | #include <linux/gpio_keys.h> |
31 | #include <linux/input.h> | 32 | #include <linux/input.h> |
@@ -203,6 +204,24 @@ static struct atmel_nand_data __initdata ek_nand_data = { | |||
203 | 204 | ||
204 | 205 | ||
205 | /* | 206 | /* |
207 | * I2C devices | ||
208 | */ | ||
209 | static struct at24_platform_data at24c512 = { | ||
210 | .byte_len = SZ_512K / 8, | ||
211 | .page_size = 128, | ||
212 | .flags = AT24_FLAG_ADDR16, | ||
213 | }; | ||
214 | |||
215 | |||
216 | static struct i2c_board_info __initdata ek_i2c_devices[] = { | ||
217 | { | ||
218 | I2C_BOARD_INFO("24c512", 0x50), | ||
219 | .platform_data = &at24c512, | ||
220 | }, | ||
221 | /* more devices can be added using expansion connectors */ | ||
222 | }; | ||
223 | |||
224 | /* | ||
206 | * LCD Controller | 225 | * LCD Controller |
207 | */ | 226 | */ |
208 | #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) | 227 | #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) |
@@ -360,7 +379,7 @@ static void __init ek_board_init(void) | |||
360 | /* NAND */ | 379 | /* NAND */ |
361 | at91_add_device_nand(&ek_nand_data); | 380 | at91_add_device_nand(&ek_nand_data); |
362 | /* I2C */ | 381 | /* I2C */ |
363 | at91_add_device_i2c(NULL, 0); | 382 | at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); |
364 | /* LCD Controller */ | 383 | /* LCD Controller */ |
365 | at91_add_device_lcdc(&ek_lcdc_data); | 384 | at91_add_device_lcdc(&ek_lcdc_data); |
366 | /* Push Buttons */ | 385 | /* Push Buttons */ |