Re: [net-next v4 1/3] dt-bindings: net: dsa: yt921x: Add Motorcomm YT921x switch support
From: Andrew Lunn
Date: Mon Aug 18 2025 - 12:55:36 EST
> + 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