aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-05 12:55:56 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-05 12:55:56 -0400
commitbb5a027026db86b0c676104b2e3f6cc4768d1ac0 (patch)
tree8a0031b09a671fe134d0836f846095b6433dca06
parent94774b28490daf514a4e62fd746315b5089158ff (diff)
parent45605a87b3f34fb71bbc6446e2d49a469e9e10dd (diff)
Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.37
-rw-r--r--arch/arm/mach-omap2/board-zoom-peripherals.c12
-rw-r--r--arch/arm/mach-omap2/board-zoom2.c56
-rw-r--r--arch/arm/mach-omap2/devices.c2
3 files changed, 13 insertions, 57 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 6b3984964cc5..3c6530475710 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -24,6 +24,8 @@
24#include <plat/common.h> 24#include <plat/common.h>
25#include <plat/usb.h> 25#include <plat/usb.h>
26 26
27#include <mach/board-zoom.h>
28
27#include "mux.h" 29#include "mux.h"
28#include "hsmmc.h" 30#include "hsmmc.h"
29 31
@@ -188,6 +190,11 @@ static int zoom_twl_gpio_setup(struct device *dev,
188 return 0; 190 return 0;
189} 191}
190 192
193/* EXTMUTE callback function */
194void zoom2_set_hs_extmute(int mute)
195{
196 gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
197}
191 198
192static int zoom_batt_table[] = { 199static int zoom_batt_table[] = {
193/* 0 C*/ 200/* 0 C*/
@@ -257,6 +264,11 @@ static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {
257 264
258static int __init omap_i2c_init(void) 265static int __init omap_i2c_init(void)
259{ 266{
267 if (machine_is_omap_zoom2()) {
268 zoom_audio_data.ramp_delay_value = 3; /* 161 ms */
269 zoom_audio_data.hs_extmute = 1;
270 zoom_audio_data.set_hs_extmute = zoom2_set_hs_extmute;
271 }
260 omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo, 272 omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo,
261 ARRAY_SIZE(zoom_i2c_boardinfo)); 273 ARRAY_SIZE(zoom_i2c_boardinfo));
262 omap_register_i2c_bus(2, 400, NULL, 0); 274 omap_register_i2c_bus(2, 400, NULL, 0);
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
index efbcd8fb21ec..00c8f835649f 100644
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
@@ -35,61 +35,6 @@ static void __init omap_zoom2_init_irq(void)
35 omap_gpio_init(); 35 omap_gpio_init();
36} 36}
37 37
38/* EXTMUTE callback function */
39void zoom2_set_hs_extmute(int mute)
40{
41 gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
42}
43
44static struct twl4030_madc_platform_data zoom2_madc_data = {
45 .irq_line = 1,
46};
47
48static struct twl4030_codec_audio_data zoom2_audio_data = {
49 .audio_mclk = 26000000,
50 .ramp_delay_value = 3, /* 161 ms */
51 .hs_extmute = 1,
52 .set_hs_extmute = zoom2_set_hs_extmute,
53};
54
55static struct twl4030_codec_data zoom2_codec_data = {
56 .audio_mclk = 26000000,
57 .audio = &zoom2_audio_data,
58};
59
60static struct twl4030_platform_data zoom2_twldata = {
61 .irq_base = TWL4030_IRQ_BASE,
62 .irq_end = TWL4030_IRQ_END,
63
64 /* platform_data for children goes here */
65 .bci = &zoom2_bci_data,
66 .madc = &zoom2_madc_data,
67 .usb = &zoom2_usb_data,
68 .gpio = &zoom2_gpio_data,
69 .keypad = &zoom2_kp_twl4030_data,
70 .codec = &zoom2_codec_data,
71 .vmmc1 = &zoom2_vmmc1,
72 .vmmc2 = &zoom2_vmmc2,
73 .vsim = &zoom2_vsim,
74};
75
76static struct i2c_board_info __initdata zoom2_i2c_boardinfo[] = {
77 {
78 I2C_BOARD_INFO("twl4030", 0x48),
79 .flags = I2C_CLIENT_WAKE,
80 .irq = INT_34XX_SYS_NIRQ,
81 .platform_data = &zoom2_twldata,
82 },
83};
84
85static int __init omap3_zoom2_i2c_init(void)
86{
87 omap_register_i2c_bus(1, 2600, zoom2_i2c_boardinfo,
88 ARRAY_SIZE(zoom2_i2c_boardinfo));
89 return 0;
90}
91
92
93#ifdef CONFIG_OMAP_MUX 38#ifdef CONFIG_OMAP_MUX
94static struct omap_board_mux board_mux[] __initdata = { 39static struct omap_board_mux board_mux[] __initdata = {
95 /* WLAN IRQ - GPIO 162 */ 40 /* WLAN IRQ - GPIO 162 */
@@ -156,7 +101,6 @@ static void __init omap_zoom2_init(void)
156{ 101{
157 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); 102 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
158 zoom_peripherals_init(); 103 zoom_peripherals_init();
159 omap3_zoom2_i2c_init();
160 board_nand_init(zoom_nand_partitions, 104 board_nand_init(zoom_nand_partitions,
161 ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS); 105 ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
162 zoom_debugboard_init(); 106 zoom_debugboard_init();
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 08e1ad5adb14..512ae4696a6c 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -25,10 +25,10 @@
25#include <plat/control.h> 25#include <plat/control.h>
26#include <plat/tc.h> 26#include <plat/tc.h>
27#include <plat/board.h> 27#include <plat/board.h>
28#include <plat/mcbsp.h>
28#include <mach/gpio.h> 29#include <mach/gpio.h>
29#include <plat/mmc.h> 30#include <plat/mmc.h>
30#include <plat/dma.h> 31#include <plat/dma.h>
31#include <plat/mcbsp.h>
32 32
33#include "mux.h" 33#include "mux.h"
34 34