diff options
author | Russell King <rmk@arm.linux.org.uk> | 2006-12-10 15:21:32 -0500 |
---|---|---|
committer | Jean Delvare <khali@arrakis.delvare> | 2006-12-10 15:21:32 -0500 |
commit | 6b65cd742823f78a6538491982159098ab5fcae1 (patch) | |
tree | 1ab913871887b73418583da527716df9da692419 /arch/arm/mach-versatile | |
parent | 763d9c046a2e511ec090a8986d3f85edf7448e7e (diff) |
i2c: New ARM Versatile/Realview bus driver
Add support for the I2C bus found on the ARM Versatile and Realview
platforms. The I2C bus has a RTC and optionally some EEPROMs attached.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'arch/arm/mach-versatile')
-rw-r--r-- | arch/arm/mach-versatile/core.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 57196947559f..bf71507c76fd 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -325,6 +325,19 @@ static struct platform_device smc91x_device = { | |||
325 | .resource = smc91x_resources, | 325 | .resource = smc91x_resources, |
326 | }; | 326 | }; |
327 | 327 | ||
328 | static struct resource versatile_i2c_resource = { | ||
329 | .start = VERSATILE_I2C_BASE, | ||
330 | .end = VERSATILE_I2C_BASE + SZ_4K - 1, | ||
331 | .flags = IORESOURCE_MEM, | ||
332 | }; | ||
333 | |||
334 | static struct platform_device versatile_i2c_device = { | ||
335 | .name = "versatile-i2c", | ||
336 | .id = -1, | ||
337 | .num_resources = 1, | ||
338 | .resource = &versatile_i2c_resource, | ||
339 | }; | ||
340 | |||
328 | #define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET) | 341 | #define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET) |
329 | 342 | ||
330 | unsigned int mmc_status(struct device *dev) | 343 | unsigned int mmc_status(struct device *dev) |
@@ -775,6 +788,7 @@ void __init versatile_init(void) | |||
775 | clk_register(&versatile_clcd_clk); | 788 | clk_register(&versatile_clcd_clk); |
776 | 789 | ||
777 | platform_device_register(&versatile_flash_device); | 790 | platform_device_register(&versatile_flash_device); |
791 | platform_device_register(&versatile_i2c_device); | ||
778 | platform_device_register(&smc91x_device); | 792 | platform_device_register(&smc91x_device); |
779 | 793 | ||
780 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { | 794 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { |