[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YhFAMlSA0WYoSE6w@earth.li>
Date: Sat, 19 Feb 2022 19:08:34 +0000
From: Jonathan McDowell <noodles@...th.li>
To: Ansuel Smith <ansuelsmth@...il.com>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 16/18] ARM: dts: qcom: remove redundant binding from
ipq8064 rb3011 dts
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@...00000 {
device_type = "memory";
};
- mdio0: mdio-0 {
+ mdio0: mdio@...00000 {
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 |
\- |
Powered by blists - more mailing lists