]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
ARM: mx27pdk: Add audio support
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 3 Jul 2012 18:44:57 +0000 (15:44 -0300)
committerSascha Hauer <s.hauer@pengutronix.de>
Fri, 3 Aug 2012 13:59:29 +0000 (15:59 +0200)
mx27pdk has a mc13783 audio codec.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/mach-mx27_3ds.c

index afd542ad6f97d97cca788c4604a10e69d4625540..61faf76b185c617f8c1f3a4637e024cf5b03674d 100644 (file)
@@ -303,6 +303,7 @@ config MACH_MX27_3DS
        select IMX_HAVE_PLATFORM_IMX_FB
        select IMX_HAVE_PLATFORM_IMX_I2C
        select IMX_HAVE_PLATFORM_IMX_KEYPAD
+       select IMX_HAVE_PLATFORM_IMX_SSI
        select IMX_HAVE_PLATFORM_IMX_UART
        select IMX_HAVE_PLATFORM_MX2_CAMERA
        select IMX_HAVE_PLATFORM_MXC_EHCI
index 58c24c1a7ab70ac26e47db241e882800a2cf9cc5..05996f39005c2dfcd2a6eb1df57b4fc92b2abc03 100644 (file)
@@ -158,6 +158,11 @@ static const int mx27pdk_pins[] __initconst = {
        PB21_PF_CSI_HSYNC,
        CSI_PWRDWN | GPIO_GPIO | GPIO_OUT,
        CSI_RESET | GPIO_GPIO | GPIO_OUT,
+       /* SSI4 */
+       PC16_PF_SSI4_FS,
+       PC17_PF_SSI4_RXD,
+       PC18_PF_SSI4_TXD,
+       PC19_PF_SSI4_CLK,
 };
 
 static struct gpio mx27_3ds_camera_gpios[] = {
@@ -329,13 +334,24 @@ static struct mc13xxx_regulator_init_data mx27_3ds_regulators[] = {
 };
 
 /* MC13783 */
+static struct mc13xxx_codec_platform_data mx27_3ds_codec = {
+       .dac_ssi_port = MC13783_SSI1_PORT,
+       .adc_ssi_port = MC13783_SSI1_PORT,
+};
+
 static struct mc13xxx_platform_data mc13783_pdata = {
        .regulators = {
                .regulators = mx27_3ds_regulators,
                .num_regulators = ARRAY_SIZE(mx27_3ds_regulators),
 
        },
-       .flags  = MC13XXX_USE_TOUCHSCREEN | MC13XXX_USE_RTC,
+       .flags  = MC13XXX_USE_TOUCHSCREEN | MC13XXX_USE_RTC |
+                                               MC13XXX_USE_CODEC,
+       .codec = &mx27_3ds_codec,
+};
+
+static struct imx_ssi_platform_data mx27_3ds_ssi_pdata = {
+       .flags = IMX_SSI_DMA | IMX_SSI_NET,
 };
 
 /* SPI */
@@ -512,6 +528,9 @@ static void __init mx27pdk_init(void)
        }
 
        imx27_add_mx2_camera(&mx27_3ds_cam_pdata);
+       imx27_add_imx_ssi(0, &mx27_3ds_ssi_pdata);
+
+       imx_add_platform_device("imx_mc13783", 0, NULL, 0, NULL, 0);
 }
 
 static void __init mx27pdk_timer_init(void)