diff options
Diffstat (limited to 'arch/arm/mach-omap2/common-board-devices.c')
-rw-r--r-- | arch/arm/mach-omap2/common-board-devices.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c index fad41ec6230..cea31dda3a7 100644 --- a/arch/arm/mach-omap2/common-board-devices.c +++ b/arch/arm/mach-omap2/common-board-devices.c | |||
@@ -20,14 +20,35 @@ | |||
20 | * | 20 | * |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include <linux/i2c.h> | ||
24 | #include <linux/i2c/twl.h> | ||
25 | |||
23 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
24 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
25 | #include <linux/spi/ads7846.h> | 28 | #include <linux/spi/ads7846.h> |
26 | 29 | ||
30 | #include <plat/i2c.h> | ||
27 | #include <plat/mcspi.h> | 31 | #include <plat/mcspi.h> |
28 | 32 | ||
29 | #include "common-board-devices.h" | 33 | #include "common-board-devices.h" |
30 | 34 | ||
35 | static struct i2c_board_info __initdata pmic_i2c_board_info = { | ||
36 | .addr = 0x48, | ||
37 | .flags = I2C_CLIENT_WAKE, | ||
38 | }; | ||
39 | |||
40 | void __init omap_pmic_init(int bus, u32 clkrate, | ||
41 | const char *pmic_type, int pmic_irq, | ||
42 | struct twl4030_platform_data *pmic_data) | ||
43 | { | ||
44 | strncpy(pmic_i2c_board_info.type, pmic_type, | ||
45 | sizeof(pmic_i2c_board_info.type)); | ||
46 | pmic_i2c_board_info.irq = pmic_irq; | ||
47 | pmic_i2c_board_info.platform_data = pmic_data; | ||
48 | |||
49 | omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1); | ||
50 | } | ||
51 | |||
31 | static struct omap2_mcspi_device_config ads7846_mcspi_config = { | 52 | static struct omap2_mcspi_device_config ads7846_mcspi_config = { |
32 | .turbo_mode = 0, | 53 | .turbo_mode = 0, |
33 | .single_channel = 1, /* 0: slave, 1: master */ | 54 | .single_channel = 1, /* 0: slave, 1: master */ |