mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 13:41:31 +00:00
USB: mx51evk: add end enable USB host support on port 1
Signed-off-by: Wolfgang Grandegger <wg@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Cc: Wolfgang Grandegger <wg@denx.de> Cc: Jason Liu <r64343@freescale.com>
This commit is contained in:
parent
45cf6ada60
commit
055d969332
2 changed files with 75 additions and 0 deletions
|
@ -35,6 +35,7 @@
|
||||||
#include <pmic.h>
|
#include <pmic.h>
|
||||||
#include <fsl_pmic.h>
|
#include <fsl_pmic.h>
|
||||||
#include <mc13892.h>
|
#include <mc13892.h>
|
||||||
|
#include <usb/ehci-fsl.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -172,6 +173,64 @@ static void setup_iomux_spi(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_USB_EHCI_MX5
|
||||||
|
#define MX51EVK_USBH1_HUB_RST IOMUX_TO_GPIO(MX51_PIN_GPIO1_7) /* GPIO1_7 */
|
||||||
|
#define MX51EVK_USBH1_STP IOMUX_TO_GPIO(MX51_PIN_USBH1_STP) /* GPIO1_27 */
|
||||||
|
#define MX51EVK_USB_CLK_EN_B IOMUX_TO_GPIO(MX51_PIN_EIM_D18) /* GPIO2_1 */
|
||||||
|
#define MX51EVK_USB_PHY_RESET IOMUX_TO_GPIO(MX51_PIN_EIM_D21) /* GPIO2_5 */
|
||||||
|
|
||||||
|
#define USBH1_PAD (PAD_CTL_SRE_FAST | PAD_CTL_DRV_HIGH | \
|
||||||
|
PAD_CTL_100K_PU | PAD_CTL_PUE_PULL | \
|
||||||
|
PAD_CTL_PKE_ENABLE | PAD_CTL_HYS_ENABLE)
|
||||||
|
#define GPIO_PAD (PAD_CTL_DRV_HIGH | PAD_CTL_PKE_ENABLE | \
|
||||||
|
PAD_CTL_SRE_FAST)
|
||||||
|
#define NO_PAD (1 << 16)
|
||||||
|
|
||||||
|
static void setup_usb_h1(void)
|
||||||
|
{
|
||||||
|
setup_iomux_usb_h1();
|
||||||
|
|
||||||
|
/* GPIO_1_7 for USBH1 hub reset */
|
||||||
|
mxc_request_iomux(MX51_PIN_GPIO1_7, IOMUX_CONFIG_ALT0);
|
||||||
|
mxc_iomux_set_pad(MX51_PIN_GPIO1_7, NO_PAD);
|
||||||
|
|
||||||
|
/* GPIO_2_1 */
|
||||||
|
mxc_request_iomux(MX51_PIN_EIM_D17, IOMUX_CONFIG_ALT1);
|
||||||
|
mxc_iomux_set_pad(MX51_PIN_EIM_D17, GPIO_PAD);
|
||||||
|
|
||||||
|
/* GPIO_2_5 for USB PHY reset */
|
||||||
|
mxc_request_iomux(MX51_PIN_EIM_D21, IOMUX_CONFIG_ALT1);
|
||||||
|
mxc_iomux_set_pad(MX51_PIN_EIM_D21, GPIO_PAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_ehci_hcd_init(int port)
|
||||||
|
{
|
||||||
|
/* Set USBH1_STP to GPIO and toggle it */
|
||||||
|
mxc_request_iomux(MX51_PIN_USBH1_STP, IOMUX_CONFIG_GPIO);
|
||||||
|
mxc_iomux_set_pad(MX51_PIN_USBH1_STP, USBH1_PAD);
|
||||||
|
|
||||||
|
gpio_direction_output(MX51EVK_USBH1_STP, 0);
|
||||||
|
gpio_direction_output(MX51EVK_USB_PHY_RESET, 0);
|
||||||
|
mdelay(10);
|
||||||
|
gpio_set_value(MX51EVK_USBH1_STP, 1);
|
||||||
|
|
||||||
|
/* Set back USBH1_STP to be function */
|
||||||
|
mxc_request_iomux(MX51_PIN_USBH1_STP, IOMUX_CONFIG_ALT0);
|
||||||
|
mxc_iomux_set_pad(MX51_PIN_USBH1_STP, USBH1_PAD);
|
||||||
|
|
||||||
|
/* De-assert USB PHY RESETB */
|
||||||
|
gpio_set_value(MX51EVK_USB_PHY_RESET, 1);
|
||||||
|
|
||||||
|
/* Drive USB_CLK_EN_B line low */
|
||||||
|
gpio_direction_output(MX51EVK_USB_CLK_EN_B, 0);
|
||||||
|
|
||||||
|
/* Reset USB hub */
|
||||||
|
gpio_direction_output(MX51EVK_USBH1_HUB_RST, 0);
|
||||||
|
mdelay(2);
|
||||||
|
gpio_set_value(MX51EVK_USBH1_HUB_RST, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void power_init(void)
|
static void power_init(void)
|
||||||
{
|
{
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
@ -394,6 +453,9 @@ int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
setup_iomux_uart();
|
setup_iomux_uart();
|
||||||
setup_iomux_fec();
|
setup_iomux_fec();
|
||||||
|
#ifdef CONFIG_USB_EHCI_MX5
|
||||||
|
setup_usb_h1();
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,19 @@
|
||||||
#define CONFIG_CMD_MII
|
#define CONFIG_CMD_MII
|
||||||
#define CONFIG_CMD_NET
|
#define CONFIG_CMD_NET
|
||||||
|
|
||||||
|
/* USB Configs */
|
||||||
|
#define CONFIG_CMD_USB
|
||||||
|
#define CONFIG_CMD_FAT
|
||||||
|
#define CONFIG_USB_EHCI
|
||||||
|
#define CONFIG_USB_EHCI_MX5
|
||||||
|
#define CONFIG_USB_STORAGE
|
||||||
|
#define CONFIG_USB_HOST_ETHER
|
||||||
|
#define CONFIG_USB_ETHER_ASIX
|
||||||
|
#define CONFIG_USB_ETHER_SMSC95XX
|
||||||
|
#define CONFIG_MXC_USB_PORT 1
|
||||||
|
#define CONFIG_MXC_USB_PORTSC PORT_PTS_ULPI
|
||||||
|
#define CONFIG_MXC_USB_FLAGS MXC_EHCI_POWER_PINS_ENABLED
|
||||||
|
|
||||||
/* allow to overwrite serial and ethaddr */
|
/* allow to overwrite serial and ethaddr */
|
||||||
#define CONFIG_ENV_OVERWRITE
|
#define CONFIG_ENV_OVERWRITE
|
||||||
#define CONFIG_CONS_INDEX 1
|
#define CONFIG_CONS_INDEX 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue