diff options
author | Philippe Rétornaz <philippe.retornaz@epfl.ch> | 2012-05-15 12:42:26 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-18 11:42:44 -0400 |
commit | 5fb86e5d4a951ddb0474cdfd809380c8e2a8d101 (patch) | |
tree | e38f118858803ccfa15b4a96e5cd791f7f035f5b /arch/arm/mach-imx | |
parent | cd7dc7a42cb541916316f6350dcc69f7af4c289c (diff) |
ARM: mx31_3ds: Add sound support
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx31_3ds.c | 22 |
2 files changed, 22 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 0d75480c3240..472d47b50cd6 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -151,6 +151,7 @@ config MACH_MX25_3DS | |||
151 | select IMX_HAVE_PLATFORM_IMX2_WDT | 151 | select IMX_HAVE_PLATFORM_IMX2_WDT |
152 | select IMX_HAVE_PLATFORM_IMXDI_RTC | 152 | select IMX_HAVE_PLATFORM_IMXDI_RTC |
153 | select IMX_HAVE_PLATFORM_IMX_I2C | 153 | select IMX_HAVE_PLATFORM_IMX_I2C |
154 | select IMX_HAVE_PLATFORM_IMX_SSI | ||
154 | select IMX_HAVE_PLATFORM_IMX_FB | 155 | select IMX_HAVE_PLATFORM_IMX_FB |
155 | select IMX_HAVE_PLATFORM_IMX_KEYPAD | 156 | select IMX_HAVE_PLATFORM_IMX_KEYPAD |
156 | select IMX_HAVE_PLATFORM_IMX_UART | 157 | select IMX_HAVE_PLATFORM_IMX_UART |
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c index 4d1aab154400..4eafdf275ea2 100644 --- a/arch/arm/mach-imx/mach-mx31_3ds.c +++ b/arch/arm/mach-imx/mach-mx31_3ds.c | |||
@@ -156,6 +156,11 @@ static int mx31_3ds_pins[] = { | |||
156 | MX31_PIN_CSI_VSYNC__CSI_VSYNC, | 156 | MX31_PIN_CSI_VSYNC__CSI_VSYNC, |
157 | MX31_PIN_CSI_D5__GPIO3_5, /* CMOS PWDN */ | 157 | MX31_PIN_CSI_D5__GPIO3_5, /* CMOS PWDN */ |
158 | IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_GPIO), /* CMOS reset */ | 158 | IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_GPIO), /* CMOS reset */ |
159 | /* SSI */ | ||
160 | MX31_PIN_STXD4__STXD4, | ||
161 | MX31_PIN_SRXD4__SRXD4, | ||
162 | MX31_PIN_SCK4__SCK4, | ||
163 | MX31_PIN_SFS4__SFS4, | ||
159 | }; | 164 | }; |
160 | 165 | ||
161 | /* | 166 | /* |
@@ -488,12 +493,23 @@ static struct mc13xxx_regulator_init_data mx31_3ds_regulators[] = { | |||
488 | }; | 493 | }; |
489 | 494 | ||
490 | /* MC13783 */ | 495 | /* MC13783 */ |
496 | static struct mc13xxx_codec_platform_data mx31_3ds_codec = { | ||
497 | .dac_ssi_port = MC13783_SSI1_PORT, | ||
498 | .adc_ssi_port = MC13783_SSI1_PORT, | ||
499 | }; | ||
500 | |||
491 | static struct mc13xxx_platform_data mc13783_pdata = { | 501 | static struct mc13xxx_platform_data mc13783_pdata = { |
492 | .regulators = { | 502 | .regulators = { |
493 | .regulators = mx31_3ds_regulators, | 503 | .regulators = mx31_3ds_regulators, |
494 | .num_regulators = ARRAY_SIZE(mx31_3ds_regulators), | 504 | .num_regulators = ARRAY_SIZE(mx31_3ds_regulators), |
495 | }, | 505 | }, |
496 | .flags = MC13XXX_USE_TOUCHSCREEN | MC13XXX_USE_RTC, | 506 | .codec = &mx31_3ds_codec, |
507 | .flags = MC13XXX_USE_TOUCHSCREEN | MC13XXX_USE_RTC | MC13XXX_USE_CODEC, | ||
508 | |||
509 | }; | ||
510 | |||
511 | static struct imx_ssi_platform_data mx31_3ds_ssi_pdata = { | ||
512 | .flags = IMX_SSI_DMA | IMX_SSI_NET, | ||
497 | }; | 513 | }; |
498 | 514 | ||
499 | /* SPI */ | 515 | /* SPI */ |
@@ -741,6 +757,10 @@ static void __init mx31_3ds_init(void) | |||
741 | } | 757 | } |
742 | 758 | ||
743 | mx31_3ds_init_camera(); | 759 | mx31_3ds_init_camera(); |
760 | |||
761 | imx31_add_imx_ssi(0, &mx31_3ds_ssi_pdata); | ||
762 | |||
763 | imx_add_platform_device("imx_mc13783", 0, NULL, 0, NULL, 0); | ||
744 | } | 764 | } |
745 | 765 | ||
746 | static void __init mx31_3ds_timer_init(void) | 766 | static void __init mx31_3ds_timer_init(void) |