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

R, Sricharan r.sricharan at ti.com
Thu Jun 21 12:51:27 CEST 2012


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.

  Now we are removing things which are not required for u-boot.
  So this change is going to re-introduce some thing at u-boot which may
  not be required on all boards.

Thanks,
 Sricharan


More information about the U-Boot mailing list