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
 
        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[] = {
 };
 
 /* 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 */
        }
 
        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)