devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support
@ 2022-05-12 11:47 Phil Edworthy
  2022-05-12 11:47 ` [PATCH v4 1/5] dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC Phil Edworthy
  2022-05-16  9:20 ` [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Phil Edworthy @ 2022-05-12 11:47 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Phil Edworthy, Geert Uytterhoeven, Sergey Shtylyov,
	Sergei Shtylyov, Biju Das, Lad Prabhakar, Chris Paterson,
	Magnus Damm, linux-clk, netdev, devicetree, linux-renesas-soc

The RZ/V2M Ethernet is very similar to R-Car Gen3 Ethernet-AVB, though
some small parts are the same as R-Car Gen2.
Other differences are:
* It has separate data (DI), error (Line 1) and management (Line 2) irqs
  rather than one irq for all three.
* Instead of using the High-speed peripheral bus clock for gPTP, it has
  a separate gPTP reference clock.

v4:
 * Add clk_disable_unprepare() for gptp ref clk

v3:
 * Really renamed irq_en_dis_regs to irq_en_dis this time
 * Modified ravb_ptp_extts() to use irq_en_dis
 * Added Reviewed-by tags

v2:
 * Just net patches in this series
 * Instead of reusing ch22 and ch24 interrupt names, use the proper names
 * Renamed irq_en_dis_regs to irq_en_dis
 * Squashed use of GIC reg versus GIE/GID and got rid of separate gptp_ptm_gic feature.
 * Move err_mgmt_irqs code under multi_irqs
 * Minor editing of the commit msgs


Phil Edworthy (5):
  dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC
  ravb: Separate handling of irq enable/disable regs into feature
  ravb: Support separate Line0 (Desc), Line1 (Err) and Line2 (Mgmt) irqs
  ravb: Use separate clock for gPTP
  ravb: Add support for RZ/V2M

 .../bindings/net/renesas,etheravb.yaml        |  82 +++++++++----
 drivers/net/ethernet/renesas/ravb.h           |   6 +
 drivers/net/ethernet/renesas/ravb_main.c      | 109 ++++++++++++++++--
 drivers/net/ethernet/renesas/ravb_ptp.c       |   6 +-
 4 files changed, 168 insertions(+), 35 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v4 1/5] dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC
  2022-05-12 11:47 [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support Phil Edworthy
@ 2022-05-12 11:47 ` Phil Edworthy
  2022-05-16  9:20 ` [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Phil Edworthy @ 2022-05-12 11:47 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski
  Cc: Phil Edworthy, Geert Uytterhoeven, Sergey Shtylyov,
	Sergei Shtylyov, netdev, linux-renesas-soc, devicetree, Biju Das

Document the Ethernet AVB IP found on RZ/V2M SoC.
It includes the Ethernet controller (E-MAC) and Dedicated Direct memory
access controller (DMAC) for transferring transmitted Ethernet frames
to and received Ethernet frames from respective storage areas in the
RAM at high speed.
The AVB-DMAC is compliant with IEEE 802.1BA, IEEE 802.1AS timing and
synchronization protocol, IEEE 802.1Qav real-time transfer, and the
IEEE 802.1Qat stream reservation protocol.

R-Car has a pair of combined interrupt lines:
 ch22 = Line0_DiA | Line1_A | Line2_A
 ch23 = Line0_DiB | Line1_B | Line2_B
Line0 for descriptor interrupts (which we call dia and dib).
Line1 for error related interrupts (which we call err_a and err_b).
Line2 for management and gPTP related interrupts (mgmt_a and mgmt_b).

RZ/V2M hardware has separate interrupt lines for each of these.

It has 3 clocks; the main AXI clock, the AMBA CHI (Coherent Hub
Interface) clock and a gPTP reference clock.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
v4:
 - Added Reviewed-by tags
v3:
 - No change
v2:
 - Instead of reusing ch22 and ch24 interupt names, use the proper names
---
 .../bindings/net/renesas,etheravb.yaml        | 82 ++++++++++++++-----
 1 file changed, 61 insertions(+), 21 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/renesas,etheravb.yaml b/Documentation/devicetree/bindings/net/renesas,etheravb.yaml
index ee2ccacc39ff..acf347f3cdbe 100644
--- a/Documentation/devicetree/bindings/net/renesas,etheravb.yaml
+++ b/Documentation/devicetree/bindings/net/renesas,etheravb.yaml
@@ -43,6 +43,11 @@ properties:
               - renesas,etheravb-r8a779a0     # R-Car V3U
           - const: renesas,etheravb-rcar-gen3 # R-Car Gen3 and RZ/G2
 
+      - items:
+          - enum:
+              - renesas,etheravb-r9a09g011 # RZ/V2M
+          - const: renesas,etheravb-rzv2m  # RZ/V2M compatible
+
       - items:
           - enum:
               - renesas,r9a07g043-gbeth # RZ/G2UL
@@ -160,16 +165,33 @@ allOf:
             - const: arp_ns
         rx-internal-delay-ps: false
     else:
-      properties:
-        interrupts:
-          minItems: 25
-          maxItems: 25
-        interrupt-names:
-          items:
-            pattern: '^ch[0-9]+$'
-      required:
-        - interrupt-names
-        - rx-internal-delay-ps
+      if:
+        properties:
+          compatible:
+            contains:
+              const: renesas,etheravb-rzv2m
+      then:
+        properties:
+          interrupts:
+            minItems: 29
+            maxItems: 29
+          interrupt-names:
+            items:
+              pattern: '^(ch(1?)[0-9])|ch20|ch21|dia|dib|err_a|err_b|mgmt_a|mgmt_b|line3$'
+          rx-internal-delay-ps: false
+        required:
+          - interrupt-names
+      else:
+        properties:
+          interrupts:
+            minItems: 25
+            maxItems: 25
+          interrupt-names:
+            items:
+              pattern: '^ch[0-9]+$'
+        required:
+          - interrupt-names
+          - rx-internal-delay-ps
 
   - if:
       properties:
@@ -231,17 +253,35 @@ allOf:
             - const: chi
             - const: refclk
     else:
-      properties:
-        clocks:
-          minItems: 1
-          items:
-            - description: AVB functional clock
-            - description: Optional TXC reference clock
-        clock-names:
-          minItems: 1
-          items:
-            - const: fck
-            - const: refclk
+      if:
+        properties:
+          compatible:
+            contains:
+              const: renesas,etheravb-rzv2m
+      then:
+        properties:
+          clocks:
+            items:
+              - description: Main clock
+              - description: Coherent Hub Interface clock
+              - description: gPTP reference clock
+          clock-names:
+            items:
+              - const: axi
+              - const: chi
+              - const: gptp
+      else:
+        properties:
+          clocks:
+            minItems: 1
+            items:
+              - description: AVB functional clock
+              - description: Optional TXC reference clock
+          clock-names:
+            minItems: 1
+            items:
+              - const: fck
+              - const: refclk
 
 additionalProperties: false
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support
  2022-05-12 11:47 [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support Phil Edworthy
  2022-05-12 11:47 ` [PATCH v4 1/5] dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC Phil Edworthy
@ 2022-05-16  9:20 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-05-16  9:20 UTC (permalink / raw)
  To: Phil Edworthy
  Cc: mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt, davem,
	edumazet, kuba, pabeni, phil.edworthy, geert+renesas, s.shtylyov,
	sergei.shtylyov, biju.das.jz, prabhakar.mahadev-lad.rj,
	Chris.Paterson2, magnus.damm, linux-clk, netdev, devicetree,
	linux-renesas-soc

Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Thu, 12 May 2022 12:47:17 +0100 you wrote:
> The RZ/V2M Ethernet is very similar to R-Car Gen3 Ethernet-AVB, though
> some small parts are the same as R-Car Gen2.
> Other differences are:
> * It has separate data (DI), error (Line 1) and management (Line 2) irqs
>   rather than one irq for all three.
> * Instead of using the High-speed peripheral bus clock for gPTP, it has
>   a separate gPTP reference clock.
> 
> [...]

Here is the summary with links:
  - [v4,1/5] dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC
    https://git.kernel.org/netdev/net-next/c/a7931ac16128
  - [v4,2/5] ravb: Separate handling of irq enable/disable regs into feature
    https://git.kernel.org/netdev/net-next/c/cb99badde146
  - [v4,3/5] ravb: Support separate Line0 (Desc), Line1 (Err) and Line2 (Mgmt) irqs
    https://git.kernel.org/netdev/net-next/c/b0265dcba3d6
  - [v4,4/5] ravb: Use separate clock for gPTP
    https://git.kernel.org/netdev/net-next/c/72069a7b2821
  - [v4,5/5] ravb: Add support for RZ/V2M
    https://git.kernel.org/netdev/net-next/c/e1154be73153

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-16  9:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-12 11:47 [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support Phil Edworthy
2022-05-12 11:47 ` [PATCH v4 1/5] dt-bindings: net: renesas,etheravb: Document RZ/V2M SoC Phil Edworthy
2022-05-16  9:20 ` [PATCH v4 0/5] Add Renesas RZ/V2M Ethernet support patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).