[PATCH 4/5] arm: dts: k3-j721e-beagleboneai64: Fix USB operation

Roger Quadros rogerq at kernel.org
Fri Jan 12 14:06:26 CET 2024



On 12/01/2024 15:02, Nishanth Menon wrote:
> On 14:49-20240112, Roger Quadros wrote:
>> Without correct SERDES MUX and Lane control settings
>> USB0 will be broken. Set the MUX and Lane control devices
>> to be auto probed so they are configured correctly.
>>
>> Signed-off-by: Roger Quadros <rogerq at kernel.org>
>> ---
>>  arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
>> index f83caf7998..017a5a722e 100644
>> --- a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
>> +++ b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi
>> @@ -165,6 +165,7 @@
>>  
>>  &serdes_ln_ctrl {
>>  	bootph-all;
>> +	u-boot,mux-autoprobe;
>>  };
>>  
>>  &serdes2_usb_link {
>> @@ -173,6 +174,7 @@
>>  
>>  &usb_serdes_mux {
>>  	bootph-all;
>> +	u-boot,mux-autoprobe;
>>  };
>>  
>>  &serdes_wiz2 {
>> -- 
>> 2.34.1
>>
> 
> Is this a u-boot thing? or a driver limitation?
> 

u-boot specific. We just want the mux driver to probe
and apply the settings.

from drivers/mux/mux-uclass.c

int dm_mux_init(void)
{
        struct uclass *uc;
        struct udevice *dev;
        int ret;

        ret = uclass_get(UCLASS_MUX, &uc);
        if (ret < 0) {
                log_debug("unable to get MUX uclass\n");
                return ret;
        }
        uclass_foreach_dev(dev, uc) {
                if (dev_read_bool(dev, "u-boot,mux-autoprobe")) {
                        ret = device_probe(dev);
                        if (ret)
                                log_debug("unable to probe device %s\n",
                                          dev->name);
                }
        }

        return 0;
}


-- 
cheers,
-roger


More information about the U-Boot mailing list