aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-rx51-peripherals.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
commite4862f2f6f5653dfb67f3ba2b6f0bc74516ed51a (patch)
tree1db5a0540a4eecfad9b7daee476b985e82ddc810 /arch/arm/mach-omap2/board-rx51-peripherals.c
parentec62dbd7eb8e3dddb221da89ecbcea0fc3dee8c1 (diff)
parentb2c1e07b81a126e5846dfc3d36f559d861df59f4 (diff)
Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I suspect now need another rename. Conflicts: arch/arm/mach-mx2/clock_imx27.c arch/arm/mach-mx2/devices.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/mach-omap2/board-zoom2.c sound/soc/fsl/mpc5200_dma.c sound/soc/fsl/mpc5200_dma.h sound/soc/fsl/mpc8610_hpcd.c sound/soc/pxa/spitz.c
Diffstat (limited to 'arch/arm/mach-omap2/board-rx51-peripherals.c')
-rw-r--r--arch/arm/mach-omap2/board-rx51-peripherals.c98
1 files changed, 60 insertions, 38 deletions
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index 28978c08bced..897d960fe16f 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -26,7 +26,6 @@
26#include <sound/tlv320aic3x.h> 26#include <sound/tlv320aic3x.h>
27 27
28#include <plat/mcspi.h> 28#include <plat/mcspi.h>
29#include <plat/mux.h>
30#include <plat/board.h> 29#include <plat/board.h>
31#include <plat/common.h> 30#include <plat/common.h>
32#include <plat/dma.h> 31#include <plat/dma.h>
@@ -34,6 +33,11 @@
34#include <plat/onenand.h> 33#include <plat/onenand.h>
35#include <plat/gpmc-smc91x.h> 34#include <plat/gpmc-smc91x.h>
36 35
36#include <sound/tlv320aic3x.h>
37#include <sound/tpa6130a2-plat.h>
38
39#include <../drivers/staging/iio/light/tsl2563.h>
40
37#include "mux.h" 41#include "mux.h"
38#include "hsmmc.h" 42#include "hsmmc.h"
39 43
@@ -52,6 +56,12 @@ enum {
52 56
53static struct wl12xx_platform_data wl1251_pdata; 57static struct wl12xx_platform_data wl1251_pdata;
54 58
59#if defined(CONFIG_SENSORS_TSL2563) || defined(CONFIG_SENSORS_TSL2563_MODULE)
60static struct tsl2563_platform_data rx51_tsl2563_platform_data = {
61 .cover_comp_gain = 16,
62};
63#endif
64
55static struct omap2_mcspi_device_config wl1251_mcspi_config = { 65static struct omap2_mcspi_device_config wl1251_mcspi_config = {
56 .turbo_mode = 0, 66 .turbo_mode = 0,
57 .single_channel = 1, 67 .single_channel = 1,
@@ -176,6 +186,10 @@ static void __init rx51_add_gpio_keys(void)
176#endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */ 186#endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */
177 187
178static int board_keymap[] = { 188static int board_keymap[] = {
189 /*
190 * Note that KEY(x, 8, KEY_XXX) entries represent "entrire row
191 * connected to the ground" matrix state.
192 */
179 KEY(0, 0, KEY_Q), 193 KEY(0, 0, KEY_Q),
180 KEY(0, 1, KEY_O), 194 KEY(0, 1, KEY_O),
181 KEY(0, 2, KEY_P), 195 KEY(0, 2, KEY_P),
@@ -183,6 +197,7 @@ static int board_keymap[] = {
183 KEY(0, 4, KEY_BACKSPACE), 197 KEY(0, 4, KEY_BACKSPACE),
184 KEY(0, 6, KEY_A), 198 KEY(0, 6, KEY_A),
185 KEY(0, 7, KEY_S), 199 KEY(0, 7, KEY_S),
200
186 KEY(1, 0, KEY_W), 201 KEY(1, 0, KEY_W),
187 KEY(1, 1, KEY_D), 202 KEY(1, 1, KEY_D),
188 KEY(1, 2, KEY_F), 203 KEY(1, 2, KEY_F),
@@ -191,6 +206,7 @@ static int board_keymap[] = {
191 KEY(1, 5, KEY_J), 206 KEY(1, 5, KEY_J),
192 KEY(1, 6, KEY_K), 207 KEY(1, 6, KEY_K),
193 KEY(1, 7, KEY_L), 208 KEY(1, 7, KEY_L),
209
194 KEY(2, 0, KEY_E), 210 KEY(2, 0, KEY_E),
195 KEY(2, 1, KEY_DOT), 211 KEY(2, 1, KEY_DOT),
196 KEY(2, 2, KEY_UP), 212 KEY(2, 2, KEY_UP),
@@ -198,6 +214,8 @@ static int board_keymap[] = {
198 KEY(2, 5, KEY_Z), 214 KEY(2, 5, KEY_Z),
199 KEY(2, 6, KEY_X), 215 KEY(2, 6, KEY_X),
200 KEY(2, 7, KEY_C), 216 KEY(2, 7, KEY_C),
217 KEY(2, 8, KEY_F9),
218
201 KEY(3, 0, KEY_R), 219 KEY(3, 0, KEY_R),
202 KEY(3, 1, KEY_V), 220 KEY(3, 1, KEY_V),
203 KEY(3, 2, KEY_B), 221 KEY(3, 2, KEY_B),
@@ -206,20 +224,23 @@ static int board_keymap[] = {
206 KEY(3, 5, KEY_SPACE), 224 KEY(3, 5, KEY_SPACE),
207 KEY(3, 6, KEY_SPACE), 225 KEY(3, 6, KEY_SPACE),
208 KEY(3, 7, KEY_LEFT), 226 KEY(3, 7, KEY_LEFT),
227
209 KEY(4, 0, KEY_T), 228 KEY(4, 0, KEY_T),
210 KEY(4, 1, KEY_DOWN), 229 KEY(4, 1, KEY_DOWN),
211 KEY(4, 2, KEY_RIGHT), 230 KEY(4, 2, KEY_RIGHT),
212 KEY(4, 4, KEY_LEFTCTRL), 231 KEY(4, 4, KEY_LEFTCTRL),
213 KEY(4, 5, KEY_RIGHTALT), 232 KEY(4, 5, KEY_RIGHTALT),
214 KEY(4, 6, KEY_LEFTSHIFT), 233 KEY(4, 6, KEY_LEFTSHIFT),
234 KEY(4, 8, KEY_F10),
235
215 KEY(5, 0, KEY_Y), 236 KEY(5, 0, KEY_Y),
237 KEY(5, 8, KEY_F11),
238
216 KEY(6, 0, KEY_U), 239 KEY(6, 0, KEY_U),
240
217 KEY(7, 0, KEY_I), 241 KEY(7, 0, KEY_I),
218 KEY(7, 1, KEY_F7), 242 KEY(7, 1, KEY_F7),
219 KEY(7, 2, KEY_F8), 243 KEY(7, 2, KEY_F8),
220 KEY(0xff, 2, KEY_F9),
221 KEY(0xff, 4, KEY_F10),
222 KEY(0xff, 5, KEY_F11),
223}; 244};
224 245
225static struct matrix_keymap_data board_map_data = { 246static struct matrix_keymap_data board_map_data = {
@@ -301,48 +322,29 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
301 {} /* Terminator */ 322 {} /* Terminator */
302}; 323};
303 324
304static struct regulator_consumer_supply rx51_vmmc1_supply = { 325static struct regulator_consumer_supply rx51_vmmc1_supply =
305 .supply = "vmmc", 326 REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.0");
306 .dev_name = "mmci-omap-hs.0",
307};
308 327
309static struct regulator_consumer_supply rx51_vaux3_supply = { 328static struct regulator_consumer_supply rx51_vaux3_supply =
310 .supply = "vmmc", 329 REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1");
311 .dev_name = "mmci-omap-hs.1",
312};
313 330
314static struct regulator_consumer_supply rx51_vsim_supply = { 331static struct regulator_consumer_supply rx51_vsim_supply =
315 .supply = "vmmc_aux", 332 REGULATOR_SUPPLY("vmmc_aux", "mmci-omap-hs.1");
316 .dev_name = "mmci-omap-hs.1",
317};
318 333
319static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { 334static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
320 /* tlv320aic3x analog supplies */ 335 /* tlv320aic3x analog supplies */
321 { 336 REGULATOR_SUPPLY("AVDD", "2-0018"),
322 .supply = "AVDD", 337 REGULATOR_SUPPLY("DRVDD", "2-0018"),
323 .dev_name = "2-0018", 338 /* tpa6130a2 */
324 }, 339 REGULATOR_SUPPLY("Vdd", "2-0060"),
325 {
326 .supply = "DRVDD",
327 .dev_name = "2-0018",
328 },
329 /* Keep vmmc as last item. It is not iterated for newer boards */ 340 /* Keep vmmc as last item. It is not iterated for newer boards */
330 { 341 REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
331 .supply = "vmmc",
332 .dev_name = "mmci-omap-hs.1",
333 },
334}; 342};
335 343
336static struct regulator_consumer_supply rx51_vio_supplies[] = { 344static struct regulator_consumer_supply rx51_vio_supplies[] = {
337 /* tlv320aic3x digital supplies */ 345 /* tlv320aic3x digital supplies */
338 { 346 REGULATOR_SUPPLY("IOVDD", "2-0018"),
339 .supply = "IOVDD", 347 REGULATOR_SUPPLY("DVDD", "2-0018"),
340 .dev_name = "2-0018"
341 },
342 {
343 .supply = "DVDD",
344 .dev_name = "2-0018"
345 },
346}; 348};
347 349
348#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) 350#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
@@ -363,6 +365,7 @@ static struct regulator_init_data rx51_vaux1 = {
363 .name = "V28", 365 .name = "V28",
364 .min_uV = 2800000, 366 .min_uV = 2800000,
365 .max_uV = 2800000, 367 .max_uV = 2800000,
368 .always_on = true, /* due battery cover sensor */
366 .valid_modes_mask = REGULATOR_MODE_NORMAL 369 .valid_modes_mask = REGULATOR_MODE_NORMAL
367 | REGULATOR_MODE_STANDBY, 370 | REGULATOR_MODE_STANDBY,
368 .valid_ops_mask = REGULATOR_CHANGE_MODE 371 .valid_ops_mask = REGULATOR_CHANGE_MODE
@@ -707,6 +710,15 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
707 .vio = &rx51_vio, 710 .vio = &rx51_vio,
708}; 711};
709 712
713static struct aic3x_pdata rx51_aic3x_data __initdata = {
714 .gpio_reset = 60,
715};
716
717static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = {
718 .id = TPA6130A2,
719 .power_gpio = 98,
720};
721
710static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { 722static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
711 { 723 {
712 I2C_BOARD_INFO("twl5030", 0x48), 724 I2C_BOARD_INFO("twl5030", 0x48),
@@ -722,7 +734,7 @@ static struct aic3x_setup_data rx51_aic34_setup = {
722 .gpio_func[1] = AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT, 734 .gpio_func[1] = AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT,
723}; 735};
724 736
725static struct aic3x_pdata rx51_aic34_data = { 737static struct aic3x_pdata rx51_aic3x_data = {
726 .setup = &rx51_aic34_setup, 738 .setup = &rx51_aic34_setup,
727 .gpio_reset = 60, 739 .gpio_reset = 60,
728}; 740};
@@ -730,8 +742,18 @@ static struct aic3x_pdata rx51_aic34_data = {
730static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = { 742static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
731 { 743 {
732 I2C_BOARD_INFO("tlv320aic3x", 0x18), 744 I2C_BOARD_INFO("tlv320aic3x", 0x18),
733 .platform_data = &rx51_aic34_data, 745 .platform_data = &rx51_aic3x_data,
734 }, 746 },
747#if defined(CONFIG_SENSORS_TSL2563) || defined(CONFIG_SENSORS_TSL2563_MODULE)
748 {
749 I2C_BOARD_INFO("tsl2563", 0x29),
750 .platform_data = &rx51_tsl2563_platform_data,
751 },
752#endif
753 {
754 I2C_BOARD_INFO("tpa6130a2", 0x60),
755 .platform_data = &rx51_tpa6130a2_data,
756 }
735}; 757};
736 758
737static int __init rx51_i2c_init(void) 759static int __init rx51_i2c_init(void)