diff options
author | Mike Rapoport <mike@compulab.co.il> | 2011-04-24 18:09:06 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-05-03 05:51:45 -0400 |
commit | fbd8071c188e3053fb318d78214e54d4615d93f2 (patch) | |
tree | f95630f09350122e503701e8c4af14fec2b978a6 /arch/arm/mach-omap2/common-board-devices.c | |
parent | 96974a249b0cf3537f49115a59be67e2c54f315c (diff) |
omap: use common initialization for PMIC i2c bus
Introduce omap_pmic_init that registers i2c bus and PMIC device on that
bus and add omap2/3/4 wrappers for common cases.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
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 fad41ec62300..cea31dda3a73 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 */ |