]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-imx/mach-mx25_3ds.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / arm / mach-imx / mach-mx25_3ds.c
similarity index 86%
rename from arch/arm/mach-mx25/mach-mx25_3ds.c
rename to arch/arm/mach-imx/mach-mx25_3ds.c
index f8be1eb0c062685eb6193dd2664bc544a46f1458..8382e790207888b7c8255b73beb16c2b3184f713 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/gpio.h>
 #include <linux/platform_device.h>
 #include <linux/input/matrix_keypad.h>
+#include <linux/usb/otg.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <asm/mach/map.h>
 #include <mach/common.h>
 #include <mach/mx25.h>
-#include <mach/imxfb.h>
 #include <mach/iomux-mx25.h>
 
 #include "devices-imx25.h"
-#include "devices.h"
 
 static const struct imxuart_platform_data uart_pdata __initconst = {
        .flags = IMXUART_HAVE_RTSCTS,
 };
 
-static struct pad_desc mx25pdk_pads[] = {
+static iomux_v3_cfg_t mx25pdk_pads[] = {
        MX25_PAD_FEC_MDC__FEC_MDC,
        MX25_PAD_FEC_MDIO__FEC_MDIO,
        MX25_PAD_FEC_TDATA0__FEC_TDATA0,
@@ -107,7 +106,7 @@ static struct pad_desc mx25pdk_pads[] = {
 };
 
 static const struct fec_platform_data mx25_fec_pdata __initconst = {
-        .phy    = PHY_INTERFACE_MODE_RMII,
+       .phy    = PHY_INTERFACE_MODE_RMII,
 };
 
 #define FEC_ENABLE_GPIO                35
@@ -154,7 +153,7 @@ static struct imx_fb_videomode mx25pdk_modes[] = {
        },
 };
 
-static struct imx_fb_platform_data mx25pdk_fb_pdata = {
+static const struct imx_fb_platform_data mx25pdk_fb_pdata __initconst = {
        .mode           = mx25pdk_modes,
        .num_modes      = ARRAY_SIZE(mx25pdk_modes),
        .pwmr           = 0x00A903FF,
@@ -181,28 +180,39 @@ static const uint32_t mx25pdk_keymap[] = {
        KEY(3, 3, KEY_POWER),
 };
 
-static struct matrix_keymap_data mx25pdk_keymap_data = {
+static const struct matrix_keymap_data mx25pdk_keymap_data __initconst = {
        .keymap         = mx25pdk_keymap,
        .keymap_size    = ARRAY_SIZE(mx25pdk_keymap),
 };
 
+static const struct mxc_usbh_platform_data usbh2_pdata __initconst = {
+       .portsc = MXC_EHCI_MODE_SERIAL,
+       .flags  = MXC_EHCI_INTERNAL_PHY,
+};
+
+static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
+       .operating_mode = FSL_USB2_DR_DEVICE,
+       .phy_mode       = FSL_USB2_PHY_UTMI,
+};
+
 static void __init mx25pdk_init(void)
 {
        mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads,
                        ARRAY_SIZE(mx25pdk_pads));
 
        imx25_add_imx_uart0(&uart_pdata);
-       mxc_register_device(&mxc_usbh2, NULL);
+       imx25_add_fsl_usb2_udc(&otg_device_pdata);
+       imx25_add_mxc_ehci_hs(&usbh2_pdata);
        imx25_add_mxc_nand(&mx25pdk_nand_board_info);
-       mxc_register_device(&mx25_rtc_device, NULL);
-       mxc_register_device(&mx25_fb_device, &mx25pdk_fb_pdata);
-       mxc_register_device(&mxc_wdt, NULL);
+       imx25_add_imxdi_rtc(NULL);
+       imx25_add_imx_fb(&mx25pdk_fb_pdata);
+       imx25_add_imx2_wdt(NULL);
 
        mx25pdk_fec_reset();
        imx25_add_fec(&mx25_fec_pdata);
-       mxc_register_device(&mx25_kpp_device, &mx25pdk_keymap_data);
+       imx25_add_imx_keypad(&mx25pdk_keymap_data);
 
-       imx25_add_esdhc(0, NULL);
+       imx25_add_sdhci_esdhc_imx(0, NULL);
 }
 
 static void __init mx25pdk_timer_init(void)