linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Add r8a77965 DRIF support
@ 2020-10-13 15:01 Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 1/5] MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver Fabrizio Castro
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Dear All,

this series is to add DRIF support for the r8a77965
(a.k.a. R-Car M3-N), but it also (re)includes the patches
for the MAINTAINERS and documentation files, modified
according to Ramesh's and Geert's comments.

Thanks,
Fab

Fabrizio Castro (5):
  MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver
  media: dt-bindings: media: renesas,drif: Convert to json-schema
  media: dt-bindings: media: renesas,drif: Add r8a77990 support
  media: dt-bindings: media: renesas,drif: Add r8a77965 support
  arm64: dts: r8a77965: Add DRIF support

 .../bindings/media/renesas,drif.txt           | 177 -----------
 .../bindings/media/renesas,drif.yaml          | 284 ++++++++++++++++++
 MAINTAINERS                                   |   4 +-
 arch/arm64/boot/dts/renesas/r8a77965.dtsi     | 120 ++++++++
 4 files changed, 406 insertions(+), 179 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/media/renesas,drif.txt
 create mode 100644 Documentation/devicetree/bindings/media/renesas,drif.yaml

-- 
2.25.1


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

* [PATCH v3 1/5] MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver
  2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
@ 2020-10-13 15:01 ` Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema Fabrizio Castro
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Add Fabrizio castro and remove Ramesh Shanmugasundaram.

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v2->v3:
* Removed Ramesh Shanmugasundaram as maintainer, as suggested
  by Ramesh
* Reworked commit title and changelog
v1->v2:
* No change

 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9a54806ebf02..4ff8e65df4e7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10835,7 +10835,7 @@ F:	drivers/media/platform/renesas-ceu.c
 F:	include/media/drv-intf/renesas-ceu.h
 
 MEDIA DRIVERS FOR RENESAS - DRIF
-M:	Ramesh Shanmugasundaram <rashanmu@gmail.com>
+M:	Fabrizio Castro <fabrizio.castro.jz@renesas.com>
 L:	linux-media@vger.kernel.org
 L:	linux-renesas-soc@vger.kernel.org
 S:	Supported
-- 
2.25.1


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

* [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema
  2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 1/5] MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver Fabrizio Castro
@ 2020-10-13 15:01 ` Fabrizio Castro
  2020-10-14 13:39   ` Geert Uytterhoeven
  2020-10-13 15:01 ` [PATCH v3 3/5] media: dt-bindings: media: renesas,drif: Add r8a77990 support Fabrizio Castro
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Convert the Renesas DRIF bindings to DT schema and update
MAINTAINERS accordingly.

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v2->3:
* Removed the definition of pinctrl-0 and pinctrl-names, as
  suggested by Geert
* Added "power-domains" to the list of required properties,
  as suggested by Geert
* Reworked the conditional requirements, Geert, what do you
  think?
v1->v2:
* s/controller/Controller/ in the title of renesas,drif.yaml
  as suggested by Laurent.

 .../bindings/media/renesas,drif.txt           | 177 -----------
 .../bindings/media/renesas,drif.yaml          | 282 ++++++++++++++++++
 MAINTAINERS                                   |   2 +-
 3 files changed, 283 insertions(+), 178 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/media/renesas,drif.txt
 create mode 100644 Documentation/devicetree/bindings/media/renesas,drif.yaml

diff --git a/Documentation/devicetree/bindings/media/renesas,drif.txt b/Documentation/devicetree/bindings/media/renesas,drif.txt
deleted file mode 100644
index 0d8974aa8b38..000000000000
--- a/Documentation/devicetree/bindings/media/renesas,drif.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-Renesas R-Car Gen3 Digital Radio Interface controller (DRIF)
-------------------------------------------------------------
-
-R-Car Gen3 DRIF is a SPI like receive only slave device. A general
-representation of DRIF interfacing with a master device is shown below.
-
-+---------------------+                +---------------------+
-|                     |-----SCK------->|CLK                  |
-|       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
-|                     |-----SD0------->|D0                   |
-|                     |-----SD1------->|D1                   |
-+---------------------+                +---------------------+
-
-As per datasheet, each DRIF channel (drifn) is made up of two internal
-channels (drifn0 & drifn1). These two internal channels share the common
-CLK & SYNC. Each internal channel has its own dedicated resources like
-irq, dma channels, address space & clock. This internal split is not
-visible to the external master device.
-
-The device tree model represents each internal channel as a separate node.
-The internal channels sharing the CLK & SYNC are tied together by their
-phandles using a property called "renesas,bonding". For the rest of
-the documentation, unless explicitly stated, the word channel implies an
-internal channel.
-
-When both internal channels are enabled they need to be managed together
-as one (i.e.) they cannot operate alone as independent devices. Out of the
-two, one of them needs to act as a primary device that accepts common
-properties of both the internal channels. This channel is identified by a
-property called "renesas,primary-bond".
-
-To summarize,
-   - When both the internal channels that are bonded together are enabled,
-     the zeroth channel is selected as primary-bond. This channels accepts
-     properties common to all the members of the bond.
-   - When only one of the bonded channels need to be enabled, the property
-     "renesas,bonding" or "renesas,primary-bond" will have no effect. That
-     enabled channel can act alone as any other independent device.
-
-Required properties of an internal channel:
--------------------------------------------
-- compatible:	"renesas,r8a7795-drif" if DRIF controller is a part of R8A7795 SoC.
-		"renesas,r8a7796-drif" if DRIF controller is a part of R8A7796 SoC.
-		"renesas,rcar-gen3-drif" for a generic R-Car Gen3 compatible device.
-
-		When compatible with the generic version, nodes must list the
-		SoC-specific version corresponding to the platform first
-		followed by the generic version.
-
-- reg: offset and length of that channel.
-- interrupts: associated with that channel.
-- clocks: phandle and clock specifier of that channel.
-- clock-names: clock input name string: "fck".
-- dmas: phandles to the DMA channels.
-- dma-names: names of the DMA channel: "rx".
-- renesas,bonding: phandle to the other channel.
-
-Optional properties of an internal channel:
--------------------------------------------
-- power-domains: phandle to the respective power domain.
-
-Required properties of an internal channel when:
-	- It is the only enabled channel of the bond (or)
-	- If it acts as primary among enabled bonds
---------------------------------------------------------
-- pinctrl-0: pin control group to be used for this channel.
-- pinctrl-names: must be "default".
-- renesas,primary-bond: empty property indicating the channel acts as primary
-			among the bonded channels.
-- port: child port node corresponding to the data input, in accordance with
-	the video interface bindings defined in
-	Documentation/devicetree/bindings/media/video-interfaces.txt. The port
-	node must contain at least one endpoint.
-
-Optional endpoint property:
----------------------------
-- sync-active: Indicates sync signal polarity, 0/1 for low/high respectively.
-	       This property maps to SYNCAC bit in the hardware manual. The
-	       default is 1 (active high).
-
-Example:
---------
-
-(1) Both internal channels enabled:
------------------------------------
-
-When interfacing with a third party tuner device with two data pins as shown
-below.
-
-+---------------------+                +---------------------+
-|                     |-----SCK------->|CLK                  |
-|       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
-|                     |-----SD0------->|D0                   |
-|                     |-----SD1------->|D1                   |
-+---------------------+                +---------------------+
-
-	drif00: rif@e6f40000 {
-		compatible = "renesas,r8a7795-drif",
-			     "renesas,rcar-gen3-drif";
-		reg = <0 0xe6f40000 0 0x64>;
-		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&cpg CPG_MOD 515>;
-		clock-names = "fck";
-		dmas = <&dmac1 0x20>, <&dmac2 0x20>;
-		dma-names = "rx", "rx";
-		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-		renesas,bonding = <&drif01>;
-		renesas,primary-bond;
-		pinctrl-0 = <&drif0_pins>;
-		pinctrl-names = "default";
-		port {
-			drif0_ep: endpoint {
-			     remote-endpoint = <&tuner_ep>;
-			};
-		};
-	};
-
-	drif01: rif@e6f50000 {
-		compatible = "renesas,r8a7795-drif",
-			     "renesas,rcar-gen3-drif";
-		reg = <0 0xe6f50000 0 0x64>;
-		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&cpg CPG_MOD 514>;
-		clock-names = "fck";
-		dmas = <&dmac1 0x22>, <&dmac2 0x22>;
-		dma-names = "rx", "rx";
-		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-		renesas,bonding = <&drif00>;
-	};
-
-
-(2) Internal channel 1 alone is enabled:
-----------------------------------------
-
-When interfacing with a third party tuner device with one data pin as shown
-below.
-
-+---------------------+                +---------------------+
-|                     |-----SCK------->|CLK                  |
-|       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
-|                     |                |D0 (unused)          |
-|                     |-----SD-------->|D1                   |
-+---------------------+                +---------------------+
-
-	drif00: rif@e6f40000 {
-		compatible = "renesas,r8a7795-drif",
-			     "renesas,rcar-gen3-drif";
-		reg = <0 0xe6f40000 0 0x64>;
-		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&cpg CPG_MOD 515>;
-		clock-names = "fck";
-		dmas = <&dmac1 0x20>, <&dmac2 0x20>;
-		dma-names = "rx", "rx";
-		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-		renesas,bonding = <&drif01>;
-	};
-
-	drif01: rif@e6f50000 {
-		compatible = "renesas,r8a7795-drif",
-			     "renesas,rcar-gen3-drif";
-		reg = <0 0xe6f50000 0 0x64>;
-		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&cpg CPG_MOD 514>;
-		clock-names = "fck";
-		dmas = <&dmac1 0x22>, <&dmac2 0x22>;
-		dma-names = "rx", "rx";
-		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-		renesas,bonding = <&drif00>;
-		pinctrl-0 = <&drif0_pins>;
-		pinctrl-names = "default";
-		port {
-			drif0_ep: endpoint {
-			     remote-endpoint = <&tuner_ep>;
-			     sync-active = <0>;
-			};
-		};
-	};
diff --git a/Documentation/devicetree/bindings/media/renesas,drif.yaml b/Documentation/devicetree/bindings/media/renesas,drif.yaml
new file mode 100644
index 000000000000..e260cb4f169e
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
@@ -0,0 +1,282 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/renesas,drif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas R-Car Gen3 Digital Radio Interface Controller (DRIF)
+
+maintainers:
+  - Ramesh Shanmugasundaram <rashanmu@gmail.com>
+  - Fabrizio Castro <fabrizio.castro.jz@renesas.com>
+
+description: |
+  R-Car Gen3 DRIF is a SPI like receive only slave device. A general
+  representation of DRIF interfacing with a master device is shown below.
+
+  +---------------------+                +---------------------+
+  |                     |-----SCK------->|CLK                  |
+  |       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
+  |                     |-----SD0------->|D0                   |
+  |                     |-----SD1------->|D1                   |
+  +---------------------+                +---------------------+
+
+  As per datasheet, each DRIF channel (drifn) is made up of two internal
+  channels (drifn0 & drifn1). These two internal channels share the common
+  CLK & SYNC. Each internal channel has its own dedicated resources like
+  irq, dma channels, address space & clock. This internal split is not
+  visible to the external master device.
+
+  The device tree model represents each internal channel as a separate node.
+  The internal channels sharing the CLK & SYNC are tied together by their
+  phandles using a property called "renesas,bonding". For the rest of
+  the documentation, unless explicitly stated, the word channel implies an
+  internal channel.
+
+  When both internal channels are enabled they need to be managed together
+  as one (i.e.) they cannot operate alone as independent devices. Out of the
+  two, one of them needs to act as a primary device that accepts common
+  properties of both the internal channels. This channel is identified by a
+  property called "renesas,primary-bond".
+
+  To summarize,
+     * When both the internal channels that are bonded together are enabled,
+       the zeroth channel is selected as primary-bond. This channels accepts
+       properties common to all the members of the bond.
+     * When only one of the bonded channels need to be enabled, the property
+       "renesas,bonding" or "renesas,primary-bond" will have no effect. That
+       enabled channel can act alone as any other independent device.
+
+properties:
+  compatible:
+    items:
+      - enum:
+        - renesas,r8a7795-drif        # R-Car H3
+        - renesas,r8a7796-drif        # R-Car M3-W
+      - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    maxItems: 1
+    items:
+      - const: fck
+
+  resets:
+    maxItems: 1
+
+  dmas:
+    minItems: 1
+    maxItems: 2
+
+  dma-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      - const: rx
+      - const: rx
+
+  renesas,bonding:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      The phandle to the other internal channel of DRIF
+
+  power-domains:
+    maxItems: 1
+
+  renesas,primary-bond:
+    type: boolean
+    description:
+      Indicates that the channel acts as primary among the bonded channels.
+
+  port:
+    type: object
+    description:
+      Child port node corresponding to the data input, in accordance with the
+      video interface bindings defined in
+      Documentation/devicetree/bindings/media/video-interfaces.txt.
+      The port node must contain at least one endpoint.
+
+    properties:
+      endpoint:
+        type: object
+
+        properties:
+          remote-endpoint:
+            description:
+              A phandle to the remote tuner endpoint subnode in remote node
+              port.
+
+          sync-active:
+            enum: [0, 1]
+            description:
+              Indicates sync signal polarity, 0/1 for low/high respectively.
+              This property maps to SYNCAC bit in the hardware manual. The
+              default is 1 (active high).
+
+        additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - resets
+  - dmas
+  - dma-names
+  - renesas,bonding
+  - power-domains
+
+allOf:
+  - if:
+      required:
+        - renesas,primary-bond
+    then:
+      required:
+        - pinctrl-0
+        - pinctrl-names
+        - port
+
+  - if:
+      required:
+        - port
+    then:
+      required:
+        - pinctrl-0
+        - pinctrl-names
+
+  - if:
+      not:
+        required:
+          - port
+    then:
+      properties:
+        pinctrl-0: false
+        pinctrl-names: false
+
+additionalProperties: false
+
+examples:
+  # Example with both internal channels enabled.
+  #
+  # When interfacing with a third party tuner device with two data pins as shown
+  # below.
+  #
+  # +---------------------+                +---------------------+
+  # |                     |-----SCK------->|CLK                  |
+  # |       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
+  # |                     |-----SD0------->|D0                   |
+  # |                     |-----SD1------->|D1                   |
+  # +---------------------+                +---------------------+
+  - |
+    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/power/r8a7795-sysc.h>
+
+    soc {
+            #address-cells = <2>;
+            #size-cells = <2>;
+
+            drif00: rif@e6f40000 {
+                    compatible = "renesas,r8a7795-drif",
+                                 "renesas,rcar-gen3-drif";
+                    reg = <0 0xe6f40000 0 0x64>;
+                    interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+                    clocks = <&cpg CPG_MOD 515>;
+                    clock-names = "fck";
+                    dmas = <&dmac1 0x20>, <&dmac2 0x20>;
+                    dma-names = "rx", "rx";
+                    power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                    renesas,bonding = <&drif01>;
+                    resets = <&cpg 515>;
+                    renesas,primary-bond;
+                    pinctrl-0 = <&drif0_pins>;
+                    pinctrl-names = "default";
+                    port {
+                            drif0_ep: endpoint {
+                                 remote-endpoint = <&tuner_ep>;
+                            };
+                    };
+            };
+
+            drif01: rif@e6f50000 {
+                    compatible = "renesas,r8a7795-drif",
+                                 "renesas,rcar-gen3-drif";
+                    reg = <0 0xe6f50000 0 0x64>;
+                    interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                    clocks = <&cpg CPG_MOD 514>;
+                    clock-names = "fck";
+                    dmas = <&dmac1 0x22>, <&dmac2 0x22>;
+                    dma-names = "rx", "rx";
+                    power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                    renesas,bonding = <&drif00>;
+                    resets = <&cpg 514>;
+            };
+    };
+
+  # Example with internal channel 1 alone enabled.
+  #
+  # When interfacing with a third party tuner device with one data pin as shown
+  # below.
+  #
+  # +---------------------+                +---------------------+
+  # |                     |-----SCK------->|CLK                  |
+  # |       Master        |-----SS-------->|SYNC  DRIFn (slave)  |
+  # |                     |                |D0 (unused)          |
+  # |                     |-----SD-------->|D1                   |
+  # +---------------------+                +---------------------+
+  - |
+    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/power/r8a7795-sysc.h>
+
+    soc {
+            #address-cells = <2>;
+            #size-cells = <2>;
+
+            drif10: rif@e6f60000 {
+                    compatible = "renesas,r8a7795-drif",
+                                 "renesas,rcar-gen3-drif";
+                    reg = <0 0xe6f60000 0 0x64>;
+                    interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+                    clocks = <&cpg CPG_MOD 513>;
+                    clock-names = "fck";
+                    dmas = <&dmac1 0x24>, <&dmac2 0x24>;
+                    dma-names = "rx", "rx";
+                    power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                    resets = <&cpg 513>;
+                    renesas,bonding = <&drif11>;
+                    status = "disabled";
+            };
+
+            drif11: rif@e6f70000 {
+                    compatible = "renesas,r8a7795-drif",
+                                 "renesas,rcar-gen3-drif";
+                    reg = <0 0xe6f70000 0 0x64>;
+                    interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                    clocks = <&cpg CPG_MOD 512>;
+                    clock-names = "fck";
+                    dmas = <&dmac1 0x26>, <&dmac2 0x26>;
+                    dma-names = "rx", "rx";
+                    power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                    resets = <&cpg 512>;
+                    renesas,bonding = <&drif10>;
+                    pinctrl-0 = <&drif1_pins>;
+                    pinctrl-names = "default";
+                    port {
+                            drif1_ep: endpoint {
+                                 remote-endpoint = <&tuner_ep1>;
+                                 sync-active = <0>;
+                            };
+                    };
+            };
+    };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 4ff8e65df4e7..797718391b38 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10840,7 +10840,7 @@ L:	linux-media@vger.kernel.org
 L:	linux-renesas-soc@vger.kernel.org
 S:	Supported
 T:	git git://linuxtv.org/media_tree.git
-F:	Documentation/devicetree/bindings/media/renesas,drif.txt
+F:	Documentation/devicetree/bindings/media/renesas,drif.yaml
 F:	drivers/media/platform/rcar_drif.c
 
 MEDIA DRIVERS FOR RENESAS - FCP
-- 
2.25.1


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

* [PATCH v3 3/5] media: dt-bindings: media: renesas,drif: Add r8a77990 support
  2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 1/5] MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema Fabrizio Castro
@ 2020-10-13 15:01 ` Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
  2020-10-13 15:01 ` [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support Fabrizio Castro
  4 siblings, 0 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

The r8a77990 (a.k.a. R-Car E3) device tree schema is
compatible with R-Car H3 and M3-W schema.

Document r8a77990 support within renesas,drif.yaml.

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v2->v3:
* No change
v1->v2:
* No change

 Documentation/devicetree/bindings/media/renesas,drif.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/media/renesas,drif.yaml b/Documentation/devicetree/bindings/media/renesas,drif.yaml
index e260cb4f169e..ae50b1448320 100644
--- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
@@ -53,6 +53,7 @@ properties:
       - enum:
         - renesas,r8a7795-drif        # R-Car H3
         - renesas,r8a7796-drif        # R-Car M3-W
+        - renesas,r8a77990-drif       # R-Car E3
       - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
 
   reg:
-- 
2.25.1


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

* [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
                   ` (2 preceding siblings ...)
  2020-10-13 15:01 ` [PATCH v3 3/5] media: dt-bindings: media: renesas,drif: Add r8a77990 support Fabrizio Castro
@ 2020-10-13 15:01 ` Fabrizio Castro
  2020-10-13 20:47   ` Laurent Pinchart
                     ` (2 more replies)
  2020-10-13 15:01 ` [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support Fabrizio Castro
  4 siblings, 3 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
compatible with the already documented R-Car Gen3 devices.

Document r8a77965 support within renesas,drif.yaml.

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
---
v2->v3:
* New patch

 Documentation/devicetree/bindings/media/renesas,drif.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/media/renesas,drif.yaml b/Documentation/devicetree/bindings/media/renesas,drif.yaml
index ae50b1448320..89445ddd598e 100644
--- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
@@ -53,6 +53,7 @@ properties:
       - enum:
         - renesas,r8a7795-drif        # R-Car H3
         - renesas,r8a7796-drif        # R-Car M3-W
+        - renesas,r8a77965-drif       # R-Car M3-N
         - renesas,r8a77990-drif       # R-Car E3
       - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
 
-- 
2.25.1


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

* [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support
  2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
                   ` (3 preceding siblings ...)
  2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
@ 2020-10-13 15:01 ` Fabrizio Castro
  2020-10-13 21:51   ` Lad, Prabhakar
  4 siblings, 1 reply; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-13 15:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven
  Cc: Fabrizio Castro, Ramesh Shanmugasundaram, linux-media,
	devicetree, linux-kernel, linux-renesas-soc, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Add the DRIF controller nodes for r8a77965 (a.k.a. R-Car M3-N).

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
---
v2->v3:
* New patch

 arch/arm64/boot/dts/renesas/r8a77965.dtsi | 120 ++++++++++++++++++++++
 1 file changed, 120 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
index fe4dc12e2bdf..c5a54dc7ede2 100644
--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
@@ -1550,6 +1550,126 @@ vin7csi40: endpoint@2 {
 			};
 		};
 
+		drif00: rif@e6f40000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f40000 0 0x84>;
+			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 515>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x20>, <&dmac2 0x20>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 515>;
+			renesas,bonding = <&drif01>;
+			status = "disabled";
+		};
+
+		drif01: rif@e6f50000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f50000 0 0x84>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 514>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x22>, <&dmac2 0x22>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 514>;
+			renesas,bonding = <&drif00>;
+			status = "disabled";
+		};
+
+		drif10: rif@e6f60000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f60000 0 0x84>;
+			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 513>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x24>, <&dmac2 0x24>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 513>;
+			renesas,bonding = <&drif11>;
+			status = "disabled";
+		};
+
+		drif11: rif@e6f70000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f70000 0 0x84>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 512>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x26>, <&dmac2 0x26>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 512>;
+			renesas,bonding = <&drif10>;
+			status = "disabled";
+		};
+
+		drif20: rif@e6f80000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f80000 0 0x84>;
+			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 511>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x28>, <&dmac2 0x28>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 511>;
+			renesas,bonding = <&drif21>;
+			status = "disabled";
+		};
+
+		drif21: rif@e6f90000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f90000 0 0x84>;
+			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 510>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2a>, <&dmac2 0x2a>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 510>;
+			renesas,bonding = <&drif20>;
+			status = "disabled";
+		};
+
+		drif30: rif@e6fa0000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6fa0000 0 0x84>;
+			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 509>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2c>, <&dmac2 0x2c>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 509>;
+			renesas,bonding = <&drif31>;
+			status = "disabled";
+		};
+
+		drif31: rif@e6fb0000 {
+			compatible = "renesas,r8a77965-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6fb0000 0 0x84>;
+			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 508>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2e>, <&dmac2 0x2e>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+			resets = <&cpg 508>;
+			renesas,bonding = <&drif30>;
+			status = "disabled";
+		};
+
 		rcar_sound: sound@ec500000 {
 			/*
 			 * #sound-dai-cells is required
-- 
2.25.1


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

* Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
@ 2020-10-13 20:47   ` Laurent Pinchart
  2020-10-13 21:50   ` Lad, Prabhakar
  2020-10-14 13:37   ` Geert Uytterhoeven
  2 siblings, 0 replies; 15+ messages in thread
From: Laurent Pinchart @ 2020-10-13 20:47 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven,
	Ramesh Shanmugasundaram, linux-media, devicetree, linux-kernel,
	linux-renesas-soc, Chris Paterson, Biju Das,
	Prabhakar Mahadev Lad

Hi Fabrizio,

Thank you for the patch.

On Tue, Oct 13, 2020 at 04:01:49PM +0100, Fabrizio Castro wrote:
> The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> compatible with the already documented R-Car Gen3 devices.
> 
> Document r8a77965 support within renesas,drif.yaml.
> 
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> v2->v3:
> * New patch
> 
>  Documentation/devicetree/bindings/media/renesas,drif.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/renesas,drif.yaml b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> index ae50b1448320..89445ddd598e 100644
> --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> @@ -53,6 +53,7 @@ properties:
>        - enum:
>          - renesas,r8a7795-drif        # R-Car H3
>          - renesas,r8a7796-drif        # R-Car M3-W
> +        - renesas,r8a77965-drif       # R-Car M3-N
>          - renesas,r8a77990-drif       # R-Car E3
>        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
>  

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
  2020-10-13 20:47   ` Laurent Pinchart
@ 2020-10-13 21:50   ` Lad, Prabhakar
  2020-10-14 13:37   ` Geert Uytterhoeven
  2 siblings, 0 replies; 15+ messages in thread
From: Lad, Prabhakar @ 2020-10-13 21:50 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven,
	Ramesh Shanmugasundaram, linux-media,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Linux-Renesas, Chris Paterson, Biju Das, Prabhakar Mahadev Lad,
	Laurent Pinchart

Hi Fabrizio,

Thank you for the patch.

On Tue, Oct 13, 2020 at 6:25 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
>
> The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> compatible with the already documented R-Car Gen3 devices.
>
> Document r8a77965 support within renesas,drif.yaml.
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> ---
> v2->v3:
> * New patch
>
>  Documentation/devicetree/bindings/media/renesas,drif.yaml | 1 +
>  1 file changed, 1 insertion(+)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Cheers,
Prabhakar

> diff --git a/Documentation/devicetree/bindings/media/renesas,drif.yaml b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> index ae50b1448320..89445ddd598e 100644
> --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> @@ -53,6 +53,7 @@ properties:
>        - enum:
>          - renesas,r8a7795-drif        # R-Car H3
>          - renesas,r8a7796-drif        # R-Car M3-W
> +        - renesas,r8a77965-drif       # R-Car M3-N
>          - renesas,r8a77990-drif       # R-Car E3
>        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
>
> --
> 2.25.1
>

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

* Re: [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support
  2020-10-13 15:01 ` [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support Fabrizio Castro
@ 2020-10-13 21:51   ` Lad, Prabhakar
  0 siblings, 0 replies; 15+ messages in thread
From: Lad, Prabhakar @ 2020-10-13 21:51 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Geert Uytterhoeven,
	Ramesh Shanmugasundaram, linux-media,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, LKML,
	Linux-Renesas, Chris Paterson, Biju Das, Prabhakar Mahadev Lad,
	Laurent Pinchart

Hi Fabrizio,

Thank you for the patch.

On Tue, Oct 13, 2020 at 6:25 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
>
> Add the DRIF controller nodes for r8a77965 (a.k.a. R-Car M3-N).
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> ---
> v2->v3:
> * New patch
>
>  arch/arm64/boot/dts/renesas/r8a77965.dtsi | 120 ++++++++++++++++++++++
>  1 file changed, 120 insertions(+)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Cheers,
Prabhakar

> diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> index fe4dc12e2bdf..c5a54dc7ede2 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
> @@ -1550,6 +1550,126 @@ vin7csi40: endpoint@2 {
>                         };
>                 };
>
> +               drif00: rif@e6f40000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f40000 0 0x84>;
> +                       interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 515>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x20>, <&dmac2 0x20>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 515>;
> +                       renesas,bonding = <&drif01>;
> +                       status = "disabled";
> +               };
> +
> +               drif01: rif@e6f50000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f50000 0 0x84>;
> +                       interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 514>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x22>, <&dmac2 0x22>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 514>;
> +                       renesas,bonding = <&drif00>;
> +                       status = "disabled";
> +               };
> +
> +               drif10: rif@e6f60000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f60000 0 0x84>;
> +                       interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 513>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x24>, <&dmac2 0x24>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 513>;
> +                       renesas,bonding = <&drif11>;
> +                       status = "disabled";
> +               };
> +
> +               drif11: rif@e6f70000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f70000 0 0x84>;
> +                       interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 512>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x26>, <&dmac2 0x26>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 512>;
> +                       renesas,bonding = <&drif10>;
> +                       status = "disabled";
> +               };
> +
> +               drif20: rif@e6f80000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f80000 0 0x84>;
> +                       interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 511>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x28>, <&dmac2 0x28>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 511>;
> +                       renesas,bonding = <&drif21>;
> +                       status = "disabled";
> +               };
> +
> +               drif21: rif@e6f90000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6f90000 0 0x84>;
> +                       interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 510>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x2a>, <&dmac2 0x2a>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 510>;
> +                       renesas,bonding = <&drif20>;
> +                       status = "disabled";
> +               };
> +
> +               drif30: rif@e6fa0000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6fa0000 0 0x84>;
> +                       interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 509>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x2c>, <&dmac2 0x2c>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 509>;
> +                       renesas,bonding = <&drif31>;
> +                       status = "disabled";
> +               };
> +
> +               drif31: rif@e6fb0000 {
> +                       compatible = "renesas,r8a77965-drif",
> +                                    "renesas,rcar-gen3-drif";
> +                       reg = <0 0xe6fb0000 0 0x84>;
> +                       interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&cpg CPG_MOD 508>;
> +                       clock-names = "fck";
> +                       dmas = <&dmac1 0x2e>, <&dmac2 0x2e>;
> +                       dma-names = "rx", "rx";
> +                       power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
> +                       resets = <&cpg 508>;
> +                       renesas,bonding = <&drif30>;
> +                       status = "disabled";
> +               };
> +
>                 rcar_sound: sound@ec500000 {
>                         /*
>                          * #sound-dai-cells is required
> --
> 2.25.1
>

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

* Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
  2020-10-13 20:47   ` Laurent Pinchart
  2020-10-13 21:50   ` Lad, Prabhakar
@ 2020-10-14 13:37   ` Geert Uytterhoeven
  2020-10-14 14:35     ` Fabrizio Castro
  2 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2020-10-14 13:37 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Fabrizio,

On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
> The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> compatible with the already documented R-Car Gen3 devices.
>
> Document r8a77965 support within renesas,drif.yaml.
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> @@ -53,6 +53,7 @@ properties:
>        - enum:
>          - renesas,r8a7795-drif        # R-Car H3
>          - renesas,r8a7796-drif        # R-Car M3-W
> +        - renesas,r8a77965-drif       # R-Car M3-N
>          - renesas,r8a77990-drif       # R-Car E3
>        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device

I guess you're aware M3-N (and E3) have an extra register?
Probably the driver just relies on its initial value, but it never hurts to be
explicit and initialize it properly.

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema
  2020-10-13 15:01 ` [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema Fabrizio Castro
@ 2020-10-14 13:39   ` Geert Uytterhoeven
  2020-10-14 15:10     ` Fabrizio Castro
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2020-10-14 13:39 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Fabrizio,

On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
> Convert the Renesas DRIF bindings to DT schema and update
> MAINTAINERS accordingly.
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> v2->3:
> * Removed the definition of pinctrl-0 and pinctrl-names, as
>   suggested by Geert
> * Added "power-domains" to the list of required properties,
>   as suggested by Geert
> * Reworked the conditional requirements, Geert, what do you
>   think?

Thanks for the update!


> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml

> +allOf:
> +  - if:
> +      required:
> +        - renesas,primary-bond
> +    then:
> +      required:
> +        - pinctrl-0
> +        - pinctrl-names
> +        - port
> +
> +  - if:
> +      required:
> +        - port
> +    then:
> +      required:
> +        - pinctrl-0
> +        - pinctrl-names
> +
> +  - if:
> +      not:
> +        required:
> +          - port
> +    then:

This can just be an "else" branch for the previous "if" statement?

> +      properties:
> +        pinctrl-0: false
> +        pinctrl-names: false

With the above fixed/clarified:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* RE: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-14 13:37   ` Geert Uytterhoeven
@ 2020-10-14 14:35     ` Fabrizio Castro
  2020-10-14 14:51       ` Geert Uytterhoeven
  0 siblings, 1 reply; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-14 14:35 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Geert,

Thank you for your feedback!

> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: 14 October 2020 14:38
> Subject: Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add
> r8a77965 support
>
> Hi Fabrizio,
>
> On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
> <fabrizio.castro.jz@renesas.com> wrote:
> > The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> > compatible with the already documented R-Car Gen3 devices.
> >
> > Document r8a77965 support within renesas,drif.yaml.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
>
> Thanks for your patch!
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> > --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > @@ -53,6 +53,7 @@ properties:
> >        - enum:
> >          - renesas,r8a7795-drif        # R-Car H3
> >          - renesas,r8a7796-drif        # R-Car M3-W
> > +        - renesas,r8a77965-drif       # R-Car M3-N
> >          - renesas,r8a77990-drif       # R-Car E3
> >        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
>
> I guess you're aware M3-N (and E3) have an extra register?
> Probably the driver just relies on its initial value, but it never hurts to be
> explicit and initialize it properly.

Yes, I am aware of the extra register, and that's reflected in the DRIF nodes
definition within the SoC specific device trees.
I'll tackle initialization and configuration of the extra register at some point,
do you think we could use the default value for now?

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647

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

* Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-14 14:35     ` Fabrizio Castro
@ 2020-10-14 14:51       ` Geert Uytterhoeven
  2020-10-14 16:01         ` Fabrizio Castro
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2020-10-14 14:51 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Fabrizio,

On Wed, Oct 14, 2020 at 4:35 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
> > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
> > <fabrizio.castro.jz@renesas.com> wrote:
> > > The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> > > compatible with the already documented R-Car Gen3 devices.
> > >
> > > Document r8a77965 support within renesas,drif.yaml.
> > >
> > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> >
> > Thanks for your patch!
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > > --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > > +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > > @@ -53,6 +53,7 @@ properties:
> > >        - enum:
> > >          - renesas,r8a7795-drif        # R-Car H3
> > >          - renesas,r8a7796-drif        # R-Car M3-W
> > > +        - renesas,r8a77965-drif       # R-Car M3-N
> > >          - renesas,r8a77990-drif       # R-Car E3
> > >        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible device
> >
> > I guess you're aware M3-N (and E3) have an extra register?
> > Probably the driver just relies on its initial value, but it never hurts to be
> > explicit and initialize it properly.
>
> Yes, I am aware of the extra register, and that's reflected in the DRIF nodes
> definition within the SoC specific device trees.
> I'll tackle initialization and configuration of the extra register at some point,
> do you think we could use the default value for now?

Yes, that's fine for me, if it works with the current driver.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* RE: [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema
  2020-10-14 13:39   ` Geert Uytterhoeven
@ 2020-10-14 15:10     ` Fabrizio Castro
  0 siblings, 0 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-14 15:10 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Geert,

Thank you for your feedback!

> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: 14 October 2020 14:40
> Subject: Re: [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert
> to json-schema
>
> Hi Fabrizio,
>
> On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
> <fabrizio.castro.jz@renesas.com> wrote:
> > Convert the Renesas DRIF bindings to DT schema and update
> > MAINTAINERS accordingly.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-
> lad.rj@bp.renesas.com>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> > v2->3:
> > * Removed the definition of pinctrl-0 and pinctrl-names, as
> >   suggested by Geert
> > * Added "power-domains" to the list of required properties,
> >   as suggested by Geert
> > * Reworked the conditional requirements, Geert, what do you
> >   think?
>
> Thanks for the update!
>
>
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
>
> > +allOf:
> > +  - if:
> > +      required:
> > +        - renesas,primary-bond
> > +    then:
> > +      required:
> > +        - pinctrl-0
> > +        - pinctrl-names
> > +        - port
> > +
> > +  - if:
> > +      required:
> > +        - port
> > +    then:
> > +      required:
> > +        - pinctrl-0
> > +        - pinctrl-names
> > +
> > +  - if:
> > +      not:
> > +        required:
> > +          - port
> > +    then:
>
> This can just be an "else" branch for the previous "if" statement?

Yes, it's equivalent. I'll send out v4 to tackle this.

Thanks,
Fab

>
> > +      properties:
> > +        pinctrl-0: false
> > +        pinctrl-names: false
>
> With the above fixed/clarified:
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647

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

* RE: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support
  2020-10-14 14:51       ` Geert Uytterhoeven
@ 2020-10-14 16:01         ` Fabrizio Castro
  0 siblings, 0 replies; 15+ messages in thread
From: Fabrizio Castro @ 2020-10-14 16:01 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Mauro Carvalho Chehab, Rob Herring, Ramesh Shanmugasundaram,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, Linux-Renesas, Chris Paterson,
	Biju Das, Prabhakar Mahadev Lad, Laurent Pinchart

Hi Geert,

> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: 14 October 2020 15:52
> Subject: Re: [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add
> r8a77965 support
>
> Hi Fabrizio,
>
> On Wed, Oct 14, 2020 at 4:35 PM Fabrizio Castro
> <fabrizio.castro.jz@renesas.com> wrote:
> > > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > > On Tue, Oct 13, 2020 at 5:02 PM Fabrizio Castro
> > > <fabrizio.castro.jz@renesas.com> wrote:
> > > > The r8a77965 (a.k.a. R-Car M3-N) device tree schema is
> > > > compatible with the already documented R-Car Gen3 devices.
> > > >
> > > > Document r8a77965 support within renesas,drif.yaml.
> > > >
> > > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> > >
> > > Thanks for your patch!
> > >
> > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > >
> > > > --- a/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > > > +++ b/Documentation/devicetree/bindings/media/renesas,drif.yaml
> > > > @@ -53,6 +53,7 @@ properties:
> > > >        - enum:
> > > >          - renesas,r8a7795-drif        # R-Car H3
> > > >          - renesas,r8a7796-drif        # R-Car M3-W
> > > > +        - renesas,r8a77965-drif       # R-Car M3-N
> > > >          - renesas,r8a77990-drif       # R-Car E3
> > > >        - const: renesas,rcar-gen3-drif # Generic R-Car Gen3 compatible
> device
> > >
> > > I guess you're aware M3-N (and E3) have an extra register?
> > > Probably the driver just relies on its initial value, but it never hurts to be
> > > explicit and initialize it properly.
> >
> > Yes, I am aware of the extra register, and that's reflected in the DRIF nodes
> > definition within the SoC specific device trees.
> > I'll tackle initialization and configuration of the extra register at some point,
> > do you think we could use the default value for now?
>
> Yes, that's fine for me, if it works with the current driver.

Yes, and thank you.

Cheers,
Fab

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647

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

end of thread, other threads:[~2020-10-14 16:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-13 15:01 [PATCH v3 0/5] Add r8a77965 DRIF support Fabrizio Castro
2020-10-13 15:01 ` [PATCH v3 1/5] MAINTAINERS: Update MAINTAINERS for Renesas DRIF driver Fabrizio Castro
2020-10-13 15:01 ` [PATCH v3 2/5] media: dt-bindings: media: renesas,drif: Convert to json-schema Fabrizio Castro
2020-10-14 13:39   ` Geert Uytterhoeven
2020-10-14 15:10     ` Fabrizio Castro
2020-10-13 15:01 ` [PATCH v3 3/5] media: dt-bindings: media: renesas,drif: Add r8a77990 support Fabrizio Castro
2020-10-13 15:01 ` [PATCH v3 4/5] media: dt-bindings: media: renesas,drif: Add r8a77965 support Fabrizio Castro
2020-10-13 20:47   ` Laurent Pinchart
2020-10-13 21:50   ` Lad, Prabhakar
2020-10-14 13:37   ` Geert Uytterhoeven
2020-10-14 14:35     ` Fabrizio Castro
2020-10-14 14:51       ` Geert Uytterhoeven
2020-10-14 16:01         ` Fabrizio Castro
2020-10-13 15:01 ` [PATCH v3 5/5] arm64: dts: r8a77965: Add DRIF support Fabrizio Castro
2020-10-13 21:51   ` Lad, Prabhakar

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).