* [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
@ 2023-12-20 0:28 ` Cristian Ciocaltea
0 siblings, 0 replies; 12+ messages in thread
From: Cristian Ciocaltea @ 2023-12-20 0:28 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Emil Renner Berthing, Samin Guo, Alexandre Torgue, Jose Abreu,
Maxime Coquelin, Giuseppe Cavallaro, Andrew Lunn, Jacob Keller
Cc: netdev, devicetree, linux-kernel, linux-stm32, linux-arm-kernel,
kernel
The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
similar to the newer JH7110, but it requires only two interrupts and a
single reset line, which is 'ahb' instead of the commonly used
'stmmaceth'.
Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
conjunction with 'stmmaceth', extend the logic to also permit exclusive
usage of the 'ahb' reset name. This ensures the following use cases are
supported:
JH7110: reset-names = "stmmaceth", "ahb";
JH7100: reset-names = "ahb";
other: reset-names = "stmmaceth";
Also note the need to use a different dwmac fallback, as v5.20 applies
to JH7110 only, while JH7100 relies on v3.7x.
Additionally, drop the reset description items from top-level binding as
they are already provided by the included snps,dwmac schema.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../devicetree/bindings/net/snps,dwmac.yaml | 11 ++-
.../bindings/net/starfive,jh7110-dwmac.yaml | 75 +++++++++++++------
2 files changed, 60 insertions(+), 26 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index 5c2769dc689a..90c4db178c67 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -95,6 +95,7 @@ properties:
- snps,dwmac-5.20
- snps,dwxgmac
- snps,dwxgmac-2.10
+ - starfive,jh7100-dwmac
- starfive,jh7110-dwmac
reg:
@@ -144,10 +145,12 @@ properties:
- description: AHB reset
reset-names:
- minItems: 1
- items:
- - const: stmmaceth
- - const: ahb
+ oneOf:
+ - items:
+ - enum: [stmmaceth, ahb]
+ - items:
+ - const: stmmaceth
+ - const: ahb
power-domains:
maxItems: 1
diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
index 5e7cfbbebce6..f5f0bff5be0f 100644
--- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
@@ -16,16 +16,20 @@ select:
compatible:
contains:
enum:
+ - starfive,jh7100-dwmac
- starfive,jh7110-dwmac
required:
- compatible
properties:
compatible:
- items:
- - enum:
- - starfive,jh7110-dwmac
- - const: snps,dwmac-5.20
+ oneOf:
+ - items:
+ - const: starfive,jh7100-dwmac
+ - const: snps,dwmac
+ - items:
+ - const: starfive,jh7110-dwmac
+ - const: snps,dwmac-5.20
reg:
maxItems: 1
@@ -46,24 +50,6 @@ properties:
- const: tx
- const: gtx
- interrupts:
- minItems: 3
- maxItems: 3
-
- interrupt-names:
- minItems: 3
- maxItems: 3
-
- resets:
- items:
- - description: MAC Reset signal.
- - description: AHB Reset signal.
-
- reset-names:
- items:
- - const: stmmaceth
- - const: ahb
-
starfive,tx-use-rgmii-clk:
description:
Tx clock is provided by external rgmii clock.
@@ -94,6 +80,51 @@ required:
allOf:
- $ref: snps,dwmac.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: starfive,jh7100-dwmac
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ interrupt-names:
+ minItems: 2
+ maxItems: 2
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ const: ahb
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: starfive,jh7110-dwmac
+ then:
+ properties:
+ interrupts:
+ minItems: 3
+ maxItems: 3
+
+ interrupt-names:
+ minItems: 3
+ maxItems: 3
+
+ resets:
+ minItems: 2
+ maxItems: 2
+
+ reset-names:
+ items:
+ - const: stmmaceth
+ - const: ahb
+
unevaluatedProperties: false
examples:
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
2023-12-20 0:28 ` Cristian Ciocaltea
@ 2023-12-20 22:12 ` Jacob Keller
-1 siblings, 0 replies; 12+ messages in thread
From: Jacob Keller @ 2023-12-20 22:12 UTC (permalink / raw)
To: Cristian Ciocaltea, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Emil Renner Berthing, Samin Guo, Alexandre Torgue, Jose Abreu,
Maxime Coquelin, Giuseppe Cavallaro, Andrew Lunn
Cc: netdev, devicetree, linux-kernel, linux-stm32, linux-arm-kernel,
kernel
On 12/19/2023 4:28 PM, Cristian Ciocaltea wrote:
> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
> similar to the newer JH7110, but it requires only two interrupts and a
> single reset line, which is 'ahb' instead of the commonly used
> 'stmmaceth'.
>
> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
> conjunction with 'stmmaceth', extend the logic to also permit exclusive
> usage of the 'ahb' reset name. This ensures the following use cases are
> supported:
>
> JH7110: reset-names = "stmmaceth", "ahb";
> JH7100: reset-names = "ahb";
> other: reset-names = "stmmaceth";
>
> Also note the need to use a different dwmac fallback, as v5.20 applies
> to JH7110 only, while JH7100 relies on v3.7x.
>
> Additionally, drop the reset description items from top-level binding as
> they are already provided by the included snps,dwmac schema.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
@ 2023-12-20 22:12 ` Jacob Keller
0 siblings, 0 replies; 12+ messages in thread
From: Jacob Keller @ 2023-12-20 22:12 UTC (permalink / raw)
To: Cristian Ciocaltea, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Emil Renner Berthing, Samin Guo, Alexandre Torgue, Jose Abreu,
Maxime Coquelin, Giuseppe Cavallaro, Andrew Lunn
Cc: netdev, devicetree, linux-kernel, linux-stm32, linux-arm-kernel,
kernel
On 12/19/2023 4:28 PM, Cristian Ciocaltea wrote:
> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
> similar to the newer JH7110, but it requires only two interrupts and a
> single reset line, which is 'ahb' instead of the commonly used
> 'stmmaceth'.
>
> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
> conjunction with 'stmmaceth', extend the logic to also permit exclusive
> usage of the 'ahb' reset name. This ensures the following use cases are
> supported:
>
> JH7110: reset-names = "stmmaceth", "ahb";
> JH7100: reset-names = "ahb";
> other: reset-names = "stmmaceth";
>
> Also note the need to use a different dwmac fallback, as v5.20 applies
> to JH7110 only, while JH7100 relies on v3.7x.
>
> Additionally, drop the reset description items from top-level binding as
> they are already provided by the included snps,dwmac schema.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
2023-12-20 0:28 ` Cristian Ciocaltea
@ 2023-12-21 22:21 ` Rob Herring
-1 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2023-12-21 22:21 UTC (permalink / raw)
To: Cristian Ciocaltea
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Krzysztof Kozlowski, Conor Dooley, Emil Renner Berthing,
Samin Guo, Alexandre Torgue, Jose Abreu, Maxime Coquelin,
Giuseppe Cavallaro, Andrew Lunn, Jacob Keller, netdev, devicetree,
linux-kernel, linux-stm32, linux-arm-kernel, kernel
On Wed, Dec 20, 2023 at 02:28:22AM +0200, Cristian Ciocaltea wrote:
> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
> similar to the newer JH7110, but it requires only two interrupts and a
> single reset line, which is 'ahb' instead of the commonly used
> 'stmmaceth'.
>
> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
> conjunction with 'stmmaceth', extend the logic to also permit exclusive
> usage of the 'ahb' reset name. This ensures the following use cases are
> supported:
>
> JH7110: reset-names = "stmmaceth", "ahb";
> JH7100: reset-names = "ahb";
> other: reset-names = "stmmaceth";
>
> Also note the need to use a different dwmac fallback, as v5.20 applies
> to JH7110 only, while JH7100 relies on v3.7x.
>
> Additionally, drop the reset description items from top-level binding as
> they are already provided by the included snps,dwmac schema.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
> .../devicetree/bindings/net/snps,dwmac.yaml | 11 ++-
> .../bindings/net/starfive,jh7110-dwmac.yaml | 75 +++++++++++++------
> 2 files changed, 60 insertions(+), 26 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> index 5c2769dc689a..90c4db178c67 100644
> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> @@ -95,6 +95,7 @@ properties:
> - snps,dwmac-5.20
> - snps,dwxgmac
> - snps,dwxgmac-2.10
> + - starfive,jh7100-dwmac
> - starfive,jh7110-dwmac
>
> reg:
> @@ -144,10 +145,12 @@ properties:
> - description: AHB reset
>
> reset-names:
> - minItems: 1
> - items:
> - - const: stmmaceth
> - - const: ahb
> + oneOf:
> + - items:
> + - enum: [stmmaceth, ahb]
> + - items:
> + - const: stmmaceth
> + - const: ahb
>
> power-domains:
> maxItems: 1
> diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> index 5e7cfbbebce6..f5f0bff5be0f 100644
> --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> @@ -16,16 +16,20 @@ select:
> compatible:
> contains:
> enum:
> + - starfive,jh7100-dwmac
> - starfive,jh7110-dwmac
> required:
> - compatible
>
> properties:
> compatible:
> - items:
> - - enum:
> - - starfive,jh7110-dwmac
> - - const: snps,dwmac-5.20
> + oneOf:
> + - items:
> + - const: starfive,jh7100-dwmac
> + - const: snps,dwmac
> + - items:
> + - const: starfive,jh7110-dwmac
> + - const: snps,dwmac-5.20
>
> reg:
> maxItems: 1
> @@ -46,24 +50,6 @@ properties:
> - const: tx
> - const: gtx
>
> - interrupts:
> - minItems: 3
> - maxItems: 3
> -
> - interrupt-names:
> - minItems: 3
> - maxItems: 3
> -
> - resets:
> - items:
> - - description: MAC Reset signal.
> - - description: AHB Reset signal.
> -
> - reset-names:
> - items:
> - - const: stmmaceth
> - - const: ahb
> -
> starfive,tx-use-rgmii-clk:
> description:
> Tx clock is provided by external rgmii clock.
> @@ -94,6 +80,51 @@ required:
> allOf:
> - $ref: snps,dwmac.yaml#
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: starfive,jh7100-dwmac
> + then:
> + properties:
> + interrupts:
> + minItems: 2
> + maxItems: 2
> +
> + interrupt-names:
> + minItems: 2
> + maxItems: 2
> +
> + resets:
> + maxItems: 1
> +
> + reset-names:
> + const: ahb
Just 'maxItems: 1'
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: starfive,jh7110-dwmac
> + then:
> + properties:
> + interrupts:
> + minItems: 3
> + maxItems: 3
> +
> + interrupt-names:
> + minItems: 3
> + maxItems: 3
> +
> + resets:
> + minItems: 2
> + maxItems: 2
max is already 2. Drop.
> +
> + reset-names:
> + items:
> + - const: stmmaceth
> + - const: ahb
Already defined the names. Just 'minItems: 2'.
> +
> unevaluatedProperties: false
>
> examples:
> --
> 2.43.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
@ 2023-12-21 22:21 ` Rob Herring
0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2023-12-21 22:21 UTC (permalink / raw)
To: Cristian Ciocaltea
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Krzysztof Kozlowski, Conor Dooley, Emil Renner Berthing,
Samin Guo, Alexandre Torgue, Jose Abreu, Maxime Coquelin,
Giuseppe Cavallaro, Andrew Lunn, Jacob Keller, netdev, devicetree,
linux-kernel, linux-stm32, linux-arm-kernel, kernel
On Wed, Dec 20, 2023 at 02:28:22AM +0200, Cristian Ciocaltea wrote:
> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
> similar to the newer JH7110, but it requires only two interrupts and a
> single reset line, which is 'ahb' instead of the commonly used
> 'stmmaceth'.
>
> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
> conjunction with 'stmmaceth', extend the logic to also permit exclusive
> usage of the 'ahb' reset name. This ensures the following use cases are
> supported:
>
> JH7110: reset-names = "stmmaceth", "ahb";
> JH7100: reset-names = "ahb";
> other: reset-names = "stmmaceth";
>
> Also note the need to use a different dwmac fallback, as v5.20 applies
> to JH7110 only, while JH7100 relies on v3.7x.
>
> Additionally, drop the reset description items from top-level binding as
> they are already provided by the included snps,dwmac schema.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
> .../devicetree/bindings/net/snps,dwmac.yaml | 11 ++-
> .../bindings/net/starfive,jh7110-dwmac.yaml | 75 +++++++++++++------
> 2 files changed, 60 insertions(+), 26 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> index 5c2769dc689a..90c4db178c67 100644
> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> @@ -95,6 +95,7 @@ properties:
> - snps,dwmac-5.20
> - snps,dwxgmac
> - snps,dwxgmac-2.10
> + - starfive,jh7100-dwmac
> - starfive,jh7110-dwmac
>
> reg:
> @@ -144,10 +145,12 @@ properties:
> - description: AHB reset
>
> reset-names:
> - minItems: 1
> - items:
> - - const: stmmaceth
> - - const: ahb
> + oneOf:
> + - items:
> + - enum: [stmmaceth, ahb]
> + - items:
> + - const: stmmaceth
> + - const: ahb
>
> power-domains:
> maxItems: 1
> diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> index 5e7cfbbebce6..f5f0bff5be0f 100644
> --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> @@ -16,16 +16,20 @@ select:
> compatible:
> contains:
> enum:
> + - starfive,jh7100-dwmac
> - starfive,jh7110-dwmac
> required:
> - compatible
>
> properties:
> compatible:
> - items:
> - - enum:
> - - starfive,jh7110-dwmac
> - - const: snps,dwmac-5.20
> + oneOf:
> + - items:
> + - const: starfive,jh7100-dwmac
> + - const: snps,dwmac
> + - items:
> + - const: starfive,jh7110-dwmac
> + - const: snps,dwmac-5.20
>
> reg:
> maxItems: 1
> @@ -46,24 +50,6 @@ properties:
> - const: tx
> - const: gtx
>
> - interrupts:
> - minItems: 3
> - maxItems: 3
> -
> - interrupt-names:
> - minItems: 3
> - maxItems: 3
> -
> - resets:
> - items:
> - - description: MAC Reset signal.
> - - description: AHB Reset signal.
> -
> - reset-names:
> - items:
> - - const: stmmaceth
> - - const: ahb
> -
> starfive,tx-use-rgmii-clk:
> description:
> Tx clock is provided by external rgmii clock.
> @@ -94,6 +80,51 @@ required:
> allOf:
> - $ref: snps,dwmac.yaml#
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: starfive,jh7100-dwmac
> + then:
> + properties:
> + interrupts:
> + minItems: 2
> + maxItems: 2
> +
> + interrupt-names:
> + minItems: 2
> + maxItems: 2
> +
> + resets:
> + maxItems: 1
> +
> + reset-names:
> + const: ahb
Just 'maxItems: 1'
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: starfive,jh7110-dwmac
> + then:
> + properties:
> + interrupts:
> + minItems: 3
> + maxItems: 3
> +
> + interrupt-names:
> + minItems: 3
> + maxItems: 3
> +
> + resets:
> + minItems: 2
> + maxItems: 2
max is already 2. Drop.
> +
> + reset-names:
> + items:
> + - const: stmmaceth
> + - const: ahb
Already defined the names. Just 'minItems: 2'.
> +
> unevaluatedProperties: false
>
> examples:
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
2023-12-21 22:21 ` Rob Herring
@ 2023-12-22 0:25 ` Cristian Ciocaltea
-1 siblings, 0 replies; 12+ messages in thread
From: Cristian Ciocaltea @ 2023-12-22 0:25 UTC (permalink / raw)
To: Rob Herring
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Krzysztof Kozlowski, Conor Dooley, Emil Renner Berthing,
Samin Guo, Alexandre Torgue, Jose Abreu, Maxime Coquelin,
Giuseppe Cavallaro, Andrew Lunn, Jacob Keller, netdev, devicetree,
linux-kernel, linux-stm32, linux-arm-kernel, kernel
On 12/22/23 00:21, Rob Herring wrote:
> On Wed, Dec 20, 2023 at 02:28:22AM +0200, Cristian Ciocaltea wrote:
>> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
>> similar to the newer JH7110, but it requires only two interrupts and a
>> single reset line, which is 'ahb' instead of the commonly used
>> 'stmmaceth'.
>>
>> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
>> conjunction with 'stmmaceth', extend the logic to also permit exclusive
>> usage of the 'ahb' reset name. This ensures the following use cases are
>> supported:
>>
>> JH7110: reset-names = "stmmaceth", "ahb";
>> JH7100: reset-names = "ahb";
>> other: reset-names = "stmmaceth";
>>
>> Also note the need to use a different dwmac fallback, as v5.20 applies
>> to JH7110 only, while JH7100 relies on v3.7x.
>>
>> Additionally, drop the reset description items from top-level binding as
>> they are already provided by the included snps,dwmac schema.
>>
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>> ---
>> .../devicetree/bindings/net/snps,dwmac.yaml | 11 ++-
>> .../bindings/net/starfive,jh7110-dwmac.yaml | 75 +++++++++++++------
>> 2 files changed, 60 insertions(+), 26 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> index 5c2769dc689a..90c4db178c67 100644
>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> @@ -95,6 +95,7 @@ properties:
>> - snps,dwmac-5.20
>> - snps,dwxgmac
>> - snps,dwxgmac-2.10
>> + - starfive,jh7100-dwmac
>> - starfive,jh7110-dwmac
>>
>> reg:
>> @@ -144,10 +145,12 @@ properties:
>> - description: AHB reset
>>
>> reset-names:
>> - minItems: 1
>> - items:
>> - - const: stmmaceth
>> - - const: ahb
>> + oneOf:
>> + - items:
>> + - enum: [stmmaceth, ahb]
>> + - items:
>> + - const: stmmaceth
>> + - const: ahb
>>
>> power-domains:
>> maxItems: 1
>> diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> index 5e7cfbbebce6..f5f0bff5be0f 100644
>> --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> @@ -16,16 +16,20 @@ select:
>> compatible:
>> contains:
>> enum:
>> + - starfive,jh7100-dwmac
>> - starfive,jh7110-dwmac
>> required:
>> - compatible
>>
>> properties:
>> compatible:
>> - items:
>> - - enum:
>> - - starfive,jh7110-dwmac
>> - - const: snps,dwmac-5.20
>> + oneOf:
>> + - items:
>> + - const: starfive,jh7100-dwmac
>> + - const: snps,dwmac
>> + - items:
>> + - const: starfive,jh7110-dwmac
>> + - const: snps,dwmac-5.20
>>
>> reg:
>> maxItems: 1
>> @@ -46,24 +50,6 @@ properties:
>> - const: tx
>> - const: gtx
>>
>> - interrupts:
>> - minItems: 3
>> - maxItems: 3
>> -
>> - interrupt-names:
>> - minItems: 3
>> - maxItems: 3
>> -
>> - resets:
>> - items:
>> - - description: MAC Reset signal.
>> - - description: AHB Reset signal.
>> -
>> - reset-names:
>> - items:
>> - - const: stmmaceth
>> - - const: ahb
>> -
>> starfive,tx-use-rgmii-clk:
>> description:
>> Tx clock is provided by external rgmii clock.
>> @@ -94,6 +80,51 @@ required:
>> allOf:
>> - $ref: snps,dwmac.yaml#
>>
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: starfive,jh7100-dwmac
>> + then:
>> + properties:
>> + interrupts:
>> + minItems: 2
>> + maxItems: 2
>> +
>> + interrupt-names:
>> + minItems: 2
>> + maxItems: 2
>> +
>> + resets:
>> + maxItems: 1
>> +
>> + reset-names:
>> + const: ahb
>
> Just 'maxItems: 1'
This would allow using either 'ahb' or 'stmmaceth', while only the
former should be permitted.
No issues with the other two optimizations, will be handled in v3.
Thank you for reviewing,
Cristian
>> +
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: starfive,jh7110-dwmac
>> + then:
>> + properties:
>> + interrupts:
>> + minItems: 3
>> + maxItems: 3
>> +
>> + interrupt-names:
>> + minItems: 3
>> + maxItems: 3
>> +
>> + resets:
>> + minItems: 2
>> + maxItems: 2
>
> max is already 2. Drop.
>
>> +
>> + reset-names:
>> + items:
>> + - const: stmmaceth
>> + - const: ahb
>
> Already defined the names. Just 'minItems: 2'.
>
>> +
>> unevaluatedProperties: false
>>
>> examples:
>> --
>> 2.43.0
>>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
@ 2023-12-22 0:25 ` Cristian Ciocaltea
0 siblings, 0 replies; 12+ messages in thread
From: Cristian Ciocaltea @ 2023-12-22 0:25 UTC (permalink / raw)
To: Rob Herring
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Krzysztof Kozlowski, Conor Dooley, Emil Renner Berthing,
Samin Guo, Alexandre Torgue, Jose Abreu, Maxime Coquelin,
Giuseppe Cavallaro, Andrew Lunn, Jacob Keller, netdev, devicetree,
linux-kernel, linux-stm32, linux-arm-kernel, kernel
On 12/22/23 00:21, Rob Herring wrote:
> On Wed, Dec 20, 2023 at 02:28:22AM +0200, Cristian Ciocaltea wrote:
>> The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
>> similar to the newer JH7110, but it requires only two interrupts and a
>> single reset line, which is 'ahb' instead of the commonly used
>> 'stmmaceth'.
>>
>> Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
>> conjunction with 'stmmaceth', extend the logic to also permit exclusive
>> usage of the 'ahb' reset name. This ensures the following use cases are
>> supported:
>>
>> JH7110: reset-names = "stmmaceth", "ahb";
>> JH7100: reset-names = "ahb";
>> other: reset-names = "stmmaceth";
>>
>> Also note the need to use a different dwmac fallback, as v5.20 applies
>> to JH7110 only, while JH7100 relies on v3.7x.
>>
>> Additionally, drop the reset description items from top-level binding as
>> they are already provided by the included snps,dwmac schema.
>>
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>> ---
>> .../devicetree/bindings/net/snps,dwmac.yaml | 11 ++-
>> .../bindings/net/starfive,jh7110-dwmac.yaml | 75 +++++++++++++------
>> 2 files changed, 60 insertions(+), 26 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> index 5c2769dc689a..90c4db178c67 100644
>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> @@ -95,6 +95,7 @@ properties:
>> - snps,dwmac-5.20
>> - snps,dwxgmac
>> - snps,dwxgmac-2.10
>> + - starfive,jh7100-dwmac
>> - starfive,jh7110-dwmac
>>
>> reg:
>> @@ -144,10 +145,12 @@ properties:
>> - description: AHB reset
>>
>> reset-names:
>> - minItems: 1
>> - items:
>> - - const: stmmaceth
>> - - const: ahb
>> + oneOf:
>> + - items:
>> + - enum: [stmmaceth, ahb]
>> + - items:
>> + - const: stmmaceth
>> + - const: ahb
>>
>> power-domains:
>> maxItems: 1
>> diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> index 5e7cfbbebce6..f5f0bff5be0f 100644
>> --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
>> @@ -16,16 +16,20 @@ select:
>> compatible:
>> contains:
>> enum:
>> + - starfive,jh7100-dwmac
>> - starfive,jh7110-dwmac
>> required:
>> - compatible
>>
>> properties:
>> compatible:
>> - items:
>> - - enum:
>> - - starfive,jh7110-dwmac
>> - - const: snps,dwmac-5.20
>> + oneOf:
>> + - items:
>> + - const: starfive,jh7100-dwmac
>> + - const: snps,dwmac
>> + - items:
>> + - const: starfive,jh7110-dwmac
>> + - const: snps,dwmac-5.20
>>
>> reg:
>> maxItems: 1
>> @@ -46,24 +50,6 @@ properties:
>> - const: tx
>> - const: gtx
>>
>> - interrupts:
>> - minItems: 3
>> - maxItems: 3
>> -
>> - interrupt-names:
>> - minItems: 3
>> - maxItems: 3
>> -
>> - resets:
>> - items:
>> - - description: MAC Reset signal.
>> - - description: AHB Reset signal.
>> -
>> - reset-names:
>> - items:
>> - - const: stmmaceth
>> - - const: ahb
>> -
>> starfive,tx-use-rgmii-clk:
>> description:
>> Tx clock is provided by external rgmii clock.
>> @@ -94,6 +80,51 @@ required:
>> allOf:
>> - $ref: snps,dwmac.yaml#
>>
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: starfive,jh7100-dwmac
>> + then:
>> + properties:
>> + interrupts:
>> + minItems: 2
>> + maxItems: 2
>> +
>> + interrupt-names:
>> + minItems: 2
>> + maxItems: 2
>> +
>> + resets:
>> + maxItems: 1
>> +
>> + reset-names:
>> + const: ahb
>
> Just 'maxItems: 1'
This would allow using either 'ahb' or 'stmmaceth', while only the
former should be permitted.
No issues with the other two optimizations, will be handled in v3.
Thank you for reviewing,
Cristian
>> +
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: starfive,jh7110-dwmac
>> + then:
>> + properties:
>> + interrupts:
>> + minItems: 3
>> + maxItems: 3
>> +
>> + interrupt-names:
>> + minItems: 3
>> + maxItems: 3
>> +
>> + resets:
>> + minItems: 2
>> + maxItems: 2
>
> max is already 2. Drop.
>
>> +
>> + reset-names:
>> + items:
>> + - const: stmmaceth
>> + - const: ahb
>
> Already defined the names. Just 'minItems: 2'.
>
>> +
>> unevaluatedProperties: false
>>
>> examples:
>> --
>> 2.43.0
>>
^ permalink raw reply [flat|nested] 12+ messages in thread