[U-Boot] [PATCH 1/2] OMAP4: clocks-common: prevent USB DPLL from being stuck in running state

Roger Quadros rogerq at ti.com
Thu Jun 21 13:18:14 CEST 2012


On 06/21/2012 01:51 PM, R, Sricharan wrote:
> Hi Roger,
> 
>>>> If board config does not select CONFIG_USB_EHCI_OMAP (e.g. omap4_sdp4430_config)
>>>> then the USB DPLL is stuck in running state and it prevents the system from
>>>> entering OFF mode (i.e. l3init domain is kept ON).
>>>>
>>>> With this patch we unconditionally configure the USB DPLL so it functions
>>>> properly even on boards not using CONFIG_USB_EHCI_OMAP
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq at ti.com>
>>>> ---
>>>>  arch/arm/cpu/armv7/omap-common/clocks-common.c |    4 ----
>>>>  1 files changed, 0 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm/cpu/armv7/omap-common/clocks-common.c b/arch/arm/cpu/armv7/omap-common/clocks-common.c
>>>> index 10d286a..206f0ab 100644
>>>> --- a/arch/arm/cpu/armv7/omap-common/clocks-common.c
>>>> +++ b/arch/arm/cpu/armv7/omap-common/clocks-common.c
>>>> @@ -256,7 +256,6 @@ void configure_mpu_dpll(void)
>>>>        debug("MPU DPLL locked\n");
>>>>  }
>>>>
>>>> -#ifdef CONFIG_USB_EHCI_OMAP
>>>>  static void setup_usb_dpll(void)
>>>>  {
>>>>        const struct dpll_params *params;
>>>> @@ -283,7 +282,6 @@ static void setup_usb_dpll(void)
>>>>        /* Now setup the dpll with the regular function */
>>>>        do_setup_dpll(&prcm->cm_clkmode_dpll_usb, params, DPLL_LOCK, "usb");
>>>>  }
>>>> -#endif
>>>>
>>>>  static void setup_dplls(void)
>>>>  {
>>>> @@ -317,9 +315,7 @@ static void setup_dplls(void)
>>>>        /* MPU dpll */
>>>>        configure_mpu_dpll();
>>>>
>>>> -#ifdef CONFIG_USB_EHCI_OMAP
>>>>        setup_usb_dpll();
>>>> -#endif
>>>>  }
>>>    I remember that this change was introduced recently to configure the USB dpll
>>>    only when host functionality is used at u-boot level.
>>>    Now in our case why is kernel dependent upon the boot loader settings ?.
>>>
>>
>> I'm not sure.
>>
>> How was it earlier? Was the USB DPLL always configured or never configured?
> 
>   Previously all dplls, clocks, mux was configured by u-boot, but that
> should not be the
>  case any more.
> 
>   The point is u-boot should configure only things required for its
> functionality
>   and to start the kernel boot, but nothing more than that.
>

I agree with you that kernel should not depend on what the bootloader
did or not.

With respect to this USB DPLL problem, i'm not sure what must be done.

Are we missing something in the kernel? Tero, what do you think?

regards,
-roger


More information about the U-Boot mailing list