diff options
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 17 | ||||
-rw-r--r-- | sound/soc/imx/eukrea-tlv320.c | 40 |
4 files changed, 36 insertions, 58 deletions
diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c index 5db3e1463af7..5f2f91d1798b 100644 --- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <mach/common.h> | 32 | #include <mach/common.h> |
33 | #include <mach/iomux-mx27.h> | 33 | #include <mach/iomux-mx27.h> |
34 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
35 | #include <mach/audmux.h> | ||
36 | 35 | ||
37 | #include "devices-imx27.h" | 36 | #include "devices-imx27.h" |
38 | 37 | ||
@@ -306,25 +305,6 @@ void __init eukrea_mbimx27_baseboard_init(void) | |||
306 | mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins, | 305 | mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins, |
307 | ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27"); | 306 | ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27"); |
308 | 307 | ||
309 | #if defined(CONFIG_SND_SOC_EUKREA_TLV320) \ | ||
310 | || defined(CONFIG_SND_SOC_EUKREA_TLV320_MODULE) | ||
311 | /* SSI unit master I2S codec connected to SSI_PINS_4*/ | ||
312 | mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, | ||
313 | MXC_AUDMUX_V1_PCR_SYN | | ||
314 | MXC_AUDMUX_V1_PCR_TFSDIR | | ||
315 | MXC_AUDMUX_V1_PCR_TCLKDIR | | ||
316 | MXC_AUDMUX_V1_PCR_RFSDIR | | ||
317 | MXC_AUDMUX_V1_PCR_RCLKDIR | | ||
318 | MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | | ||
319 | MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | | ||
320 | MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | ||
321 | ); | ||
322 | mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4, | ||
323 | MXC_AUDMUX_V1_PCR_SYN | | ||
324 | MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) | ||
325 | ); | ||
326 | #endif | ||
327 | |||
328 | imx27_add_imx_uart1(&uart_pdata); | 308 | imx27_add_imx_uart1(&uart_pdata); |
329 | imx27_add_imx_uart2(&uart_pdata); | 309 | imx27_add_imx_uart2(&uart_pdata); |
330 | #if !defined(MACH_EUKREA_CPUIMX27_USEUART4) | 310 | #if !defined(MACH_EUKREA_CPUIMX27_USEUART4) |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c index 66e8726253fa..2cf603e11c4f 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
32 | #include <asm/mach/arch.h> | 32 | #include <asm/mach/arch.h> |
33 | #include <mach/mx25.h> | 33 | #include <mach/mx25.h> |
34 | #include <mach/audmux.h> | ||
35 | 34 | ||
36 | #include "devices-imx25.h" | 35 | #include "devices-imx25.h" |
37 | 36 | ||
@@ -241,22 +240,6 @@ void __init eukrea_mbimxsd25_baseboard_init(void) | |||
241 | ARRAY_SIZE(eukrea_mbimxsd_pads))) | 240 | ARRAY_SIZE(eukrea_mbimxsd_pads))) |
242 | printk(KERN_ERR "error setting mbimxsd pads !\n"); | 241 | printk(KERN_ERR "error setting mbimxsd pads !\n"); |
243 | 242 | ||
244 | #if defined(CONFIG_SND_SOC_EUKREA_TLV320) | ||
245 | /* SSI unit master I2S codec connected to SSI_AUD5*/ | ||
246 | mxc_audmux_v2_configure_port(0, | ||
247 | MXC_AUDMUX_V2_PTCR_SYN | | ||
248 | MXC_AUDMUX_V2_PTCR_TFSDIR | | ||
249 | MXC_AUDMUX_V2_PTCR_TFSEL(4) | | ||
250 | MXC_AUDMUX_V2_PTCR_TCLKDIR | | ||
251 | MXC_AUDMUX_V2_PTCR_TCSEL(4), | ||
252 | MXC_AUDMUX_V2_PDCR_RXDSEL(4) | ||
253 | ); | ||
254 | mxc_audmux_v2_configure_port(4, | ||
255 | MXC_AUDMUX_V2_PTCR_SYN, | ||
256 | MXC_AUDMUX_V2_PDCR_RXDSEL(0) | ||
257 | ); | ||
258 | #endif | ||
259 | |||
260 | imx25_add_imx_uart1(&uart_pdata); | 243 | imx25_add_imx_uart1(&uart_pdata); |
261 | imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata); | 244 | imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata); |
262 | imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); | 245 | imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index 0f0af02b3182..fd8bf8a425a7 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <mach/hardware.h> | 38 | #include <mach/hardware.h> |
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/iomux-mx35.h> | 40 | #include <mach/iomux-mx35.h> |
41 | #include <mach/audmux.h> | ||
42 | 41 | ||
43 | #include "devices-imx35.h" | 42 | #include "devices-imx35.h" |
44 | 43 | ||
@@ -252,22 +251,6 @@ void __init eukrea_mbimxsd35_baseboard_init(void) | |||
252 | ARRAY_SIZE(eukrea_mbimxsd_pads))) | 251 | ARRAY_SIZE(eukrea_mbimxsd_pads))) |
253 | printk(KERN_ERR "error setting mbimxsd pads !\n"); | 252 | printk(KERN_ERR "error setting mbimxsd pads !\n"); |
254 | 253 | ||
255 | #if defined(CONFIG_SND_SOC_EUKREA_TLV320) | ||
256 | /* SSI unit master I2S codec connected to SSI_AUD4 */ | ||
257 | mxc_audmux_v2_configure_port(0, | ||
258 | MXC_AUDMUX_V2_PTCR_SYN | | ||
259 | MXC_AUDMUX_V2_PTCR_TFSDIR | | ||
260 | MXC_AUDMUX_V2_PTCR_TFSEL(3) | | ||
261 | MXC_AUDMUX_V2_PTCR_TCLKDIR | | ||
262 | MXC_AUDMUX_V2_PTCR_TCSEL(3), | ||
263 | MXC_AUDMUX_V2_PDCR_RXDSEL(3) | ||
264 | ); | ||
265 | mxc_audmux_v2_configure_port(3, | ||
266 | MXC_AUDMUX_V2_PTCR_SYN, | ||
267 | MXC_AUDMUX_V2_PDCR_RXDSEL(0) | ||
268 | ); | ||
269 | #endif | ||
270 | |||
271 | imx35_add_imx_uart1(&uart_pdata); | 254 | imx35_add_imx_uart1(&uart_pdata); |
272 | imx35_add_ipu_core(&mx3_ipu_data); | 255 | imx35_add_ipu_core(&mx3_ipu_data); |
273 | imx35_add_mx3_sdc_fb(&mx3fb_pdata); | 256 | imx35_add_mx3_sdc_fb(&mx3fb_pdata); |
diff --git a/sound/soc/imx/eukrea-tlv320.c b/sound/soc/imx/eukrea-tlv320.c index 1c1fdd10f73f..bfcb6d9768b8 100644 --- a/sound/soc/imx/eukrea-tlv320.c +++ b/sound/soc/imx/eukrea-tlv320.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <sound/pcm.h> | 23 | #include <sound/pcm.h> |
24 | #include <sound/soc.h> | 24 | #include <sound/soc.h> |
25 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
26 | #include <mach/audmux.h> | ||
26 | 27 | ||
27 | #include "../codecs/tlv320aic23.h" | 28 | #include "../codecs/tlv320aic23.h" |
28 | #include "imx-ssi.h" | 29 | #include "imx-ssi.h" |
@@ -97,12 +98,43 @@ static struct platform_device *eukrea_tlv320_snd_device; | |||
97 | static int __init eukrea_tlv320_init(void) | 98 | static int __init eukrea_tlv320_init(void) |
98 | { | 99 | { |
99 | int ret; | 100 | int ret; |
100 | 101 | int int_port = 0, ext_port; | |
101 | if (!machine_is_eukrea_cpuimx27() && !machine_is_eukrea_cpuimx25sd() | 102 | |
102 | && !machine_is_eukrea_cpuimx35sd() | 103 | if (machine_is_eukrea_cpuimx27()) { |
103 | && !machine_is_eukrea_cpuimx51sd()) | 104 | mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, |
105 | MXC_AUDMUX_V1_PCR_SYN | | ||
106 | MXC_AUDMUX_V1_PCR_TFSDIR | | ||
107 | MXC_AUDMUX_V1_PCR_TCLKDIR | | ||
108 | MXC_AUDMUX_V1_PCR_RFSDIR | | ||
109 | MXC_AUDMUX_V1_PCR_RCLKDIR | | ||
110 | MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | | ||
111 | MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | | ||
112 | MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | ||
113 | ); | ||
114 | mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4, | ||
115 | MXC_AUDMUX_V1_PCR_SYN | | ||
116 | MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) | ||
117 | ); | ||
118 | } else if (machine_is_eukrea_cpuimx25sd() || | ||
119 | machine_is_eukrea_cpuimx35sd() || | ||
120 | machine_is_eukrea_cpuimx51sd()) { | ||
121 | ext_port = machine_is_eukrea_cpuimx25sd() ? 4 : 3; | ||
122 | mxc_audmux_v2_configure_port(int_port, | ||
123 | MXC_AUDMUX_V2_PTCR_SYN | | ||
124 | MXC_AUDMUX_V2_PTCR_TFSDIR | | ||
125 | MXC_AUDMUX_V2_PTCR_TFSEL(ext_port) | | ||
126 | MXC_AUDMUX_V2_PTCR_TCLKDIR | | ||
127 | MXC_AUDMUX_V2_PTCR_TCSEL(ext_port), | ||
128 | MXC_AUDMUX_V2_PDCR_RXDSEL(ext_port) | ||
129 | ); | ||
130 | mxc_audmux_v2_configure_port(ext_port, | ||
131 | MXC_AUDMUX_V2_PTCR_SYN, | ||
132 | MXC_AUDMUX_V2_PDCR_RXDSEL(int_port) | ||
133 | ); | ||
134 | } else { | ||
104 | /* return happy. We might run on a totally different machine */ | 135 | /* return happy. We might run on a totally different machine */ |
105 | return 0; | 136 | return 0; |
137 | } | ||
106 | 138 | ||
107 | eukrea_tlv320_snd_device = platform_device_alloc("soc-audio", -1); | 139 | eukrea_tlv320_snd_device = platform_device_alloc("soc-audio", -1); |
108 | if (!eukrea_tlv320_snd_device) | 140 | if (!eukrea_tlv320_snd_device) |