Commit 773f206b authored by Sascha Hauer's avatar Sascha Hauer

i.MX27 pcm038: Add USB support

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent eee7c497
...@@ -37,6 +37,7 @@ config MACH_MX27ADS ...@@ -37,6 +37,7 @@ config MACH_MX27ADS
config MACH_PCM038 config MACH_PCM038
bool "Phytec phyCORE-i.MX27 CPU module (pcm038)" bool "Phytec phyCORE-i.MX27 CPU module (pcm038)"
depends on MACH_MX27 depends on MACH_MX27
select MXC_ULPI if USB_ULPI
help help
Include support for phyCORE-i.MX27 (aka pcm038) platform. This Include support for phyCORE-i.MX27 (aka pcm038) platform. This
includes specific configurations for the module and its peripherals. includes specific configurations for the module and its peripherals.
......
...@@ -40,6 +40,8 @@ ...@@ -40,6 +40,8 @@
#include <mach/imx-uart.h> #include <mach/imx-uart.h>
#include <mach/mxc_nand.h> #include <mach/mxc_nand.h>
#include <mach/spi.h> #include <mach/spi.h>
#include <mach/mxc_ehci.h>
#include <mach/ulpi.h>
#include "devices.h" #include "devices.h"
...@@ -96,6 +98,19 @@ static int pcm038_pins[] = { ...@@ -96,6 +98,19 @@ static int pcm038_pins[] = {
PC17_PF_SSI4_RXD, PC17_PF_SSI4_RXD,
PC18_PF_SSI4_TXD, PC18_PF_SSI4_TXD,
PC19_PF_SSI4_CLK, 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,
}; };
/* /*
...@@ -277,6 +292,11 @@ static struct spi_board_info pcm038_spi_board_info[] __initdata = { ...@@ -277,6 +292,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) static void __init pcm038_init(void)
{ {
mxc_gpio_setup_multiple_pins(pcm038_pins, ARRAY_SIZE(pcm038_pins), mxc_gpio_setup_multiple_pins(pcm038_pins, ARRAY_SIZE(pcm038_pins),
...@@ -309,6 +329,8 @@ static void __init pcm038_init(void) ...@@ -309,6 +329,8 @@ static void __init pcm038_init(void)
spi_register_board_info(pcm038_spi_board_info, spi_register_board_info(pcm038_spi_board_info,
ARRAY_SIZE(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)); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
#ifdef CONFIG_MACH_PCM970_BASEBOARD #ifdef CONFIG_MACH_PCM970_BASEBOARD
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment