The EcoNet EN751221 MIPS SoC integrates an MT7530 switch memory-mapped in the SoC register space. It is similar to the econet,en7528-switch except that ports 0..3 are 10/100 only, port 4 has a gigabit PHY, and port 5 has no PHY, but is in some implementations connected to a downstream MT7530 multi-chip module via a TRGMII link. The downstream MT7530 is similar to the MT7621 multi-chip module and has all gigabit ports. Add the econet,en751221-switch compatible with the same constraints as the other built-in switches and also add the econet,en751221 multi-chip-module switch whose port 6 is configured as a DSA link port. Signed-off-by: Caleb James DeLisle --- .../bindings/net/dsa/mediatek,mt7530.yaml | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml index e29fb8693498..106c4087528d 100644 --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml @@ -29,6 +29,12 @@ description: | and the switch registers are directly mapped into SoC's memory map rather than using MDIO. The DSA driver currently doesn't support MT7620 variants. + EcoNet EN751221 SoCs have a memory mapped MT7530 with 3x 10/100 PHYs and 1x + gigabit PHY. Some EN751221 chips such as EN7513G and EN7526G have a multi-chip + module implementation of the MT7530 as well as the on-die switch. In these + packages, the multi-chip module is connected to port 5 of the on-die switch + via a TRGMII link. + There is only the standalone version of MT7531. Port 5 on MT7530 supports various configurations: @@ -111,6 +117,14 @@ properties: Built-in switch of the EcoNet EN7528 SoC const: econet,en7528-switch + - description: + Built-in switch of EcoNet EN751221 SoC + const: econet,en751221-switch + + - description: + Multi-chip module MT7530 in EN751221 SoC + const: econet,en751221 + reg: maxItems: 1 @@ -160,8 +174,8 @@ properties: mediatek,mcm: type: boolean description: - Used for MT7621AT, MT7621DAT, MT7621ST and MT7623AI SoCs which the MT7530 - switch is a part of the multi-chip module. + Used for MT7621AT, MT7621DAT, MT7621ST, MT7623AI and EN751221 SoCs which + the MT7530 switch is a part of the multi-chip module. reset-gpios: description: | @@ -223,6 +237,20 @@ $defs: phy-mode: const: internal + mt7530-passthrough-dsa-port: + patternProperties: + "^(ethernet-)?ports$": + patternProperties: + "^(ethernet-)?port@[0-6]$": + if: + required: [ link ] + then: + properties: + reg: + const: 6 + phy-mode: + const: trgmii + mt7530-dsa-port: patternProperties: "^(ethernet-)?ports$": @@ -330,6 +358,7 @@ allOf: - airoha,en7581-switch - airoha,an7583-switch - econet,en7528-switch + - econet,en751221-switch then: $ref: "#/$defs/builtin-dsa-port" properties: @@ -337,6 +366,16 @@ allOf: mediatek,mcm: false reset-names: false + - if: + properties: + compatible: + enum: + - econet,en751221 + then: + $ref: "#/$defs/mt7530-passthrough-dsa-port" + required: + - mediatek,mcm + unevaluatedProperties: false examples: -- 2.39.5