[U-Boot] [PATCH 2/3] usb: omap5-evm: Add ethernet support to the uevm

Roger Quadros
2013-07-09T09:57:03Z

Hi Dan,

On 07/08/2013 11:59 PM, Dan Murphy wrote:
> Add code to configure the USB EHCI host controller.
> This enumerates an ethernet controller through USB3 using
> the HSIC lines.
>
> Signed-off-by: Dan Murphy <dmurphy@ti.com>
> ---
> arch/arm/cpu/armv7/omap5/hw_data.c | 15 +++++++++++
> arch/arm/include/asm/arch-omap5/clock.h | 6 +++++
> arch/arm/include/asm/arch-omap5/ehci.h | 44 +++++++++++++++++++++++++++++++
> arch/arm/include/asm/ehci-omap.h | 1 +
> board/ti/omap5_uevm/evm.c | 35 ++++++++++++++++++++++++
> board/ti/omap5_uevm/mux_data.h | 4 ++-
> drivers/usb/host/ehci-omap.c | 2 +-
> include/configs/omap5_common.h | 2 --
> include/configs/omap5_uevm.h | 23 ++++++++++++++++
> 9 files changed, 128 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm/include/asm/arch-omap5/ehci.h
>
> diff --git a/arch/arm/cpu/armv7/omap5/hw_data.c b/arch/arm/cpu/armv7/omap5/hw_data.c
> index 56cf1f8..f3973ee 100644
> --- a/arch/arm/cpu/armv7/omap5/hw_data.c
> +++ b/arch/arm/cpu/armv7/omap5/hw_data.c
> @@ -412,6 +412,8 @@ void enable_basic_clocks(void)
> (*prcm)->cm_l4per_gpio4_clkctrl,
> (*prcm)->cm_l4per_gpio5_clkctrl,
> (*prcm)->cm_l4per_gpio6_clkctrl,
> + (*prcm)->cm_clksel_usb_60mhz,
> + (*prcm)->cm_l3init_hsusbtll_clkctrl,
> 0
> };
>
> @@ -423,6 +425,7 @@ void enable_basic_clocks(void)
> (*prcm)->cm_wkup_wdtimer2_clkctrl,
> (*prcm)->cm_l4per_uart3_clkctrl,
> (*prcm)->cm_l4per_i2c1_clkctrl,
> + (*prcm)->cm_l3init_hsusbhost_clkctrl,
> 0
> };
>
> @@ -446,6 +449,14 @@ void enable_basic_clocks(void)
> setbits_le32((*prcm)->cm_wkup_gptimer1_clkctrl,
> GPTIMER1_CLKCTRL_CLKSEL_MASK);
>
> + /* Enbale all 3 usb ports enable uhh, utmi and hsic clocks*/
> + setbits_le32((*prcm)->cm_l3init_hsusbhost_clkctrl,
> + USB_HOST_HS_CLKCTRL_MASK);
> +
> + /* Enbale all 3 usb host ports tll clocks*/
> + setbits_le32((*prcm)->cm_l3init_hsusbtll_clkctrl,
> + USB_TLL_HS_CLKCTRL_MASK);
> +

Why enable all 3 port clocks here? uEVM uses only 2 ports.

Did you verify that if you boot the linux kernel without USB support
then the USB_Host and USB_TLL module are back to idle state?

Just checking if we need to add something more in the linux kernel
to make sure that these modules are not stuck in transition state.

If this is taken care of, I really don't mind even if all 3 clocks kept
enabled ;).

> do_enable_clocks(clk_domains_essential,
> clk_modules_hw_auto_essential,
> clk_modules_explicit_en_essential,
> @@ -480,6 +491,10 @@ void enable_basic_uboot_clocks(void)
> 0
> };
>
> + /* Enbale all 3 usb host ports tll clocks*/
> + setbits_le32((*prcm)->cm_l3init_hsusbtll_clkctrl,
> + USB_TLL_HS_CLKCTRL_MASK);
> +
> do_enable_clocks(clk_domains_essential,
> clk_modules_hw_auto_essential,
> clk_modules_explicit_en_essential,

cheers,
-roger