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]
Message-ID: <CAAXyoMP9aoSbDkSJhSDJ68-F6qubeVmV08YgvQS1cTKJYS-spw@mail.gmail.com>
Date: Tue, 19 Aug 2025 01:06:00 +0800
From: Yangfl <mmyangfl@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: netdev@...r.kernel.org, Vladimir Oltean <olteanv@...il.com>, 
	"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, 
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Rob Herring <robh@...nel.org>, 
	Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, 
	Simon Horman <horms@...nel.org>, Russell King <linux@...linux.org.uk>, devicetree@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [net-next v4 1/3] dt-bindings: net: dsa: yt921x: Add Motorcomm
 YT921x switch support

On Tue, Aug 19, 2025 at 12:55 AM Andrew Lunn <andrew@...n.ch> wrote:
>
> > +  motorcomm,switch-id:
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    description: |
> > +      Value selected by Pin SWITCH_ID_1 / SWITCH_ID_0.
> > +
> > +      Up to 4 chips can share the same MII port ('reg' in DT) by giving
> > +      different SWITCH_ID values. The default value should work if only one chip
> > +      is present.
> > +    enum: [0, 1, 2, 3]
> > +    default: 0
>
> It is like getting blood from a stone.
>
> So what you are saying is that you have:
>
>     mdio {
>         #address-cells = <1>;
>         #size-cells = <0>;
>
>         switch@1d {
>             compatible = "motorcomm,yt9215";
>             /* default 0x1d, alternate 0x0 */
>             reg = <0x1d>;
>             motorcomm,switch-id = <0>;
>             reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
> ...
>         }
>
>         switch@1d {
>             compatible = "motorcomm,yt9215";
>             reg = <0x1d>;
>             motorcomm,switch-id = <1>;
>             reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
> ...
>         }
>
>         switch@1d {
>             compatible = "motorcomm,yt9215";
>             reg = <0x1d>;
>             motorcomm,switch-id = <2>;
>             reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
> ...
>         }
>     }
>
> Have you tested this? My _guess_ is, it does not work.
>
> I'm not even sure DT allows you to have the same reg multiple times on
> one bus.
>
> I'm pretty sure the MDIO core does not allow multiple devices on one
> MDIO address. Each device is represented by a struct
> mdio_device. struct mii_bus has an array of 32 of these, one per
> address on the bus. You cannot have 4 of them for one address.
>
>     Andrew
>
> ---
> pw-bot: cr

Of course I cannot test this, since I only have a stock device, as
mentioned in patch 3.

But I think this is what the vendor wants to do, if I got it right
from the datasheet.

If this is not acceptable anyway, I might as well remove switch-id
completely since I doubt if anyone would concat more than one switch
together in real world.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ