diff options
| -rw-r--r-- | board/freescale/mx35pdk/lowlevel_init.S | 4 | ||||
| -rw-r--r-- | board/freescale/mx35pdk/mx35pdk.c | 21 | ||||
| -rw-r--r-- | include/configs/mx35pdk.h | 14 | 
3 files changed, 39 insertions, 0 deletions
| diff --git a/board/freescale/mx35pdk/lowlevel_init.S b/board/freescale/mx35pdk/lowlevel_init.S index 75bb95861..da8b6f3a4 100644 --- a/board/freescale/mx35pdk/lowlevel_init.S +++ b/board/freescale/mx35pdk/lowlevel_init.S @@ -94,6 +94,10 @@  	orr r1, r1, #0x00000C00  	orr r1, r1, #0x00000003  	str r1, [r0, #CLKCTL_CGR1] + +	ldr r1, [r0, #CLKCTL_CGR2] +	orr r1, r1, #0x00C00000 +	str r1, [r0, #CLKCTL_CGR2]  .endm  .macro setup_sdram diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c index a12531fb8..4d8f2f5ee 100644 --- a/board/freescale/mx35pdk/mx35pdk.c +++ b/board/freescale/mx35pdk/mx35pdk.c @@ -98,6 +98,26 @@ static void setup_iomux_spi(void)  	mxc_request_iomux(MX35_PIN_CSPI1_SCLK, MUX_CONFIG_SION);  } +static void setup_iomux_usbotg(void) +{ +	int in_pad, out_pad; + +	/* Set up pins for USBOTG. */ +	mxc_request_iomux(MX35_PIN_USBOTG_PWR, +			  MUX_CONFIG_SION | MUX_CONFIG_FUNC); +	mxc_request_iomux(MX35_PIN_USBOTG_OC, +			  MUX_CONFIG_SION | MUX_CONFIG_FUNC); + +	in_pad = PAD_CTL_DRV_3_3V | PAD_CTL_HYS_SCHMITZ | PAD_CTL_PKE_ENABLE | +		PAD_CTL_PUE_PUD | PAD_CTL_100K_PD | PAD_CTL_ODE_CMOS | +		PAD_CTL_DRV_NORMAL | PAD_CTL_SRE_SLOW; +	out_pad = PAD_CTL_DRV_3_3V | PAD_CTL_HYS_CMOS | PAD_CTL_PKE_NONE | +		PAD_CTL_ODE_CMOS | PAD_CTL_DRV_NORMAL | PAD_CTL_SRE_SLOW; + +	mxc_iomux_set_pad(MX35_PIN_USBOTG_PWR, out_pad); +	mxc_iomux_set_pad(MX35_PIN_USBOTG_OC, in_pad); +} +  static void setup_iomux_fec(void)  {  	int pad; @@ -189,6 +209,7 @@ int board_early_init_f(void)  	__raw_writel(readl(&ccm->rcsr) | MXC_CCM_RCSR_NFC_FMS, &ccm->rcsr);  	setup_iomux_i2c(); +	setup_iomux_usbotg();  	setup_iomux_fec();  	setup_iomux_spi(); diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h index d89db7af1..00171a7ce 100644 --- a/include/configs/mx35pdk.h +++ b/include/configs/mx35pdk.h @@ -112,6 +112,8 @@  #define CONFIG_NET_RETRY_COUNT	100  #define CONFIG_CMD_DATE +#define CONFIG_CMD_USB +#define CONFIG_USB_STORAGE  #define CONFIG_CMD_MMC  #define CONFIG_DOS_PARTITION  #define CONFIG_EFI_PARTITION @@ -244,6 +246,18 @@  #define CONFIG_MXC_NAND_HWECC  #define CONFIG_SYS_NAND_LARGEPAGE +/* EHCI driver */ +#define CONFIG_USB_EHCI +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS	1 +#define CONFIG_EHCI_IS_TDI +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET +#define CONFIG_USB_EHCI_MXC +#define CONFIG_MXC_USB_PORT	0 +#define CONFIG_MXC_USB_FLAGS	(MXC_EHCI_INTERFACE_DIFF_UNI | \ +				 MXC_EHCI_POWER_PINS_ENABLED | \ +				 MXC_EHCI_OC_PIN_ACTIVE_LOW) +#define CONFIG_MXC_USB_PORTSC	(MXC_EHCI_UTMI_16BIT | MXC_EHCI_MODE_UTMI) +  /* mmc driver */  #define CONFIG_MMC  #define CONFIG_GENERIC_MMC |