diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-10-07 08:00:28 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-10-07 08:00:28 +0200 |
commit | 71fbdfbb1321de894f6938f5e471f86d728eab2e (patch) | |
tree | 4e271d2ffea9211fdb5fa99961e1b997935c7082 | |
parent | d9870d782a0fa7a40b4f91fee996b59b1dafa978 (diff) | |
parent | c002de40aa1a959e9ca70f08b1b461d9409fef6d (diff) | |
download | barebox-71fbdfbb1321de894f6938f5e471f86d728eab2e.tar.gz barebox-71fbdfbb1321de894f6938f5e471f86d728eab2e.tar.xz |
Merge branch 'for-next/mxs'
-rw-r--r-- | arch/arm/boards/freescale-mx28-evk/mx28-evk.c | 21 | ||||
-rw-r--r-- | arch/arm/configs/imx28evk_defconfig | 5 | ||||
-rw-r--r-- | arch/arm/mach-mxs/include/mach/imx28-regs.h | 3 |
3 files changed, 25 insertions, 4 deletions
diff --git a/arch/arm/boards/freescale-mx28-evk/mx28-evk.c b/arch/arm/boards/freescale-mx28-evk/mx28-evk.c index 92f0a75655..fa631df95a 100644 --- a/arch/arm/boards/freescale-mx28-evk/mx28-evk.c +++ b/arch/arm/boards/freescale-mx28-evk/mx28-evk.c @@ -32,6 +32,8 @@ #include <mach/iomux.h> #include <mach/ocotp.h> #include <mach/devices.h> +#include <mach/usb.h> +#include <usb/fsl_usb2.h> #include <spi/spi.h> #include <asm/armlinux.h> @@ -135,6 +137,11 @@ static const uint32_t mx28evk_pads[] = { SSP2_D3 | VE_3_3V | PULLUP(1) | STRENGTH(S8MA), /* SS0 !CS */ SSP2_CMD | VE_3_3V | PULLUP(1) | STRENGTH(S8MA), /* MOSI DIO */ SSP2_SCK | VE_3_3V | PULLUP(1) | STRENGTH(S8MA), /* CLK */ + + /* USB VBUS1 ENABLE - default to ON */ + AUART2_RX_GPIO | VE_3_3V | PULLUP(0) | GPIO_OUT | GPIO_VALUE(1), + /* USB VBUS0 ENABLE - default to OFF */ + AUART2_TX_GPIO | VE_3_3V | PULLUP(0) | GPIO_OUT | GPIO_VALUE(0), }; static struct mxs_mci_platform_data mci_pdata = { @@ -247,6 +254,12 @@ static const struct spi_board_info mx28evk_spi_board_info[] = { } }; +#ifdef CONFIG_USB_GADGET_DRIVER_ARC +static struct fsl_usb2_platform_data usb_pdata = { + .operating_mode = FSL_USB2_DR_DEVICE, + .phy_mode = FSL_USB2_PHY_UTMI, +}; +#endif static int mx28_evk_devices_init(void) { int i; @@ -280,6 +293,14 @@ static int mx28_evk_devices_init(void) add_generic_device("mxs_spi", 2, NULL, IMX_SSP2_BASE, 0x2000, IORESOURCE_MEM, NULL); +#ifdef CONFIG_USB_GADGET_DRIVER_ARC + imx28_usb_phy0_enable(); + imx28_usb_phy1_enable(); + add_generic_usb_ehci_device(DEVICE_ID_DYNAMIC, IMX_USB1_BASE, NULL); + add_generic_device("fsl-udc", DEVICE_ID_DYNAMIC, NULL, IMX_USB0_BASE, + 0x200, IORESOURCE_MEM, &usb_pdata); +#endif + return 0; } device_initcall(mx28_evk_devices_init); diff --git a/arch/arm/configs/imx28evk_defconfig b/arch/arm/configs/imx28evk_defconfig index 3b69d4d9a4..d06bac8236 100644 --- a/arch/arm/configs/imx28evk_defconfig +++ b/arch/arm/configs/imx28evk_defconfig @@ -26,8 +26,6 @@ CONFIG_CMD_ECHO_E=y CONFIG_CMD_BOOTM_SHOW_TYPE=y CONFIG_CMD_RESET=y CONFIG_CMD_GO=y -CONFIG_CMD_MTEST=y -CONFIG_CMD_MTEST_ALTERNATIVE=y CONFIG_CMD_SPLASH=y CONFIG_CMD_TIMEOUT=y CONFIG_CMD_PARTITION=y @@ -36,8 +34,9 @@ CONFIG_NET=y CONFIG_NET_DHCP=y CONFIG_NET_PING=y CONFIG_NET_RESOLV=y +CONFIG_DRIVER_SERIAL_AUART=y CONFIG_DRIVER_NET_FEC_IMX=y -# CONFIG_SPI is not set +CONFIG_DRIVER_SPI_MXS=y CONFIG_MTD=y CONFIG_NAND=y CONFIG_NAND_MXS=y diff --git a/arch/arm/mach-mxs/include/mach/imx28-regs.h b/arch/arm/mach-mxs/include/mach/imx28-regs.h index fa8edd7d4b..088282963d 100644 --- a/arch/arm/mach-mxs/include/mach/imx28-regs.h +++ b/arch/arm/mach-mxs/include/mach/imx28-regs.h @@ -41,7 +41,8 @@ #define IMX_DBGUART_BASE 0x80074000 #define IMX_USBPHY0_BASE 0x8007c000 #define IMX_USBPHY1_BASE 0x8007e000 -#define IMX_USB_BASE 0x80080000 +#define IMX_USB0_BASE 0x80080000 +#define IMX_USB1_BASE 0x80090000 #define IMX_FEC0_BASE 0x800F0000 #define IMX_FEC1_BASE 0x800F4000 |