]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-mx3/mach-pcm043.c
Merge branch 'imx-for-2.6.38' of git://git.pengutronix.de/git/ukl/linux-2.6 into...
[karo-tx-linux.git] / arch / arm / mach-mx3 / mach-pcm043.c
index 28886f0e62f97de762c015e5d9db2fdf4f84f400..826c6dc2f4c8184893c55b231c35aae3e89e56a5 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/i2c/at24.h>
 #include <linux/usb/otg.h>
 #include <linux/usb/ulpi.h>
-#include <linux/fsl_devices.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/iomux-mx35.h>
 #include <mach/ipu.h>
 #include <mach/mx3fb.h>
-#include <mach/mxc_ehci.h>
 #include <mach/ulpi.h>
 #include <mach/audmux.h>
-#include <mach/ssi.h>
 
 #include "devices-imx35.h"
 #include "devices.h"
@@ -141,8 +138,6 @@ static struct i2c_board_info pcm043_i2c_devices[] = {
 
 static struct platform_device *devices[] __initdata = {
        &pcm043_flash,
-       &mxc_fec_device,
-       &imx_wdt_device0,
 };
 
 static struct pad_desc pcm043_pads[] = {
@@ -217,6 +212,13 @@ static struct pad_desc pcm043_pads[] = {
        /* CAN2 */
        MX35_PAD_TX5_RX0__CAN2_TXCAN,
        MX35_PAD_TX4_RX1__CAN2_RXCAN,
+       /* esdhc */
+       MX35_PAD_SD1_CMD__ESDHC1_CMD,
+       MX35_PAD_SD1_CLK__ESDHC1_CLK,
+       MX35_PAD_SD1_DATA0__ESDHC1_DAT0,
+       MX35_PAD_SD1_DATA1__ESDHC1_DAT1,
+       MX35_PAD_SD1_DATA2__ESDHC1_DAT2,
+       MX35_PAD_SD1_DATA3__ESDHC1_DAT3,
 };
 
 #define AC97_GPIO_TXFS (1 * 32 + 31)
@@ -293,7 +295,7 @@ err1:
        mdelay(1);
 }
 
-static struct imx_ssi_platform_data pcm043_ssi_pdata = {
+static const struct imx_ssi_platform_data pcm043_ssi_pdata __initconst = {
        .ac97_reset = pcm043_ac97_cold_reset,
        .ac97_warm_reset = pcm043_ac97_warm_reset,
        .flags = IMX_SSI_USE_AC97,
@@ -306,19 +308,19 @@ pcm037_nand_board_info __initconst = {
 };
 
 #if defined(CONFIG_USB_ULPI)
-static struct mxc_usbh_platform_data otg_pdata = {
+static struct mxc_usbh_platform_data otg_pdata __initdata = {
        .portsc = MXC_EHCI_MODE_UTMI,
        .flags  = MXC_EHCI_INTERFACE_DIFF_UNI,
 };
 
-static struct mxc_usbh_platform_data usbh1_pdata = {
+static const struct mxc_usbh_platform_data usbh1_pdata __initconst = {
        .portsc = MXC_EHCI_MODE_SERIAL,
        .flags  = MXC_EHCI_INTERFACE_SINGLE_UNI | MXC_EHCI_INTERNAL_PHY |
                  MXC_EHCI_IPPUE_DOWN,
 };
 #endif
 
-static struct fsl_usb2_platform_data otg_device_pdata = {
+static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
        .operating_mode = FSL_USB2_DR_DEVICE,
        .phy_mode       = FSL_USB2_PHY_UTMI,
 };
@@ -357,11 +359,13 @@ static void __init mxc_board_init(void)
                        MXC_AUDMUX_V2_PTCR_TCLKDIR, /* clock is output */
                        MXC_AUDMUX_V2_PDCR_RXDSEL(3));
 
+       imx35_add_fec(NULL);
        platform_add_devices(devices, ARRAY_SIZE(devices));
+       imx35_add_imx2_wdt(NULL);
 
        imx35_add_imx_uart0(&uart_pdata);
        imx35_add_mxc_nand(&pcm037_nand_board_info);
-       mxc_register_device(&imx_ssi_device0, &pcm043_ssi_pdata);
+       imx35_add_imx_ssi(0, &pcm043_ssi_pdata);
 
        imx35_add_imx_uart1(&uart_pdata);
 
@@ -380,15 +384,16 @@ static void __init mxc_board_init(void)
                otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
                                ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
 
-               mxc_register_device(&mxc_otg_host, &otg_pdata);
+               imx35_add_mxc_ehci_otg(&otg_pdata);
        }
 
-       mxc_register_device(&mxc_usbh1, &usbh1_pdata);
+       imx35_add_mxc_ehci_hs(&usbh1_pdata);
 #endif
        if (!otg_mode_host)
-               mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata);
+               imx35_add_fsl_usb2_udc(&otg_device_pdata);
 
        imx35_add_flexcan1(NULL);
+       imx35_add_sdhci_esdhc_imx(0, NULL);
 }
 
 static void __init pcm043_timer_init(void)
@@ -402,8 +407,6 @@ struct sys_timer pcm043_timer = {
 
 MACHINE_START(PCM043, "Phytec Phycore pcm043")
        /* Maintainer: Pengutronix */
-       .phys_io        = MX35_AIPS1_BASE_ADDR,
-       .io_pg_offst    = ((MX35_AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = MX3x_PHYS_OFFSET + 0x100,
        .map_io         = mx35_map_io,
        .init_irq       = mx35_init_irq,