diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-08 18:07:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-08 18:07:14 -0400 |
commit | f5a246eab9a268f51ba8189ea5b098a1bfff200e (patch) | |
tree | a6ff7169e0bcaca498d9aec8b0624de1b74eaecb /arch/arm/mach-imx | |
parent | d5bbd43d5f450c3fca058f5b85f3dfb4e8cc88c9 (diff) | |
parent | 7ff34ad80b7080fafaac8efa9ef0061708eddd51 (diff) |
Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"This contains pretty many small commits covering fairly large range of
files in sound/ directory. Partly because of additional API support
and partly because of constantly developed ASoC and ARM stuff.
Some highlights:
- Introduced the helper function and documentation for exposing the
channel map via control API, as discussed in Plumbers; most of PCI
drivers are covered, will follow more drivers later
- Most of drivers have been replaced with the new PM callbacks (if
the bus is supported)
- HD-audio controller got the support of runtime PM and the support
of D3 clock-stop. Also changing the power_save option in sysfs
kicks off immediately to enable / disable the power-save mode.
- Another significant code change in HD-audio is the rewrite of
firmware loading code. Other than that, most of changes in
HD-audio are continued cleanups and standardization for the generic
auto parser and bug fixes (HBR, device-specific fixups), in
addition to the support of channel-map API.
- Addition of ASoC bindings for the compressed API, used by the
mid-x86 drivers.
- Lots of cleanups and API refreshes for ASoC codec drivers and
DaVinci.
- Conversion of OMAP to dmaengine.
- New machine driver for Wolfson Microelectronics Bells.
- New CODEC driver for Wolfson Microelectronics WM0010.
- Enhancements to the ux500 and wm2000 drivers
- A new driver for DA9055 and the support for regulator bypass mode."
Fix up various arm soc header file reorg conflicts.
* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
ALSA: hda - Add new codec ALC283 ALC290 support
ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
ALSA: hda - fix indices on boost volume on Conexant
ALSA: aloop - add locking to timer access
ALSA: hda - Fix hang caused by race during suspend.
sound: Remove unnecessary semicolon
ALSA: hda/realtek - Fix detection of ALC271X codec
ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
ALSA: hda - make a generic unsol event handler
ASoC: codecs: Add DA9055 codec driver
ASoC: eukrea-tlv320: Convert it to platform driver
ALSA: ASoC: add DT bindings for CS4271
ASoC: wm_hubs: Ensure volume updates are handled during class W startup
ASoC: wm5110: Adding missing volume update bits
ASoC: wm5110: Add OUT3R support
ASoC: wm5110: Add AEC loopback support
ASoC: wm5110: Rename EPOUT to HPOUT3
ASoC: arizona: Add more clock rates
ASoC: arizona: Add more DSP options for mixer input muxes
...
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 42 |
5 files changed, 45 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c index fd3177f9e79a..98aef571b9f8 100644 --- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | |||
@@ -348,4 +348,5 @@ void __init eukrea_mbimx27_baseboard_init(void) | |||
348 | imx27_add_imx_keypad(&eukrea_mbimx27_keymap_data); | 348 | imx27_add_imx_keypad(&eukrea_mbimx27_keymap_data); |
349 | 349 | ||
350 | gpio_led_register_device(-1, &eukrea_mbimx27_gpio_led_info); | 350 | gpio_led_register_device(-1, &eukrea_mbimx27_gpio_led_info); |
351 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
351 | } | 352 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c index dfd2da87c2df..0b84666792f0 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | |||
@@ -306,4 +306,5 @@ void __init eukrea_mbimxsd25_baseboard_init(void) | |||
306 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 306 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
307 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); | 307 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); |
308 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); | 308 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); |
309 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
309 | } | 310 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index 6e9dd12a6961..c6532a007d46 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | |||
@@ -315,4 +315,5 @@ void __init eukrea_mbimxsd35_baseboard_init(void) | |||
315 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 315 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
316 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); | 316 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); |
317 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); | 317 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); |
318 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
318 | } | 319 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c index 96a24b73dc23..8b0de30d7a3f 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c | |||
@@ -228,4 +228,5 @@ void __init eukrea_mbimxsd51_baseboard_init(void) | |||
228 | 228 | ||
229 | gpio_led_register_device(-1, &eukrea_mbimxsd51_led_info); | 229 | gpio_led_register_device(-1, &eukrea_mbimxsd51_led_info); |
230 | imx_add_gpio_keys(&eukrea_mbimxsd51_button_data); | 230 | imx_add_gpio_keys(&eukrea_mbimxsd51_button_data); |
231 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
231 | } | 232 | } |
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 821d6aac411c..141756f00ae5 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/delay.h> | 32 | #include <linux/delay.h> |
33 | #include <linux/dma-mapping.h> | 33 | #include <linux/dma-mapping.h> |
34 | #include <linux/leds.h> | 34 | #include <linux/leds.h> |
35 | #include <linux/platform_data/asoc-mx27vis.h> | ||
35 | #include <media/soc_camera.h> | 36 | #include <media/soc_camera.h> |
36 | #include <sound/tlv320aic32x4.h> | 37 | #include <sound/tlv320aic32x4.h> |
37 | #include <asm/mach-types.h> | 38 | #include <asm/mach-types.h> |
@@ -58,6 +59,11 @@ | |||
58 | #define EXPBOARD_BIT1 (GPIO_PORTD + 27) | 59 | #define EXPBOARD_BIT1 (GPIO_PORTD + 27) |
59 | #define EXPBOARD_BIT0 (GPIO_PORTD + 28) | 60 | #define EXPBOARD_BIT0 (GPIO_PORTD + 28) |
60 | 61 | ||
62 | #define AMP_GAIN_0 (GPIO_PORTF + 9) | ||
63 | #define AMP_GAIN_1 (GPIO_PORTF + 8) | ||
64 | #define AMP_MUTE_SDL (GPIO_PORTE + 5) | ||
65 | #define AMP_MUTE_SDR (GPIO_PORTF + 7) | ||
66 | |||
61 | static const int visstrim_m10_pins[] __initconst = { | 67 | static const int visstrim_m10_pins[] __initconst = { |
62 | /* UART1 (console) */ | 68 | /* UART1 (console) */ |
63 | PE12_PF_UART1_TXD, | 69 | PE12_PF_UART1_TXD, |
@@ -139,6 +145,11 @@ static const int visstrim_m10_pins[] __initconst = { | |||
139 | EXPBOARD_BIT2 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, | 145 | EXPBOARD_BIT2 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, |
140 | EXPBOARD_BIT1 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, | 146 | EXPBOARD_BIT1 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, |
141 | EXPBOARD_BIT0 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, | 147 | EXPBOARD_BIT0 | GPIO_GPIO | GPIO_IN | GPIO_PUEN, |
148 | /* Audio AMP control */ | ||
149 | AMP_GAIN_0 | GPIO_GPIO | GPIO_OUT, | ||
150 | AMP_GAIN_1 | GPIO_GPIO | GPIO_OUT, | ||
151 | AMP_MUTE_SDL | GPIO_GPIO | GPIO_OUT, | ||
152 | AMP_MUTE_SDR | GPIO_GPIO | GPIO_OUT, | ||
142 | }; | 153 | }; |
143 | 154 | ||
144 | static struct gpio visstrim_m10_version_gpios[] = { | 155 | static struct gpio visstrim_m10_version_gpios[] = { |
@@ -166,6 +177,26 @@ static const struct gpio visstrim_m10_gpios[] __initconst = { | |||
166 | .flags = GPIOF_DIR_OUT | GPIOF_INIT_LOW, | 177 | .flags = GPIOF_DIR_OUT | GPIOF_INIT_LOW, |
167 | .label = "usbotg_cs", | 178 | .label = "usbotg_cs", |
168 | }, | 179 | }, |
180 | { | ||
181 | .gpio = AMP_GAIN_0, | ||
182 | .flags = GPIOF_DIR_OUT, | ||
183 | .label = "amp-gain-0", | ||
184 | }, | ||
185 | { | ||
186 | .gpio = AMP_GAIN_1, | ||
187 | .flags = GPIOF_DIR_OUT, | ||
188 | .label = "amp-gain-1", | ||
189 | }, | ||
190 | { | ||
191 | .gpio = AMP_MUTE_SDL, | ||
192 | .flags = GPIOF_DIR_OUT, | ||
193 | .label = "amp-mute-sdl", | ||
194 | }, | ||
195 | { | ||
196 | .gpio = AMP_MUTE_SDR, | ||
197 | .flags = GPIOF_DIR_OUT, | ||
198 | .label = "amp-mute-sdr", | ||
199 | }, | ||
169 | }; | 200 | }; |
170 | 201 | ||
171 | /* Camera */ | 202 | /* Camera */ |
@@ -444,6 +475,14 @@ static void __init visstrim_deinterlace_init(void) | |||
444 | } | 475 | } |
445 | 476 | ||
446 | 477 | ||
478 | /* Audio */ | ||
479 | static const struct snd_mx27vis_platform_data snd_mx27vis_pdata __initconst = { | ||
480 | .amp_gain0_gpio = AMP_GAIN_0, | ||
481 | .amp_gain1_gpio = AMP_GAIN_1, | ||
482 | .amp_mutel_gpio = AMP_MUTE_SDL, | ||
483 | .amp_muter_gpio = AMP_MUTE_SDR, | ||
484 | }; | ||
485 | |||
447 | static void __init visstrim_m10_revision(void) | 486 | static void __init visstrim_m10_revision(void) |
448 | { | 487 | { |
449 | int exp_version = 0; | 488 | int exp_version = 0; |
@@ -502,7 +541,8 @@ static void __init visstrim_m10_board_init(void) | |||
502 | imx27_add_fec(NULL); | 541 | imx27_add_fec(NULL); |
503 | imx_add_gpio_keys(&visstrim_gpio_keys_platform_data); | 542 | imx_add_gpio_keys(&visstrim_gpio_keys_platform_data); |
504 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 543 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
505 | imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0); | 544 | imx_add_platform_device("mx27vis", 0, NULL, 0, &snd_mx27vis_pdata, |
545 | sizeof(snd_mx27vis_pdata)); | ||
506 | platform_device_register_resndata(NULL, "soc-camera-pdrv", 0, NULL, 0, | 546 | platform_device_register_resndata(NULL, "soc-camera-pdrv", 0, NULL, 0, |
507 | &iclink_tvp5150, sizeof(iclink_tvp5150)); | 547 | &iclink_tvp5150, sizeof(iclink_tvp5150)); |
508 | gpio_led_register_device(0, &visstrim_m10_led_data); | 548 | gpio_led_register_device(0, &visstrim_m10_led_data); |