[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