diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 15:33:45 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 15:33:45 -0800 | 
| commit | 6c5096e5538b455bc3bea2b02588c380f070d8c6 (patch) | |
| tree | a2d08974a0c6a6fd19dff90bd3ab1827c23a5764 /arch/arm/mach-omap2/board-zoom-peripherals.c | |
| parent | bab588fcfb6335c767d811a8955979f5440328e0 (diff) | |
| parent | f628e3d92465303792d52c98fb0c95bef558f936 (diff) | |
| download | olio-linux-3.10-6c5096e5538b455bc3bea2b02588c380f070d8c6.tar.xz olio-linux-3.10-6c5096e5538b455bc3bea2b02588c380f070d8c6.zip  | |
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board specific changes from Arnd Bergmann:
 "These updates are all for board specific code, including
   - defconfig updates for shmobile, davinci, bcm2835, imx, omap and
     tegra
   - SD/MMC and I2C support on bcm2835 (Raspberry PI)
   - minor updates for PXA
   - shmobile updates to GPIO usage in board files
   - More things in OMAP board files are moved over to device tree
     probing
   - Better support for audio devices on some OMAP platforms"
* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
  ARM: imx_v4_v5_defconfig: Add VPU support
  ARM: imx: configs: enable netfilter support
  ARM: OMAP2+: Fix twl section warnings related to omap_twl4030_audio_init
  ARM: OMAP2+: omap2plus_defconfig: enable omap1 rtc
  RX-51: Register twl4030-madc device
  RX-51: Add leds lp5523 names from Maemo 5 2.6.28 kernel
  ARM: OMAP2+: AM33XX: omap2plus_defconfig: Add support for few drivers
  ARM: OMAP1: nokia770: enable CBUS/Retu
  ARM: OMAP2+: omap2plus_defconfig: enable CMA allocator
  ARM: OMAP2+: omap2plus_defconfig: enable TFP410 chip support
  ARM: OMAP3: igep0020: simplify GPIO LEDs dependencies
  ARM: OMAP2+: craneboard: support the TPS65910 PMU
  ARM: OMAP2+: craneboard: support NAND device
  ARM: OMAP3: cm-t3517: add MMC support
  ARM: OMAP2+: Remove apollon board support
  ARM: shmobile: armadillo800eva: set clock rates before timer init
  ARM: tegra: defconfig updates
  ARM: shmobile: mackerel: Use gpio_request_one()
  ARM: shmobile: kzm9g: Use gpio_request_one()
  ARM: shmobile: bonito: Use gpio_request_one()
  ...
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom-peripherals.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 39 | 
1 files changed, 21 insertions, 18 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index dc5498b1b3a..cdc0c102186 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@ -20,6 +20,7 @@  #include <linux/wl12xx.h>  #include <linux/mmc/host.h>  #include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/omap-twl4030.h>  #include <linux/usb/phy.h>  #include <asm/mach-types.h> @@ -35,11 +36,9 @@  #include "common-board-devices.h"  #define OMAP_ZOOM_WLAN_PMENA_GPIO	(101) -#define ZOOM2_HEADSET_EXTMUTE_GPIO	(153) +#define OMAP_ZOOM_TSC2004_IRQ_GPIO	(153)  #define OMAP_ZOOM_WLAN_IRQ_GPIO		(162) -#define LCD_PANEL_ENABLE_GPIO		(7 + OMAP_MAX_GPIO_LINES) -  /* Zoom2 has Qwerty keyboard*/  static uint32_t board_keymap[] = {  	KEY(0, 0, KEY_E), @@ -227,22 +226,31 @@ static struct omap2_hsmmc_info mmc[] = {  	{}      /* Terminator */  }; +static struct omap_tw4030_pdata omap_twl4030_audio_data = { +	.voice_connected = true, +	.custom_routing	= true, + +	.has_hs		= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, +	.has_hf		= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, + +	.has_mainmic	= true, +	.has_submic	= true, +	.has_hsmic	= true, +	.has_linein	= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, +}; +  static int zoom_twl_gpio_setup(struct device *dev,  		unsigned gpio, unsigned ngpio)  { -	int ret; -  	/* gpio + 0 is "mmc0_cd" (input/IRQ) */  	mmc[0].gpio_cd = gpio + 0;  	omap_hsmmc_late_init(mmc); -	ret = gpio_request_one(LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, -			       "lcd enable"); -	if (ret) -		pr_err("Failed to get LCD_PANEL_ENABLE_GPIO (gpio%d).\n", -				LCD_PANEL_ENABLE_GPIO); +	/* Audio setup */ +	omap_twl4030_audio_data.jack_detect = gpio + 2; +	omap_twl4030_audio_init("Zoom2", &omap_twl4030_audio_data); -	return ret; +	return 0;  }  static struct twl4030_gpio_platform_data zoom_gpio_data = { @@ -265,14 +273,9 @@ static int __init omap_i2c_init(void)  			TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO,  			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); -	if (machine_is_omap_zoom2()) { -		struct twl4030_codec_data *codec_data; -		codec_data = zoom_twldata.audio->codec; +	if (machine_is_omap_zoom2()) +		zoom_twldata.audio->codec->ramp_delay_value = 3; /* 161 ms */ -		codec_data->ramp_delay_value = 3;	/* 161 ms */ -		codec_data->hs_extmute = 1; -		codec_data->hs_extmute_gpio = ZOOM2_HEADSET_EXTMUTE_GPIO; -	}  	omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata);  	omap_register_i2c_bus(2, 400, NULL, 0);  	omap_register_i2c_bus(3, 400, NULL, 0);  |