[BUG]odroid-c2 does not hotplug usb-devices

Otto Meier gf435 at gmx.net
Mon Dec 7 07:43:43 EST 2020



Am 07.12.20 um 13:29 schrieb Neil Armstrong:
> Hi,
> 
> (Please CC u-boot-amlogic at groups.io when U-Boot is concerned)
> 
> On 07/12/2020 13:19, Otto Meier wrote:
>> Hi Martin,
>>
>>
>> I did a lot of googling this weekend and found some interesting problems with
>> odroid-c2.
>>
>> 1. booting from emmc stop after u-boot 2020.04 (this hits me also)
> 
> Indeed, this already has been reported, but the root cause is unknown
> 
>> 2. usb did not work with newer kernels.
>>
>> This gaves me the idea that something in the configuration of the s905 soc
>> is not ok.
>>
>> here: https://forum.libreelec.tv/thread/12330-balbes150-le-images-with-kodi-19-for-s9xxx/?postID=147212#post147212
>> and here: https://lists.denx.de/pipermail/u-boot/2020-November/thread.html
>>
>> in https://groups.io/g/u-boot-amlogic/topic/77816805#661 some problems in pinctrl related to booting from emmc is discussed.
>>
>> i found that commit dd5f2351e99aad8fcbedbc1305b8b51b09952336 of u-boot
>> rendered the situation for odroid-c2 bad.
>>
>> i gave the following patch on Top of commit ee1e04558ff8c8ed812b986939447f129bb0b0bb of u-boot
>> a try ad it fixes the odroid-c2 boot issue.
>>
>> --- u-boot.git/arch/arm/dts/meson-gxbb.dtsi.orig        2020-11-27 17:20:04.624193561 +0100
>> +++ u-boot.git/arch/arm/dts/meson-gxbb.dtsi     2020-11-27 17:23:18.472088934 +0100
>> @@ -403,36 +403,33 @@
>>                          gpio-ranges = <&pinctrl_periphs 0 0 119>;
>>                  };
>>   
>> -               emmc_pins: emmc {
>> -                       mux-0 {
>> -                               groups = "emmc_nand_d07",
>> -                                      "emmc_cmd";
>> -                               function = "emmc";
>> -                               bias-pull-up;
>> -                       };
>>   
>> -                       mux-1 {
>> -                               groups = "emmc_clk";
>> -                               function = "emmc";
>> -                               bias-disable;
>> -                       };
>> -               };
>> +                emmc_pins: emmc {
>> +                        mux {
>> +                                groups = "emmc_nand_d07",
>> +                                       "emmc_cmd",
>> +                                       "emmc_clk";
>> +                                function = "emmc";
>> +                        };
>> +                };
>>   
>> -               emmc_ds_pins: emmc-ds {
>> -                       mux {
>> -                               groups = "emmc_ds";
>> -                               function = "emmc";
>> -                               bias-pull-down;
>> -                       };
>> -               };
>> +                emmc_ds_pins: emmc-ds {
>> +                        mux {
>> +                                groups = "emmc_ds";
>> +                                function = "emmc";
>> +                        };
>> +                };
>>   
>> -               emmc_clk_gate_pins: emmc_clk_gate {
>> -                       mux {
>> -                               groups = "BOOT_8";
>> -                               function = "gpio_periphs";
>> -                               bias-pull-down;
>> -                       };
>> -               };
>> +                emmc_clk_gate_pins: emmc_clk_gate {
>> +                        mux {
>> +                                groups = "BOOT_8";
>> +                                function = "gpio_periphs";
>> +                        };
>> +                        cfg-pull-down {
>> +                                pins = "BOOT_8";
>> +                                bias-pull-down;
>> +                        };
>> +                };
>>   
>>                  nor_pins: nor {
>>                          mux {
>>
>>
>>
>> So with the latest u-boot and the kernel from https://github.com/chewitt/linux/tree/amlogic-5.10.y
>> commit 725fc8df7898102f9031ba2075f763884ffa3ee8 everything is working again.
>> USB does hotplugging as expected.
> 
> So, this fixes USB under Linux ?? It's not clear
> 
> Neil

The above patch fixes booting from emmc for me.
Using a newer uboot then 2020.04 is mandatory for using the above mentioned kernel.
The usb issue, i had with earlier kernels from the above mentioned tree.

Hope that clearifies it. I wanted to run the newest kernel on my system which boots from emmc.
I think these issues are probaly independant but in my system they did interfere.

Best regards
Otto

> 
>>
>> For me this make it work again. But i`m sorry, I don´t know what would be a real fix.
>>
>>
>>
>>
>>
>>
>> Am 05.12.20 um 20:55 schrieb Martin Blumenstingl:
>>> Hi Otto,
>>>
>>> On Sat, Dec 5, 2020 at 6:40 PM Otto Meier <gf435 at gmx.net> wrote:
>>>>
>>>> Hi Martin,
>>>>
>>>> i have tried your second notice. but it does'nt solve the issue.
>>>> if at leased on device is pluged in new devices are detected. if
>>>> all devices have been removed, no new device will be detected anymore.
>>> thanks for trying this out and for reporting back.
>>> can you please also test if running "lsusb -vvv" (as root) makes the
>>> devices show up?
>>>
>>> background info: the Amlogic Meson GXBB SoC on your Odroid-C2 board
>>> uses a "dwc2" USB 2.0 controller.
>>> I don't have any GXBB based board, but my Odroid-C1+ uses the same
>>> controller and overall setup. There I can reproduce the problem you
>>> are seeing.
>>>
>>> I am not sure which part of the "infrastructure" (on-board 4-port USB
>>> hub, dwc2 controller, ...) is causing this issue.
>>> My suggestion is to involve the linux-usb mailing list and dwc2 driver
>>> maintainer:
>>> - Minas Harutyunyan <hminas at synopsys.com> (dwc2 driver maintainer)
>>> - linux-usb at vger.kernel.org (usb mailing list)
>>>
>>> In the past they provided information and helped to debug issues.
>>> Please also keep me Cc'ed so I can help with any Amlogic specific
>>> questions, drivers, etc.
>>>
>>>
>>> Best regards,
>>> Martin
>>>
> 
> 



More information about the linux-amlogic mailing list