From 946bc3bc48b734f0a36e8802f6bfc41a613500b1 Mon Sep 17 00:00:00 2001 From: Roger Quadros Date: Wed, 31 Jan 2024 15:33:46 +0200 Subject: mux: autoprobe if "idle-states" present in device tree Some platforms need the MUX state to be auto initialized at boot time even if there are no explicit users for the MUX. In these cases, the MUX device tree has "idle-states" property which specifies what state the MUX should be initialized to. So far we were relying on custom u-boot property "u-boot,mux-autoprobe" to autoprobe such MUXes. This patch causes the MUX to autoprobe if it has "idle-states" property in device tree. This should allow us to stop using the custom "u-boot,mux-autoprobe" property. Signed-off-by: Roger Quadros --- drivers/mux/mux-uclass.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mux/mux-uclass.c b/drivers/mux/mux-uclass.c index c98576ceb81..8833888ded3 100644 --- a/drivers/mux/mux-uclass.c +++ b/drivers/mux/mux-uclass.c @@ -318,7 +318,8 @@ int dm_mux_init(void) return ret; } uclass_foreach_dev(dev, uc) { - if (dev_read_bool(dev, "u-boot,mux-autoprobe")) { + if (dev_read_bool(dev, "u-boot,mux-autoprobe") || + dev_read_bool(dev, "idle-states")) { ret = device_probe(dev); if (ret) log_debug("unable to probe device %s\n", -- cgit v1.3.1 From 6a2c7ea53fd538db14ca8669cb90aedc0c72cd45 Mon Sep 17 00:00:00 2001 From: Roger Quadros Date: Wed, 31 Jan 2024 15:33:47 +0200 Subject: arm: dts: k3-u-boot: Drop usage of "u-boot, mux-autoprobe" MUX driver should autoprobe if the device tree has "idle-states" property. Drop using the custom "u-boot,mux-autoprobe" property. Signed-off-by: Roger Quadros --- arch/arm/dts/k3-am642-sk-u-boot.dtsi | 4 ---- arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi | 2 -- arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi | 8 -------- arch/arm/dts/k3-j721e-sk-u-boot.dtsi | 8 -------- 4 files changed, 22 deletions(-) diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index 2eb227c1d00..f3ed376ab77 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -184,10 +184,6 @@ bootph-all; }; -&serdes_ln_ctrl { - u-boot,mux-autoprobe; -}; - &usbss0 { bootph-all; }; diff --git a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi index 017a5a722e0..f83caf79988 100644 --- a/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi +++ b/arch/arm/dts/k3-j721e-beagleboneai64-u-boot.dtsi @@ -165,7 +165,6 @@ &serdes_ln_ctrl { bootph-all; - u-boot,mux-autoprobe; }; &serdes2_usb_link { @@ -174,7 +173,6 @@ &usb_serdes_mux { bootph-all; - u-boot,mux-autoprobe; }; &serdes_wiz2 { diff --git a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi index 7ae7cf3d4c9..b77f8d92de3 100644 --- a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi +++ b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi @@ -93,14 +93,6 @@ bootph-all; }; -&serdes_ln_ctrl { - u-boot,mux-autoprobe; -}; - -&usb_serdes_mux { - u-boot,mux-autoprobe; -}; - &main_usbss0_pins_default { bootph-all; }; diff --git a/arch/arm/dts/k3-j721e-sk-u-boot.dtsi b/arch/arm/dts/k3-j721e-sk-u-boot.dtsi index 479b7bcd6f8..370fe5190b2 100644 --- a/arch/arm/dts/k3-j721e-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-j721e-sk-u-boot.dtsi @@ -89,14 +89,6 @@ bootph-all; }; -&serdes_ln_ctrl { - u-boot,mux-autoprobe; -}; - -&usb_serdes_mux { - u-boot,mux-autoprobe; -}; - &main_usbss0_pins_default { bootph-all; }; -- cgit v1.3.1 From 9885161469c3cd56b3632c8fcb414e9b3d0b8cf8 Mon Sep 17 00:00:00 2001 From: Roger Quadros Date: Wed, 31 Jan 2024 15:33:48 +0200 Subject: arm: dts: k3-u-boot: Add missing "bootph-all" property to MUX nodes. As it is present for USB and USB won't work without the MUX initialized correctly, add "bootph-all" property to MUX nodes. Signed-off-by: Roger Quadros --- arch/arm/dts/k3-am642-sk-u-boot.dtsi | 4 ++++ arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi | 8 ++++++++ arch/arm/dts/k3-j721e-sk-u-boot.dtsi | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index f3ed376ab77..ea200a1ee1c 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -184,6 +184,10 @@ bootph-all; }; +&serdes_ln_ctrl { + bootph-all; +}; + &usbss0 { bootph-all; }; diff --git a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi index b77f8d92de3..9433f3bafae 100644 --- a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi +++ b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi @@ -93,6 +93,14 @@ bootph-all; }; +&serdes_ln_ctrl { + bootph-all; +}; + +&usb_serdes_mux { + bootph-all; +}; + &main_usbss0_pins_default { bootph-all; }; diff --git a/arch/arm/dts/k3-j721e-sk-u-boot.dtsi b/arch/arm/dts/k3-j721e-sk-u-boot.dtsi index 370fe5190b2..fff447094ae 100644 --- a/arch/arm/dts/k3-j721e-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-j721e-sk-u-boot.dtsi @@ -89,6 +89,14 @@ bootph-all; }; +&serdes_ln_ctrl { + bootph-all; +}; + +&usb_serdes_mux { + bootph-all; +}; + &main_usbss0_pins_default { bootph-all; }; -- cgit v1.3.1