Re: [PATCH v2 6/7] dt-bindings: net: dsa: mediatek,mt7530: define phy-mode for each compatible

From: Arınç ÜNAL
Date: Tue Aug 16 2022 - 18:10:10 EST


On 17.08.2022 00:21, Rob Herring wrote:
On Sat, Aug 13, 2022 at 06:44:14PM +0300, Arınç ÜNAL wrote:
Define acceptable phy-mode values for CPU port of each compatible device.
Remove relevant information from the description of the binding.

I'm not really sure this is worth the complexity just to check
'phy-mode'...

I can describe it on the binding description but it won't be checked on DT bindings. phy-mode values are significantly different between mt7530 and mt7531 so I think it's useful to have it.



Signed-off-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
---
.../bindings/net/dsa/mediatek,mt7530.yaml | 103 ++++++++++++++++--
1 file changed, 92 insertions(+), 11 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index a27cb4fa490f..530ef5a75a2f 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -49,17 +49,6 @@ description: |
* mt7621: phy-mode = "rgmii-txid";
* mt7623: phy-mode = "rgmii";
- CPU-Ports need a phy-mode property:
- Allowed values on mt7530 and mt7621:
- - "rgmii"
- - "trgmii"
- On mt7531:
- - "1000base-x"
- - "2500base-x"
- - "rgmii"
- - "sgmii"
-
-
properties:
compatible:
oneOf:
@@ -177,6 +166,36 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - gmii
+ - mii
+ - rgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:

You've restricted this to ports 5 or 6 already, so you just need an
'else' here. And you can then drop the 'allOf'.

Good thinking, will do.


+ properties:
+ phy-mode:
+ enum:
+ - rgmii
+ - trgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+
required:
- phy-mode
@@ -206,6 +225,38 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - 1000base-x
+ - 2500base-x
+ - rgmii
+ - sgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - 1000base-x
+ - 2500base-x
+ - sgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+
required:
- phy-mode
@@ -235,6 +286,36 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - gmii
+ - mii
+ - rgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - rgmii
+ - trgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+

Looks like the same schema duplicated. You can put it under a '$defs'
and reference it twice.

Great!


required:
- phy-mode
--
2.34.1