mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
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 <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
This commit is contained in:
parent
763d9c046a
commit
6b65cd7428
7 changed files with 194 additions and 0 deletions
|
|
@ -141,6 +141,19 @@ struct platform_device realview_smc91x_device = {
|
|||
.resource = realview_smc91x_resources,
|
||||
};
|
||||
|
||||
static struct resource realview_i2c_resource = {
|
||||
.start = REALVIEW_I2C_BASE,
|
||||
.end = REALVIEW_I2C_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
struct platform_device realview_i2c_device = {
|
||||
.name = "versatile-i2c",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &realview_i2c_resource,
|
||||
};
|
||||
|
||||
#define REALVIEW_SYSMCI (__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_MCI_OFFSET)
|
||||
|
||||
static unsigned int realview_mmc_status(struct device *dev)
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ static struct amba_device name##_device = { \
|
|||
|
||||
extern struct platform_device realview_flash_device;
|
||||
extern struct platform_device realview_smc91x_device;
|
||||
extern struct platform_device realview_i2c_device;
|
||||
extern struct mmc_platform_data realview_mmc0_plat_data;
|
||||
extern struct mmc_platform_data realview_mmc1_plat_data;
|
||||
extern struct clk realview_clcd_clk;
|
||||
|
|
|
|||
|
|
@ -155,6 +155,7 @@ static void __init realview_eb_init(void)
|
|||
|
||||
platform_device_register(&realview_flash_device);
|
||||
platform_device_register(&realview_smc91x_device);
|
||||
platform_device_register(&realview_i2c_device);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
struct amba_device *d = amba_devs[i];
|
||||
|
|
|
|||
|
|
@ -325,6 +325,19 @@ static struct platform_device smc91x_device = {
|
|||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
static struct resource versatile_i2c_resource = {
|
||||
.start = VERSATILE_I2C_BASE,
|
||||
.end = VERSATILE_I2C_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device versatile_i2c_device = {
|
||||
.name = "versatile-i2c",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &versatile_i2c_resource,
|
||||
};
|
||||
|
||||
#define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
|
||||
|
||||
unsigned int mmc_status(struct device *dev)
|
||||
|
|
@ -775,6 +788,7 @@ void __init versatile_init(void)
|
|||
clk_register(&versatile_clcd_clk);
|
||||
|
||||
platform_device_register(&versatile_flash_device);
|
||||
platform_device_register(&versatile_i2c_device);
|
||||
platform_device_register(&smc91x_device);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue