On Fri, Feb 18, 2022 at 02:11:59PM +0000, Jonathan McDowell wrote: > On Fri, Feb 18, 2022 at 01:29:54AM +0100, Ansuel Smith wrote: > > Mdio0_pins are now declared in ipq8064 dtsi. Usb phy are enabled by > > default. ... > > - mdio0_pins: mdio0_pins { > > - mux { > > - pins = "gpio0", "gpio1"; > > - function = "gpio"; > > - drive-strength = <8>; > > - bias-disable; > > - }; > > - }; > > - > > This sets the pins to "gpio". Your earlier patch sets them to "mdio", so > removing this will break MDIO0 on the RB3011. It's likely that your > fixes for MDIO/QCA8K mean that the RB3011 can be switch to use the MDIO > driver rather than mdio-gpio, but that will need tested and this change > alone will definitely break things. I tried the below patch to switch the RB3011 to the IPQ8064 MDIO driver (based on qcom,ipq8064-mdio.yaml) and get: [ 1.270310] qca8k 37000000.mdio-mii:10: Switch id detected 0 but expected 13 and none of the ports on that associated switch come up. Kernel is 5.15.23 rather than latest, but there are no updates to mdio-ipq8064.c in later kernels than I can see and none of the qca8k changes seem relevant. Is there something else I'm missing? diff --git a/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts index c3e3070702f9..0cafee65ca22 100644 --- a/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts +++ b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts @@ -24,13 +24,13 @@ memory@42000000 { device_type = "memory"; }; - mdio0: mdio-0 { + mdio0: mdio@37000000 { status = "okay"; - compatible = "virtual,mdio-gpio"; - gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>, - <&qcom_pinmux 0 GPIO_ACTIVE_HIGH>; + compatible = "qcom,ipq8064-mdio"; #address-cells = <1>; #size-cells = <0>; + reg = <0x37000000 0x200000>; + clocks = <&gcc GMAC_CORE1_CLK>; pinctrl-0 = <&mdio0_pins>; pinctrl-names = "default"; @@ -318,7 +318,7 @@ mux { mdio0_pins: mdio0_pins { mux { pins = "gpio0", "gpio1"; - function = "gpio"; + function = "mdio"; drive-strength = <8>; bias-disable; }; J. -- /-\ | Shall I call the United Nations? |@/ Debian GNU/Linux Developer | \- |