]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/arm/mach-mx2/mach-pcm038.c
arm/mach-mx2: add watchdog device to Phytec-boards
[net-next-2.6.git] / arch / arm / mach-mx2 / mach-pcm038.c
index 2290195f852c3ebd7d7e8e42230659cc68feacf5..36c89431679a93edd5e66118ce9eb9b5838b9045 100644 (file)
 #include <mach/common.h>
 #include <mach/hardware.h>
 #include <mach/i2c.h>
-#include <mach/iomux.h>
+#include <mach/iomux-mx27.h>
 #include <mach/imx-uart.h>
 #include <mach/mxc_nand.h>
 #include <mach/spi.h>
+#include <mach/mxc_ehci.h>
+#include <mach/ulpi.h>
 
 #include "devices.h"
 
@@ -96,6 +98,19 @@ static int pcm038_pins[] = {
        PC17_PF_SSI4_RXD,
        PC18_PF_SSI4_TXD,
        PC19_PF_SSI4_CLK,
+       /* USB host */
+       PA0_PF_USBH2_CLK,
+       PA1_PF_USBH2_DIR,
+       PA2_PF_USBH2_DATA7,
+       PA3_PF_USBH2_NXT,
+       PA4_PF_USBH2_STP,
+       PD19_AF_USBH2_DATA4,
+       PD20_AF_USBH2_DATA3,
+       PD21_AF_USBH2_DATA6,
+       PD22_AF_USBH2_DATA0,
+       PD23_AF_USBH2_DATA2,
+       PD24_AF_USBH2_DATA1,
+       PD26_AF_USBH2_DATA5,
 };
 
 /*
@@ -167,6 +182,7 @@ static struct platform_device *platform_devices[] __initdata = {
        &mxc_w1_master_device,
        &mxc_fec_device,
        &pcm038_sram_mtd_device,
+       &mxc_wdt,
 };
 
 /* On pcm038 there's a sram attached to CS1, we enable the chipselect here and
@@ -277,6 +293,11 @@ static struct spi_board_info pcm038_spi_board_info[] __initdata = {
        }
 };
 
+static struct mxc_usbh_platform_data usbh2_pdata = {
+       .portsc = MXC_EHCI_MODE_ULPI,
+       .flags  = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI,
+};
+
 static void __init pcm038_init(void)
 {
        mxc_gpio_setup_multiple_pins(pcm038_pins, ARRAY_SIZE(pcm038_pins),
@@ -309,6 +330,8 @@ static void __init pcm038_init(void)
        spi_register_board_info(pcm038_spi_board_info,
                                ARRAY_SIZE(pcm038_spi_board_info));
 
+       mxc_register_device(&mxc_usbh2, &usbh2_pdata);
+
        platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
 
 #ifdef CONFIG_MACH_PCM970_BASEBOARD