Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into fixes
[pandora-kernel.git] / arch / arm / mach-imx / mach-mx25_3ds.c
index 8382e79..06da438 100644 (file)
@@ -103,14 +103,18 @@ static iomux_v3_cfg_t mx25pdk_pads[] = {
        MX25_PAD_SD1_DATA1__SD1_DATA1,
        MX25_PAD_SD1_DATA2__SD1_DATA2,
        MX25_PAD_SD1_DATA3__SD1_DATA3,
+
+       /* I2C1 */
+       MX25_PAD_I2C1_CLK__I2C1_CLK,
+       MX25_PAD_I2C1_DAT__I2C1_DAT,
 };
 
 static const struct fec_platform_data mx25_fec_pdata __initconst = {
        .phy    = PHY_INTERFACE_MODE_RMII,
 };
 
-#define FEC_ENABLE_GPIO                35
-#define FEC_RESET_B_GPIO       104
+#define FEC_ENABLE_GPIO                IMX_GPIO_NR(2, 3)
+#define FEC_RESET_B_GPIO       IMX_GPIO_NR(4, 8)
 
 static void __init mx25pdk_fec_reset(void)
 {
@@ -185,9 +189,14 @@ static const struct matrix_keymap_data mx25pdk_keymap_data __initconst = {
        .keymap_size    = ARRAY_SIZE(mx25pdk_keymap),
 };
 
+static int mx25pdk_usbh2_init(struct platform_device *pdev)
+{
+       return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERNAL_PHY);
+}
+
 static const struct mxc_usbh_platform_data usbh2_pdata __initconst = {
+       .init   = mx25pdk_usbh2_init,
        .portsc = MXC_EHCI_MODE_SERIAL,
-       .flags  = MXC_EHCI_INTERNAL_PHY,
 };
 
 static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
@@ -195,6 +204,10 @@ static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
        .phy_mode       = FSL_USB2_PHY_UTMI,
 };
 
+static const struct imxi2c_platform_data mx25_3ds_i2c0_data __initconst = {
+       .bitrate = 100000,
+};
+
 static void __init mx25pdk_init(void)
 {
        mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads,
@@ -213,6 +226,7 @@ static void __init mx25pdk_init(void)
        imx25_add_imx_keypad(&mx25pdk_keymap_data);
 
        imx25_add_sdhci_esdhc_imx(0, NULL);
+       imx25_add_imx_i2c0(&mx25_3ds_i2c0_data);
 }
 
 static void __init mx25pdk_timer_init(void)
@@ -226,10 +240,10 @@ static struct sys_timer mx25pdk_timer = {
 
 MACHINE_START(MX25_3DS, "Freescale MX25PDK (3DS)")
        /* Maintainer: Freescale Semiconductor, Inc. */
-       .boot_params    = MX25_PHYS_OFFSET + 0x100,
-       .map_io         = mx25_map_io,
-       .init_irq       = mx25_init_irq,
-       .init_machine   = mx25pdk_init,
-       .timer          = &mx25pdk_timer,
+       .boot_params = MX25_PHYS_OFFSET + 0x100,
+       .map_io = mx25_map_io,
+       .init_early = imx25_init_early,
+       .init_irq = mx25_init_irq,
+       .timer = &mx25pdk_timer,
+       .init_machine = mx25pdk_init,
 MACHINE_END
-