lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 20 Feb 2022 15:50:05 +0100
From:   Ansuel Smith <ansuelsmth@...il.com>
To:     Jonathan McDowell <noodles@...th.li>
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 Sat, Feb 19, 2022 at 07:08:34PM +0000, Jonathan McDowell wrote:
> 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?
>

I encounter an error like that when the MDIO_MASTER_EN was set to 1.
Wonder if we should trigger a switch reset or a reset of the
MDIO_MASTER_EN before probing the switch? (this is currently done after
any phy read/write)
But it's strange... Wonder if the dedicated mdio can't work on this
device with 2 switch attached?

> 
> 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 |
> \-                              |

-- 
	Ansuel

Powered by blists - more mailing lists