From mboxrd@z Thu Jan 1 00:00:00 1970 From: Li Ye-B37916 Date: Sat, 1 Nov 2014 15:45:59 +0800 Subject: [U-Boot] [PATCH 1/5] imx:mx6sxsabresd add usb support In-Reply-To: <1414808359-4750-2-git-send-email-Peng.Fan@freescale.com> References: <1414808359-4750-1-git-send-email-Peng.Fan@freescale.com> <1414808359-4750-2-git-send-email-Peng.Fan@freescale.com> Message-ID: <54548FB7.3090403@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Peng, On 11/1/2014 10:19 AM, Peng Fan wrote: > Add usb support for mx6sxsabresd board. > > Signed-off-by: Peng Fan > Signed-off-by: Ye.Li > --- > board/freescale/mx6sxsabresd/mx6sxsabresd.c | 29 +++++++++++++++++++++++++++++ > include/configs/mx6sxsabresd.h | 14 ++++++++++++++ > 2 files changed, 43 insertions(+) > > diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c > index 256ea29..016b8e8 100644 > --- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c > +++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c > @@ -296,3 +296,32 @@ int checkboard(void) > > return 0; > } > + > +#ifdef CONFIG_USB_EHCI_MX6 > +iomux_v3_cfg_t const usb_otg1_pads[] = { > + MX6_PAD_GPIO1_IO09__USB_OTG1_PWR | MUX_PAD_CTRL(NO_PAD_CTRL), > + MX6_PAD_GPIO1_IO10__ANATOP_OTG1_ID | MUX_PAD_CTRL(NO_PAD_CTRL) > +}; > + > +iomux_v3_cfg_t const usb_otg2_pads[] = { > + MX6_PAD_GPIO1_IO12__USB_OTG2_PWR | MUX_PAD_CTRL(NO_PAD_CTRL), > +}; > + > +int board_ehci_hcd_init(int port) > +{ > + switch (port) { > + case 0: > + imx_iomux_v3_setup_multiple_pads(usb_otg1_pads, > + ARRAY_SIZE(usb_otg1_pads)); > + break; > + case 1: > + imx_iomux_v3_setup_multiple_pads(usb_otg2_pads, > + ARRAY_SIZE(usb_otg2_pads)); > + break; > + default: > + printf("MXC USB port %d not yet supported\n", port); > + return 1; > + } > + return 0; > +} > +#endif > diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h > index e02ea18..8edf187 100644 > --- a/include/configs/mx6sxsabresd.h > +++ b/include/configs/mx6sxsabresd.h > @@ -198,6 +198,20 @@ > #define CONFIG_PHYLIB > #define CONFIG_PHY_ATHEROS > > + > +#define CONFIG_CMD_USB > +#ifdef CONFIG_CMD_USB > +#define CONFIG_USB_EHCI > +#define CONFIG_USB_EHCI_MX6 > +#define CONFIG_USB_STORAGE > +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET > +#define CONFIG_USB_HOST_ETHER > +#define CONFIG_USB_ETHER_ASIX > +#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) > +#define CONFIG_MXC_USB_FLAGS 0 > +#define CONFIG_USB_MAX_CONTROLLER_COUNT 2 > +#endif > + > #define CONFIG_CMD_PCI > #ifdef CONFIG_CMD_PCI > #define CONFIG_PCI The OTG power polarity setting in ehci-imx6 driver is opposed with the board design. So without changing the polarity setting, we have to use GPIO to control the power switch. Best regards, Ye Li