[U-Boot] [PATCH] sunxi: musb: Properly put the musb controller back in reset on exit

Hans de Goede hdegoede at redhat.com
Thu May 21 15:13:00 CEST 2015


Hi,

On 21-05-15 14:45, Chen-Yu Tsai wrote:
> On Wed, May 20, 2015 at 10:40 PM, Hans de Goede <hdegoede at redhat.com> wrote:
>> Assert reset and disable the clock to properly put the musb controller
>> back in reset on exit.
>
> Last I checked the exit functions are not called except for error handling
> in the probe sequence. Has this been fixed?

It seems not, I made this patch because Paul (added to the Cc) was having
some troubles when changing the gadget role. It looks like you're right and
unfortunately this function never gets called though ...

Worse it seems that in gadget mode even all calls to musb_stop() are commented
out of the musb-new code...

Note all this does not mean that this patch is incorrect though, just that it
is not really useful atm.

Regards,

Hans


>
> ChenYu
>
>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>> ---
>>   drivers/usb/musb-new/sunxi.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
>> index e8a3a23..e2c9d5a 100644
>> --- a/drivers/usb/musb-new/sunxi.c
>> +++ b/drivers/usb/musb-new/sunxi.c
>> @@ -284,6 +284,8 @@ static int sunxi_musb_init(struct musb *musb)
>>
>>   static int sunxi_musb_exit(struct musb *musb)
>>   {
>> +       struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
>> +
>>          pr_debug("%s():\n", __func__);
>>
>>          USBC_DisableDpDmPullUp(musb->mregs);
>> @@ -291,6 +293,11 @@ static int sunxi_musb_exit(struct musb *musb)
>>          sunxi_usb_phy_power_off(0);
>>          sunxi_usb_phy_exit(0);
>>
>> +#ifdef CONFIG_SUNXI_GEN_SUN6I
>> +       clrbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0);
>> +#endif
>> +       clrbits_le32(&ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0);
>> +
>>          return 0;
>>   }
>>
>> --
>> 2.4.1
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list