The compatible property only checks that the first entry is an Amlogic name and that "snps,dwmac" or "snps,dwmac-3.70a" appears somewhere in the list. It cannot express which fallbacks each SoC takes, so a SoC built on a different Synopsys core cannot be added without loosening the check for every other one. List the combinations the device trees actually use: Meson6 and Meson8m2 fall back to "snps,dwmac" alone, the others also name the 3.70a core. The example used a two-entry form no device tree has, so give it the Meson GXBB combination. Assisted-by: LLM Suggested-by: Conor Dooley Acked-by: Conor Dooley Signed-off-by: Lucas Tanure --- .../bindings/net/amlogic,meson-dwmac.yaml | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml index 5c91716d1f21..90ef79161ab1 100644 --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml @@ -129,20 +129,20 @@ allOf: properties: compatible: - additionalItems: true - maxItems: 3 - items: - - enum: - - amlogic,meson6-dwmac - - amlogic,meson8b-dwmac - - amlogic,meson8m2-dwmac - - amlogic,meson-gxbb-dwmac - - amlogic,meson-axg-dwmac - - amlogic,meson-g12a-dwmac - contains: - enum: - - snps,dwmac-3.70a - - snps,dwmac + oneOf: + - items: + - enum: + - amlogic,meson8b-dwmac + - amlogic,meson-gxbb-dwmac + - amlogic,meson-axg-dwmac + - amlogic,meson-g12a-dwmac + - const: snps,dwmac-3.70a + - const: snps,dwmac + - items: + - enum: + - amlogic,meson6-dwmac + - amlogic,meson8m2-dwmac + - const: snps,dwmac reg: items: @@ -172,7 +172,7 @@ unevaluatedProperties: false examples: - | ethmac: ethernet@c9410000 { - compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac"; + compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac-3.70a", "snps,dwmac"; reg = <0xc9410000 0x10000>, <0xc8834540 0x8>; interrupts = <8>; interrupt-names = "macirq"; -- 2.56.0