diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-rx51-peripherals.c')
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 78 |
1 files changed, 45 insertions, 33 deletions
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 03483920ed6e..9a5eb87425fc 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/mmc/host.h> | 25 | #include <linux/mmc/host.h> |
26 | 26 | ||
27 | #include <plat/mcspi.h> | 27 | #include <plat/mcspi.h> |
28 | #include <plat/mux.h> | ||
29 | #include <plat/board.h> | 28 | #include <plat/board.h> |
30 | #include <plat/common.h> | 29 | #include <plat/common.h> |
31 | #include <plat/dma.h> | 30 | #include <plat/dma.h> |
@@ -33,6 +32,11 @@ | |||
33 | #include <plat/onenand.h> | 32 | #include <plat/onenand.h> |
34 | #include <plat/gpmc-smc91x.h> | 33 | #include <plat/gpmc-smc91x.h> |
35 | 34 | ||
35 | #include <sound/tlv320aic3x.h> | ||
36 | #include <sound/tpa6130a2-plat.h> | ||
37 | |||
38 | #include <../drivers/staging/iio/light/tsl2563.h> | ||
39 | |||
36 | #include "mux.h" | 40 | #include "mux.h" |
37 | #include "hsmmc.h" | 41 | #include "hsmmc.h" |
38 | 42 | ||
@@ -51,6 +55,12 @@ enum { | |||
51 | 55 | ||
52 | static struct wl12xx_platform_data wl1251_pdata; | 56 | static struct wl12xx_platform_data wl1251_pdata; |
53 | 57 | ||
58 | #if defined(CONFIG_SENSORS_TSL2563) || defined(CONFIG_SENSORS_TSL2563_MODULE) | ||
59 | static struct tsl2563_platform_data rx51_tsl2563_platform_data = { | ||
60 | .cover_comp_gain = 16, | ||
61 | }; | ||
62 | #endif | ||
63 | |||
54 | static struct omap2_mcspi_device_config wl1251_mcspi_config = { | 64 | static struct omap2_mcspi_device_config wl1251_mcspi_config = { |
55 | .turbo_mode = 0, | 65 | .turbo_mode = 0, |
56 | .single_channel = 1, | 66 | .single_channel = 1, |
@@ -311,48 +321,29 @@ static struct omap2_hsmmc_info mmc[] __initdata = { | |||
311 | {} /* Terminator */ | 321 | {} /* Terminator */ |
312 | }; | 322 | }; |
313 | 323 | ||
314 | static struct regulator_consumer_supply rx51_vmmc1_supply = { | 324 | static struct regulator_consumer_supply rx51_vmmc1_supply = |
315 | .supply = "vmmc", | 325 | REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.0"); |
316 | .dev_name = "mmci-omap-hs.0", | ||
317 | }; | ||
318 | 326 | ||
319 | static struct regulator_consumer_supply rx51_vaux3_supply = { | 327 | static struct regulator_consumer_supply rx51_vaux3_supply = |
320 | .supply = "vmmc", | 328 | REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"); |
321 | .dev_name = "mmci-omap-hs.1", | ||
322 | }; | ||
323 | 329 | ||
324 | static struct regulator_consumer_supply rx51_vsim_supply = { | 330 | static struct regulator_consumer_supply rx51_vsim_supply = |
325 | .supply = "vmmc_aux", | 331 | REGULATOR_SUPPLY("vmmc_aux", "mmci-omap-hs.1"); |
326 | .dev_name = "mmci-omap-hs.1", | ||
327 | }; | ||
328 | 332 | ||
329 | static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { | 333 | static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { |
330 | /* tlv320aic3x analog supplies */ | 334 | /* tlv320aic3x analog supplies */ |
331 | { | 335 | REGULATOR_SUPPLY("AVDD", "2-0018"), |
332 | .supply = "AVDD", | 336 | REGULATOR_SUPPLY("DRVDD", "2-0018"), |
333 | .dev_name = "2-0018", | 337 | /* tpa6130a2 */ |
334 | }, | 338 | REGULATOR_SUPPLY("Vdd", "2-0060"), |
335 | { | ||
336 | .supply = "DRVDD", | ||
337 | .dev_name = "2-0018", | ||
338 | }, | ||
339 | /* Keep vmmc as last item. It is not iterated for newer boards */ | 339 | /* Keep vmmc as last item. It is not iterated for newer boards */ |
340 | { | 340 | REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"), |
341 | .supply = "vmmc", | ||
342 | .dev_name = "mmci-omap-hs.1", | ||
343 | }, | ||
344 | }; | 341 | }; |
345 | 342 | ||
346 | static struct regulator_consumer_supply rx51_vio_supplies[] = { | 343 | static struct regulator_consumer_supply rx51_vio_supplies[] = { |
347 | /* tlv320aic3x digital supplies */ | 344 | /* tlv320aic3x digital supplies */ |
348 | { | 345 | REGULATOR_SUPPLY("IOVDD", "2-0018"), |
349 | .supply = "IOVDD", | 346 | REGULATOR_SUPPLY("DVDD", "2-0018"), |
350 | .dev_name = "2-0018" | ||
351 | }, | ||
352 | { | ||
353 | .supply = "DVDD", | ||
354 | .dev_name = "2-0018" | ||
355 | }, | ||
356 | }; | 347 | }; |
357 | 348 | ||
358 | #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) | 349 | #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) |
@@ -373,6 +364,7 @@ static struct regulator_init_data rx51_vaux1 = { | |||
373 | .name = "V28", | 364 | .name = "V28", |
374 | .min_uV = 2800000, | 365 | .min_uV = 2800000, |
375 | .max_uV = 2800000, | 366 | .max_uV = 2800000, |
367 | .always_on = true, /* due battery cover sensor */ | ||
376 | .valid_modes_mask = REGULATOR_MODE_NORMAL | 368 | .valid_modes_mask = REGULATOR_MODE_NORMAL |
377 | | REGULATOR_MODE_STANDBY, | 369 | | REGULATOR_MODE_STANDBY, |
378 | .valid_ops_mask = REGULATOR_CHANGE_MODE | 370 | .valid_ops_mask = REGULATOR_CHANGE_MODE |
@@ -718,6 +710,15 @@ static struct twl4030_platform_data rx51_twldata __initdata = { | |||
718 | .vio = &rx51_vio, | 710 | .vio = &rx51_vio, |
719 | }; | 711 | }; |
720 | 712 | ||
713 | static struct aic3x_pdata rx51_aic3x_data __initdata = { | ||
714 | .gpio_reset = 60, | ||
715 | }; | ||
716 | |||
717 | static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = { | ||
718 | .id = TPA6130A2, | ||
719 | .power_gpio = 98, | ||
720 | }; | ||
721 | |||
721 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { | 722 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { |
722 | { | 723 | { |
723 | I2C_BOARD_INFO("twl5030", 0x48), | 724 | I2C_BOARD_INFO("twl5030", 0x48), |
@@ -730,7 +731,18 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { | |||
730 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = { | 731 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = { |
731 | { | 732 | { |
732 | I2C_BOARD_INFO("tlv320aic3x", 0x18), | 733 | I2C_BOARD_INFO("tlv320aic3x", 0x18), |
734 | .platform_data = &rx51_aic3x_data, | ||
735 | }, | ||
736 | #if defined(CONFIG_SENSORS_TSL2563) || defined(CONFIG_SENSORS_TSL2563_MODULE) | ||
737 | { | ||
738 | I2C_BOARD_INFO("tsl2563", 0x29), | ||
739 | .platform_data = &rx51_tsl2563_platform_data, | ||
733 | }, | 740 | }, |
741 | #endif | ||
742 | { | ||
743 | I2C_BOARD_INFO("tpa6130a2", 0x60), | ||
744 | .platform_data = &rx51_tpa6130a2_data, | ||
745 | } | ||
734 | }; | 746 | }; |
735 | 747 | ||
736 | static int __init rx51_i2c_init(void) | 748 | static int __init rx51_i2c_init(void) |