diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 13:39:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 13:39:14 -0500 |
commit | d33a6291c1c577ff2272edab7416a0f7308e1cef (patch) | |
tree | 9efd2f6f2fbb0586af72531110acdf9e769285ab /arch/arm/mach-omap2/board-zoom-peripherals.c | |
parent | 66dc918d42eaaa9afe42a47d07526765162017a9 (diff) | |
parent | f00117a78341e330eecebdfe74cce345ed068802 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (29 commits)
video: move SH_MIPI_DSI/SH_LCD_MIPI_DSI to the top of menu
fbdev: Implement simple blanking in pseudocolor modes for vt8500lcdfb
video: imx: Update the manufacturer's name
nuc900fb: don't treat NULL clk as an error
s3c2410fb: don't treat NULL clk as an error
video: tidy up modedb formatting.
video: matroxfb: Correct video option in comments and kernel config help.
fbdev: sh_mobile_hdmi: simplify pointer handling
fbdev: sh_mobile_hdmi: framebuffer notifiers have to be registered
fbdev: sh_mobile_hdmi: add command line option to use the preferred EDID mode
OMAP: DSS2: Introduce omap_channel as an omap_dss_device parameter, add new overlay manager.
OMAP: DSS2: Use dss_features to handle DISPC bits removed on OMAP4
OMAP: DSS2: LCD2 Channel Changes for DISPC
OMAP: DSS2: Change remaining DISPC functions for new omap_channel argument
OMAP: DSS2: Introduce omap_channel argument to DISPC functions used by interface drivers
OMAP: DSS2: Represent DISPC register defines with channel as parameter
OMAP: DSS2: Add dss_features for omap4 and overlay manager related features
OMAP: DSS2: Clean up DISPC color mode validation checks
OMAP: DSS2: Add back authors of panel-generic.c based drivers
OMAP: DSS2: remove generic DPI panel driver duplicated panel drivers
...
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom-peripherals.c')
-rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 3fbd0edd712..14d95afa3f0 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c | |||
@@ -35,6 +35,8 @@ | |||
35 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) | 35 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) |
36 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) | 36 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) |
37 | 37 | ||
38 | #define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES) | ||
39 | |||
38 | /* Zoom2 has Qwerty keyboard*/ | 40 | /* Zoom2 has Qwerty keyboard*/ |
39 | static uint32_t board_keymap[] = { | 41 | static uint32_t board_keymap[] = { |
40 | KEY(0, 0, KEY_E), | 42 | KEY(0, 0, KEY_E), |
@@ -224,9 +226,43 @@ static struct omap2_hsmmc_info mmc[] = { | |||
224 | {} /* Terminator */ | 226 | {} /* Terminator */ |
225 | }; | 227 | }; |
226 | 228 | ||
229 | static struct regulator_consumer_supply zoom_vpll2_supply = | ||
230 | REGULATOR_SUPPLY("vdds_dsi", "omapdss"); | ||
231 | |||
232 | static struct regulator_consumer_supply zoom_vdda_dac_supply = | ||
233 | REGULATOR_SUPPLY("vdda_dac", "omapdss"); | ||
234 | |||
235 | static struct regulator_init_data zoom_vpll2 = { | ||
236 | .constraints = { | ||
237 | .min_uV = 1800000, | ||
238 | .max_uV = 1800000, | ||
239 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
240 | | REGULATOR_MODE_STANDBY, | ||
241 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
242 | | REGULATOR_CHANGE_STATUS, | ||
243 | }, | ||
244 | .num_consumer_supplies = 1, | ||
245 | .consumer_supplies = &zoom_vpll2_supply, | ||
246 | }; | ||
247 | |||
248 | static struct regulator_init_data zoom_vdac = { | ||
249 | .constraints = { | ||
250 | .min_uV = 1800000, | ||
251 | .max_uV = 1800000, | ||
252 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
253 | | REGULATOR_MODE_STANDBY, | ||
254 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
255 | | REGULATOR_CHANGE_STATUS, | ||
256 | }, | ||
257 | .num_consumer_supplies = 1, | ||
258 | .consumer_supplies = &zoom_vdda_dac_supply, | ||
259 | }; | ||
260 | |||
227 | static int zoom_twl_gpio_setup(struct device *dev, | 261 | static int zoom_twl_gpio_setup(struct device *dev, |
228 | unsigned gpio, unsigned ngpio) | 262 | unsigned gpio, unsigned ngpio) |
229 | { | 263 | { |
264 | int ret; | ||
265 | |||
230 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 266 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
231 | mmc[0].gpio_cd = gpio + 0; | 267 | mmc[0].gpio_cd = gpio + 0; |
232 | omap2_hsmmc_init(mmc); | 268 | omap2_hsmmc_init(mmc); |
@@ -238,7 +274,15 @@ static int zoom_twl_gpio_setup(struct device *dev, | |||
238 | zoom_vsim_supply.dev = mmc[0].dev; | 274 | zoom_vsim_supply.dev = mmc[0].dev; |
239 | zoom_vmmc2_supply.dev = mmc[1].dev; | 275 | zoom_vmmc2_supply.dev = mmc[1].dev; |
240 | 276 | ||
241 | return 0; | 277 | ret = gpio_request(LCD_PANEL_ENABLE_GPIO, "lcd enable"); |
278 | if (ret) { | ||
279 | pr_err("Failed to get LCD_PANEL_ENABLE_GPIO (gpio%d).\n", | ||
280 | LCD_PANEL_ENABLE_GPIO); | ||
281 | return ret; | ||
282 | } | ||
283 | gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0); | ||
284 | |||
285 | return ret; | ||
242 | } | 286 | } |
243 | 287 | ||
244 | /* EXTMUTE callback function */ | 288 | /* EXTMUTE callback function */ |
@@ -301,7 +345,8 @@ static struct twl4030_platform_data zoom_twldata = { | |||
301 | .vmmc1 = &zoom_vmmc1, | 345 | .vmmc1 = &zoom_vmmc1, |
302 | .vmmc2 = &zoom_vmmc2, | 346 | .vmmc2 = &zoom_vmmc2, |
303 | .vsim = &zoom_vsim, | 347 | .vsim = &zoom_vsim, |
304 | 348 | .vpll2 = &zoom_vpll2, | |
349 | .vdac = &zoom_vdac, | ||
305 | }; | 350 | }; |
306 | 351 | ||
307 | static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = { | 352 | static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = { |