* [PATCH 0/2] dt-bindings: dma: renesas,{rcar,usb}-dmac: convert to json-schema
@ 2020-04-10 10:02 Yoshihiro Shimoda
2020-04-10 10:02 ` [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings " Yoshihiro Shimoda
2020-04-10 10:02 ` [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: " Yoshihiro Shimoda
0 siblings, 2 replies; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-10 10:02 UTC (permalink / raw)
To: vkoul, robh+dt
Cc: dmaengine, devicetree, linux-renesas-soc, Yoshihiro Shimoda
This patch series is based on linux-next / next-20200409 tag.
Yoshihiro Shimoda (2):
dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
.../devicetree/bindings/dma/renesas,rcar-dmac.txt | 117 ----------------
.../devicetree/bindings/dma/renesas,rcar-dmac.yaml | 148 +++++++++++++++++++++
.../devicetree/bindings/dma/renesas,usb-dmac.txt | 55 --------
.../devicetree/bindings/dma/renesas,usb-dmac.yaml | 99 ++++++++++++++
4 files changed, 247 insertions(+), 172 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
create mode 100644 Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml
delete mode 100644 Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt
create mode 100644 Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
--
2.7.4
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
2020-04-10 10:02 [PATCH 0/2] dt-bindings: dma: renesas,{rcar,usb}-dmac: convert to json-schema Yoshihiro Shimoda
@ 2020-04-10 10:02 ` Yoshihiro Shimoda
2020-04-15 13:09 ` Geert Uytterhoeven
2020-04-10 10:02 ` [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: " Yoshihiro Shimoda
1 sibling, 1 reply; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-10 10:02 UTC (permalink / raw)
To: vkoul, robh+dt
Cc: dmaengine, devicetree, linux-renesas-soc, Yoshihiro Shimoda
Convert Renesas R-Car and RZ/G DMA Controller bindings
documentation to json-schema.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
.../devicetree/bindings/dma/renesas,rcar-dmac.txt | 117 ----------------
.../devicetree/bindings/dma/renesas,rcar-dmac.yaml | 148 +++++++++++++++++++++
2 files changed, 148 insertions(+), 117 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
create mode 100644 Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml
diff --git a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
deleted file mode 100644
index b7f81c6..00000000
--- a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
+++ /dev/null
@@ -1,117 +0,0 @@
-* Renesas R-Car (RZ/G) DMA Controller Device Tree bindings
-
-Renesas R-Car (Gen 2/3) and RZ/G SoCs have multiple multi-channel DMA
-controller instances named DMAC capable of serving multiple clients. Channels
-can be dedicated to specific clients or shared between a large number of
-clients.
-
-Each DMA client is connected to one dedicated port of the DMAC, identified by
-an 8-bit port number called the MID/RID. A DMA controller can thus serve up to
-256 clients in total. When the number of hardware channels is lower than the
-number of clients to be served, channels must be shared between multiple DMA
-clients. The association of DMA clients to DMAC channels is fully dynamic and
-not described in these device tree bindings.
-
-Required Properties:
-
-- compatible: "renesas,dmac-<soctype>", "renesas,rcar-dmac" as fallback.
- Examples with soctypes are:
- - "renesas,dmac-r8a7743" (RZ/G1M)
- - "renesas,dmac-r8a7744" (RZ/G1N)
- - "renesas,dmac-r8a7745" (RZ/G1E)
- - "renesas,dmac-r8a77470" (RZ/G1C)
- - "renesas,dmac-r8a774a1" (RZ/G2M)
- - "renesas,dmac-r8a774b1" (RZ/G2N)
- - "renesas,dmac-r8a774c0" (RZ/G2E)
- - "renesas,dmac-r8a7790" (R-Car H2)
- - "renesas,dmac-r8a7791" (R-Car M2-W)
- - "renesas,dmac-r8a7792" (R-Car V2H)
- - "renesas,dmac-r8a7793" (R-Car M2-N)
- - "renesas,dmac-r8a7794" (R-Car E2)
- - "renesas,dmac-r8a7795" (R-Car H3)
- - "renesas,dmac-r8a7796" (R-Car M3-W)
- - "renesas,dmac-r8a77961" (R-Car M3-W+)
- - "renesas,dmac-r8a77965" (R-Car M3-N)
- - "renesas,dmac-r8a77970" (R-Car V3M)
- - "renesas,dmac-r8a77980" (R-Car V3H)
- - "renesas,dmac-r8a77990" (R-Car E3)
- - "renesas,dmac-r8a77995" (R-Car D3)
-
-- reg: base address and length of the registers block for the DMAC
-
-- interrupts: interrupt specifiers for the DMAC, one for each entry in
- interrupt-names.
-- interrupt-names: one entry for the error interrupt, named "error", plus one
- entry per channel, named "ch%u", where %u is the channel number ranging from
- zero to the number of channels minus one.
-
-- clock-names: "fck" for the functional clock
-- clocks: a list of phandle + clock-specifier pairs, one for each entry
- in clock-names.
-- clock-names: must contain "fck" for the functional clock.
-
-- #dma-cells: must be <1>, the cell specifies the MID/RID of the DMAC port
- connected to the DMA client
-- dma-channels: number of DMA channels
-
-Example: R8A7790 (R-Car H2) SYS-DMACs
-
- dmac0: dma-controller@e6700000 {
- compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac";
- reg = <0 0xe6700000 0 0x20000>;
- interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
- 0 200 IRQ_TYPE_LEVEL_HIGH
- 0 201 IRQ_TYPE_LEVEL_HIGH
- 0 202 IRQ_TYPE_LEVEL_HIGH
- 0 203 IRQ_TYPE_LEVEL_HIGH
- 0 204 IRQ_TYPE_LEVEL_HIGH
- 0 205 IRQ_TYPE_LEVEL_HIGH
- 0 206 IRQ_TYPE_LEVEL_HIGH
- 0 207 IRQ_TYPE_LEVEL_HIGH
- 0 208 IRQ_TYPE_LEVEL_HIGH
- 0 209 IRQ_TYPE_LEVEL_HIGH
- 0 210 IRQ_TYPE_LEVEL_HIGH
- 0 211 IRQ_TYPE_LEVEL_HIGH
- 0 212 IRQ_TYPE_LEVEL_HIGH
- 0 213 IRQ_TYPE_LEVEL_HIGH
- 0 214 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "error",
- "ch0", "ch1", "ch2", "ch3",
- "ch4", "ch5", "ch6", "ch7",
- "ch8", "ch9", "ch10", "ch11",
- "ch12", "ch13", "ch14";
- clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>;
- clock-names = "fck";
- #dma-cells = <1>;
- dma-channels = <15>;
- };
-
- dmac1: dma-controller@e6720000 {
- compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac";
- reg = <0 0xe6720000 0 0x20000>;
- interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
- 0 216 IRQ_TYPE_LEVEL_HIGH
- 0 217 IRQ_TYPE_LEVEL_HIGH
- 0 218 IRQ_TYPE_LEVEL_HIGH
- 0 219 IRQ_TYPE_LEVEL_HIGH
- 0 308 IRQ_TYPE_LEVEL_HIGH
- 0 309 IRQ_TYPE_LEVEL_HIGH
- 0 310 IRQ_TYPE_LEVEL_HIGH
- 0 311 IRQ_TYPE_LEVEL_HIGH
- 0 312 IRQ_TYPE_LEVEL_HIGH
- 0 313 IRQ_TYPE_LEVEL_HIGH
- 0 314 IRQ_TYPE_LEVEL_HIGH
- 0 315 IRQ_TYPE_LEVEL_HIGH
- 0 316 IRQ_TYPE_LEVEL_HIGH
- 0 317 IRQ_TYPE_LEVEL_HIGH
- 0 318 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "error",
- "ch0", "ch1", "ch2", "ch3",
- "ch4", "ch5", "ch6", "ch7",
- "ch8", "ch9", "ch10", "ch11",
- "ch12", "ch13", "ch14";
- clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>;
- clock-names = "fck";
- #dma-cells = <1>;
- dma-channels = <15>;
- };
diff --git a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml
new file mode 100644
index 00000000..d698d0e
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml
@@ -0,0 +1,148 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/renesas,rcar-dmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas R-Car and RZ/G DMA Controller
+
+maintainers:
+ - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+
+allOf:
+ - $ref: "dma-controller.yaml#"
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - renesas,dmac-r8a7743 # RZ/G1M
+ - renesas,dmac-r8a7744 # RZ/G1N
+ - renesas,dmac-r8a7745 # RZ/G1E
+ - renesas,dmac-r8a77470 # RZ/G1C
+ - renesas,dmac-r8a774a1 # RZ/G2M
+ - renesas,dmac-r8a774b1 # RZ/G2N
+ - renesas,dmac-r8a774c0 # RZ/G2E
+ - renesas,dmac-r8a7790 # R-Car H2
+ - renesas,dmac-r8a7791 # R-Car M2-W
+ - renesas,dmac-r8a7792 # R-Car V2H
+ - renesas,dmac-r8a7793 # R-Car M2-N
+ - renesas,dmac-r8a7794 # R-Car E2
+ - renesas,dmac-r8a7795 # R-Car H3
+ - renesas,dmac-r8a7796 # R-Car M3-W
+ - renesas,dmac-r8a77961 # R-Car M3-W+
+ - renesas,dmac-r8a77965 # R-Car M3-N
+ - renesas,dmac-r8a77970 # R-Car V3M
+ - renesas,dmac-r8a77980 # R-Car V3H
+ - renesas,dmac-r8a77990 # R-Car E3
+ - renesas,dmac-r8a77995 # R-Car D3
+ - const: renesas,rcar-dmac
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 9
+ maxItems: 17
+
+ interrupt-names:
+ minItems: 9
+ maxItems: 17
+ items:
+ - const: error
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+ - pattern: "^ch([0-9]|1[0-5])$"
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ maxItems: 1
+ items:
+ - const: fck
+
+ '#dma-cells':
+ const: 1
+ description:
+ The cell specifies the MID/RID of the DMAC port connected to
+ the DMA client.
+
+ dma-channels:
+ minimum: 8
+ maximum: 16
+
+ dma-channel-mask: true
+
+ iommus:
+ minItems: 8
+ maxItems: 16
+
+ power-domains:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - clock-names
+ - '#dma-cells'
+ - dma-channels
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/power/r8a7790-sysc.h>
+
+ dmac0: dma-controller@e6700000 {
+ compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac";
+ reg = <0xe6700000 0x20000>;
+ interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "error",
+ "ch0", "ch1", "ch2", "ch3",
+ "ch4", "ch5", "ch6", "ch7",
+ "ch8", "ch9", "ch10", "ch11",
+ "ch12", "ch13", "ch14";
+ clocks = <&cpg CPG_MOD 219>;
+ clock-names = "fck";
+ power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+ resets = <&cpg 219>;
+ #dma-cells = <1>;
+ dma-channels = <15>;
+ };
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
2020-04-10 10:02 [PATCH 0/2] dt-bindings: dma: renesas,{rcar,usb}-dmac: convert to json-schema Yoshihiro Shimoda
2020-04-10 10:02 ` [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings " Yoshihiro Shimoda
@ 2020-04-10 10:02 ` Yoshihiro Shimoda
2020-04-15 13:55 ` Geert Uytterhoeven
1 sibling, 1 reply; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-10 10:02 UTC (permalink / raw)
To: vkoul, robh+dt
Cc: dmaengine, devicetree, linux-renesas-soc, Yoshihiro Shimoda
Convert Renesas R-Car USB-DMA Controller bindings documentation
to json-schema.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
.../devicetree/bindings/dma/renesas,usb-dmac.txt | 55 ------------
.../devicetree/bindings/dma/renesas,usb-dmac.yaml | 99 ++++++++++++++++++++++
2 files changed, 99 insertions(+), 55 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt
create mode 100644 Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
diff --git a/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt
deleted file mode 100644
index e8f6c42..00000000
--- a/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-* Renesas USB DMA Controller Device Tree bindings
-
-Required Properties:
--compatible: "renesas,<soctype>-usb-dmac", "renesas,usb-dmac" as fallback.
- Examples with soctypes are:
- - "renesas,r8a7743-usb-dmac" (RZ/G1M)
- - "renesas,r8a7744-usb-dmac" (RZ/G1N)
- - "renesas,r8a7745-usb-dmac" (RZ/G1E)
- - "renesas,r8a77470-usb-dmac" (RZ/G1C)
- - "renesas,r8a774a1-usb-dmac" (RZ/G2M)
- - "renesas,r8a774b1-usb-dmac" (RZ/G2N)
- - "renesas,r8a774c0-usb-dmac" (RZ/G2E)
- - "renesas,r8a7790-usb-dmac" (R-Car H2)
- - "renesas,r8a7791-usb-dmac" (R-Car M2-W)
- - "renesas,r8a7793-usb-dmac" (R-Car M2-N)
- - "renesas,r8a7794-usb-dmac" (R-Car E2)
- - "renesas,r8a7795-usb-dmac" (R-Car H3)
- - "renesas,r8a7796-usb-dmac" (R-Car M3-W)
- - "renesas,r8a77961-usb-dmac" (R-Car M3-W+)
- - "renesas,r8a77965-usb-dmac" (R-Car M3-N)
- - "renesas,r8a77990-usb-dmac" (R-Car E3)
- - "renesas,r8a77995-usb-dmac" (R-Car D3)
-- reg: base address and length of the registers block for the DMAC
-- interrupts: interrupt specifiers for the DMAC, one for each entry in
- interrupt-names.
-- interrupt-names: one entry per channel, named "ch%u", where %u is the
- channel number ranging from zero to the number of channels minus one.
-- clocks: a list of phandle + clock-specifier pairs.
-- #dma-cells: must be <1>, the cell specifies the channel number of the DMAC
- port connected to the DMA client.
-- dma-channels: number of DMA channels
-
-Example: R8A7790 (R-Car H2) USB-DMACs
-
- usb_dmac0: dma-controller@e65a0000 {
- compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac";
- reg = <0 0xe65a0000 0 0x100>;
- interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH
- 0 109 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "ch0", "ch1";
- clocks = <&mstp3_clks R8A7790_CLK_USBDMAC0>;
- #dma-cells = <1>;
- dma-channels = <2>;
- };
-
- usb_dmac1: dma-controller@e65b0000 {
- compatible = "renesas,usb-dmac";
- reg = <0 0xe65b0000 0 0x100>;
- interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH
- 0 110 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "ch0", "ch1";
- clocks = <&mstp3_clks R8A7790_CLK_USBDMAC1>;
- #dma-cells = <1>;
- dma-channels = <2>;
- };
diff --git a/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
new file mode 100644
index 00000000..9c81081
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
@@ -0,0 +1,99 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/renesas,usb-dmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas USB DMA Controller
+
+maintainers:
+ - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+
+allOf:
+ - $ref: "dma-controller.yaml#"
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - renesas,r8a7743-usb-dmac # RZ/G1M
+ - renesas,r8a7744-usb-dmac # RZ/G1N
+ - renesas,r8a7745-usb-dmac # RZ/G1E
+ - renesas,r8a77470-usb-dmac # RZ/G1C
+ - renesas,r8a774a1-usb-dmac # RZ/G2M
+ - renesas,r8a774b1-usb-dmac # RZ/G2N
+ - renesas,r8a774c0-usb-dmac # RZ/G2E
+ - renesas,r8a7790-usb-dmac # R-Car H2
+ - renesas,r8a7791-usb-dmac # R-Car M2-W
+ - renesas,r8a7793-usb-dmac # R-Car M2-N
+ - renesas,r8a7794-usb-dmac # R-Car E2
+ - renesas,r8a7795-usb-dmac # R-Car H3
+ - renesas,r8a7796-usb-dmac # R-Car M3-W
+ - renesas,r8a77961-usb-dmac # R-Car M3-W+
+ - renesas,r8a77965-usb-dmac # R-Car M3-N
+ - renesas,r8a77990-usb-dmac # R-Car E3
+ - renesas,r8a77995-usb-dmac # R-Car D3
+ - const: renesas,usb-dmac
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 2
+
+ interrupt-names:
+ maxItems: 2
+ items:
+ - pattern: "^ch[0-1]$"
+ - pattern: "^ch[0-1]$"
+
+ clocks:
+ maxItems: 1
+
+ '#dma-cells':
+ const: 1
+ description:
+ The cell specifies the channel number of the DMAC port connected to
+ the DMA client.
+
+ dma-channels:
+ maximum: 2
+
+ iommus:
+ maxItems: 2
+
+ power-domains:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - '#dma-cells'
+ - dma-channels
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/power/r8a7790-sysc.h>
+
+ usb_dmac0: dma-controller@e65a0000 {
+ compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac";
+ reg = <0xe65a0000 0x100>;
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "ch0", "ch1";
+ clocks = <&cpg CPG_MOD 330>;
+ power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+ resets = <&cpg 330>;
+ #dma-cells = <1>;
+ dma-channels = <2>;
+ };
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
2020-04-10 10:02 ` [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings " Yoshihiro Shimoda
@ 2020-04-15 13:09 ` Geert Uytterhoeven
2020-04-15 13:52 ` Geert Uytterhoeven
2020-04-16 7:47 ` Yoshihiro Shimoda
0 siblings, 2 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2020-04-15 13:09 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Shimoda-san,
On Fri, Apr 10, 2020 at 12:02 PM Yoshihiro Shimoda
<yoshihiro.shimoda.uh@renesas.com> wrote:
> Convert Renesas R-Car and RZ/G DMA Controller bindings
> documentation to json-schema.
>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
One question below...
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml
> + interrupt-names:
> + minItems: 9
> + maxItems: 17
> + items:
> + - const: error
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
> + - pattern: "^ch([0-9]|1[0-5])$"
Would it make sense to just put the actual names here?
- const: error
- const: ch0
- const: ch1
[...]
- const: ch 15
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] 11+ messages in thread
* Re: [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
2020-04-15 13:09 ` Geert Uytterhoeven
@ 2020-04-15 13:52 ` Geert Uytterhoeven
2020-04-16 7:48 ` Yoshihiro Shimoda
2020-04-16 7:47 ` Yoshihiro Shimoda
1 sibling, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2020-04-15 13:52 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Shimoda-san,
On Wed, Apr 15, 2020 at 3:09 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Fri, Apr 10, 2020 at 12:02 PM Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@renesas.com> wrote:
> > Convert Renesas R-Car and RZ/G DMA Controller bindings
> > documentation to json-schema.
> >
> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> One question below...
Sorry, I missed something at first: shouldn't "power-domains" and "resets"
be mandatory as well?
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] 11+ messages in thread
* Re: [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
2020-04-10 10:02 ` [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: " Yoshihiro Shimoda
@ 2020-04-15 13:55 ` Geert Uytterhoeven
2020-04-16 2:04 ` Yoshihiro Shimoda
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2020-04-15 13:55 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Shimoda-san,
On Fri, Apr 10, 2020 at 12:02 PM Yoshihiro Shimoda
<yoshihiro.shimoda.uh@renesas.com> wrote:
> Convert Renesas R-Car USB-DMA Controller bindings documentation
> to json-schema.
>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Thanks for your patch!
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
> @@ -0,0 +1,99 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/renesas,usb-dmac.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Renesas USB DMA Controller
> +
> +maintainers:
> + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> +
> +allOf:
> + - $ref: "dma-controller.yaml#"
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - renesas,r8a7743-usb-dmac # RZ/G1M
> + - renesas,r8a7744-usb-dmac # RZ/G1N
> + - renesas,r8a7745-usb-dmac # RZ/G1E
> + - renesas,r8a77470-usb-dmac # RZ/G1C
> + - renesas,r8a774a1-usb-dmac # RZ/G2M
> + - renesas,r8a774b1-usb-dmac # RZ/G2N
> + - renesas,r8a774c0-usb-dmac # RZ/G2E
> + - renesas,r8a7790-usb-dmac # R-Car H2
> + - renesas,r8a7791-usb-dmac # R-Car M2-W
> + - renesas,r8a7793-usb-dmac # R-Car M2-N
> + - renesas,r8a7794-usb-dmac # R-Car E2
> + - renesas,r8a7795-usb-dmac # R-Car H3
> + - renesas,r8a7796-usb-dmac # R-Car M3-W
> + - renesas,r8a77961-usb-dmac # R-Car M3-W+
> + - renesas,r8a77965-usb-dmac # R-Car M3-N
> + - renesas,r8a77990-usb-dmac # R-Car E3
> + - renesas,r8a77995-usb-dmac # R-Car D3
> + - const: renesas,usb-dmac
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 2
Is there a use case for specifying a single interrupt?
> +
> + interrupt-names:
> + maxItems: 2
> + items:
> + - pattern: "^ch[0-1]$"
> + - pattern: "^ch[0-1]$"
Would it make sense to list the (two) actual channel names instead?
> +
> + clocks:
> + maxItems: 1
> +
> + '#dma-cells':
> + const: 1
> + description:
> + The cell specifies the channel number of the DMAC port connected to
> + the DMA client.
> +
> + dma-channels:
> + maximum: 2
Is there a use case for specifying a single channel?
> +
> + iommus:
> + maxItems: 2
Likewise?
> +
> + power-domains:
> + maxItems: 1
> +
> + resets:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - interrupt-names
> + - clocks
> + - '#dma-cells'
> + - dma-channels
Shouldn't "power-domains" and "resets" be mandatory, too?
All covered SoCS have them.
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] 11+ messages in thread
* RE: [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
2020-04-15 13:55 ` Geert Uytterhoeven
@ 2020-04-16 2:04 ` Yoshihiro Shimoda
2020-04-16 7:49 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-16 2:04 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Geert-san,
Thank you for your review!
> From: Geert Uytterhoeven, Sent: Wednesday, April 15, 2020 10:56 PM
<snip>
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
> > @@ -0,0 +1,99 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/dma/renesas,usb-dmac.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Renesas USB DMA Controller
> > +
> > +maintainers:
> > + - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > +
> > +allOf:
> > + - $ref: "dma-controller.yaml#"
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - enum:
> > + - renesas,r8a7743-usb-dmac # RZ/G1M
> > + - renesas,r8a7744-usb-dmac # RZ/G1N
> > + - renesas,r8a7745-usb-dmac # RZ/G1E
> > + - renesas,r8a77470-usb-dmac # RZ/G1C
> > + - renesas,r8a774a1-usb-dmac # RZ/G2M
> > + - renesas,r8a774b1-usb-dmac # RZ/G2N
> > + - renesas,r8a774c0-usb-dmac # RZ/G2E
> > + - renesas,r8a7790-usb-dmac # R-Car H2
> > + - renesas,r8a7791-usb-dmac # R-Car M2-W
> > + - renesas,r8a7793-usb-dmac # R-Car M2-N
> > + - renesas,r8a7794-usb-dmac # R-Car E2
> > + - renesas,r8a7795-usb-dmac # R-Car H3
> > + - renesas,r8a7796-usb-dmac # R-Car M3-W
> > + - renesas,r8a77961-usb-dmac # R-Car M3-W+
> > + - renesas,r8a77965-usb-dmac # R-Car M3-N
> > + - renesas,r8a77990-usb-dmac # R-Car E3
> > + - renesas,r8a77995-usb-dmac # R-Car D3
> > + - const: renesas,usb-dmac
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 2
>
> Is there a use case for specifying a single interrupt?
No. All USB-DMAC of R-Car Gen2/3 and RZ/Gn has 2 channels.
In case of R-Car Gen3, please refer to the Figure 75.1 USB-DMAC Block Diagram.
These USB-DMACn have CH0 and CH1
> > +
> > + interrupt-names:
> > + maxItems: 2
> > + items:
> > + - pattern: "^ch[0-1]$"
> > + - pattern: "^ch[0-1]$"
>
> Would it make sense to list the (two) actual channel names instead?
I agree. Just using ch0 and ch1 is simpler.
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + '#dma-cells':
> > + const: 1
> > + description:
> > + The cell specifies the channel number of the DMAC port connected to
> > + the DMA client.
> > +
> > + dma-channels:
> > + maximum: 2
>
> Is there a use case for specifying a single channel?
>
> > +
> > + iommus:
> > + maxItems: 2
>
> Likewise?
As I mentioned above, there is not a use case for specifying a single channel.
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + resets:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - interrupt-names
> > + - clocks
> > + - '#dma-cells'
> > + - dma-channels
>
> Shouldn't "power-domains" and "resets" be mandatory, too?
> All covered SoCS have them.
Oops. I'll add these properties as required.
Best regards,
Yoshihiro Shimoda
> 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] 11+ messages in thread
* RE: [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
2020-04-15 13:09 ` Geert Uytterhoeven
2020-04-15 13:52 ` Geert Uytterhoeven
@ 2020-04-16 7:47 ` Yoshihiro Shimoda
1 sibling, 0 replies; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-16 7:47 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Geert-san,
Thank you for your review!
> From: Geert Uytterhoeven, Sent: Wednesday, April 15, 2020 10:10 PM
<snip>
> > + interrupt-names:
> > + minItems: 9
> > + maxItems: 17
> > + items:
> > + - const: error
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
> > + - pattern: "^ch([0-9]|1[0-5])$"
>
> Would it make sense to just put the actual names here?
>
> - const: error
> - const: ch0
> - const: ch1
> [...]
> - const: ch 15
Rob suggested using pattern on other patch:
https://lkml.org/lkml/2020/2/19/720
So, I'm thinking using pattern is better.
Best regards,
Yoshihiro Shimoda
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings to json-schema
2020-04-15 13:52 ` Geert Uytterhoeven
@ 2020-04-16 7:48 ` Yoshihiro Shimoda
0 siblings, 0 replies; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-16 7:48 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Geert-san,
> From: Geert Uytterhoeven, Sent: Wednesday, April 15, 2020 10:53 PM
<snip>
> On Wed, Apr 15, 2020 at 3:09 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Fri, Apr 10, 2020 at 12:02 PM Yoshihiro Shimoda
> > <yoshihiro.shimoda.uh@renesas.com> wrote:
> > > Convert Renesas R-Car and RZ/G DMA Controller bindings
> > > documentation to json-schema.
> > >
> > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > One question below...
>
> Sorry, I missed something at first: shouldn't "power-domains" and "resets"
> be mandatory as well?
I think so. So, I'll fix it.
Best regards,
Yoshihiro Shimoda
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
2020-04-16 2:04 ` Yoshihiro Shimoda
@ 2020-04-16 7:49 ` Geert Uytterhoeven
2020-04-16 8:13 ` Yoshihiro Shimoda
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2020-04-16 7:49 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Shimoda-san,
On Thu, Apr 16, 2020 at 4:04 AM Yoshihiro Shimoda
<yoshihiro.shimoda.uh@renesas.com> wrote:
> > From: Geert Uytterhoeven, Sent: Wednesday, April 15, 2020 10:56 PM
> <snip>
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
> > > + interrupts:
> > > + maxItems: 2
> >
> > Is there a use case for specifying a single interrupt?
>
> No. All USB-DMAC of R-Car Gen2/3 and RZ/Gn has 2 channels.
> In case of R-Car Gen3, please refer to the Figure 75.1 USB-DMAC Block Diagram.
> These USB-DMACn have CH0 and CH1
Thanks for confirming!
> > > + dma-channels:
> > > + maximum: 2
> >
> > Is there a use case for specifying a single channel?
> >
> > > +
> > > + iommus:
> > > + maxItems: 2
> >
> > Likewise?
>
> As I mentioned above, there is not a use case for specifying a single channel.
Hence I think all of these should have "const: 2" or "minItems: 2".
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] 11+ messages in thread
* RE: [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: convert bindings to json-schema
2020-04-16 7:49 ` Geert Uytterhoeven
@ 2020-04-16 8:13 ` Yoshihiro Shimoda
0 siblings, 0 replies; 11+ messages in thread
From: Yoshihiro Shimoda @ 2020-04-16 8:13 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Vinod, Rob Herring, dmaengine,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux-Renesas
Hi Geert-san,
> From: Geert Uytterhoeven, Sent: Thursday, April 16, 2020 4:50 PM
>
> Hi Shimoda-san,
>
> On Thu, Apr 16, 2020 at 4:04 AM Yoshihiro Shimoda
> <yoshihiro.shimoda.uh@renesas.com> wrote:
> > > From: Geert Uytterhoeven, Sent: Wednesday, April 15, 2020 10:56 PM
> > <snip>
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/dma/renesas,usb-dmac.yaml
> > > > + interrupts:
> > > > + maxItems: 2
> > >
> > > Is there a use case for specifying a single interrupt?
> >
> > No. All USB-DMAC of R-Car Gen2/3 and RZ/Gn has 2 channels.
> > In case of R-Car Gen3, please refer to the Figure 75.1 USB-DMAC Block Diagram.
> > These USB-DMACn have CH0 and CH1
>
> Thanks for confirming!
>
> > > > + dma-channels:
> > > > + maximum: 2
> > >
> > > Is there a use case for specifying a single channel?
> > >
> > > > +
> > > > + iommus:
> > > > + maxItems: 2
> > >
> > > Likewise?
> >
> > As I mentioned above, there is not a use case for specifying a single channel.
>
> Hence I think all of these should have "const: 2" or "minItems: 2".
Thank you for the proposal. I got it. I'll fix it.
Best regards,
Yoshihiro Shimoda
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-04-16 8:13 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-10 10:02 [PATCH 0/2] dt-bindings: dma: renesas,{rcar,usb}-dmac: convert to json-schema Yoshihiro Shimoda
2020-04-10 10:02 ` [PATCH 1/2] dt-bindings: dma: renesas,rcar-dmac: convert bindings " Yoshihiro Shimoda
2020-04-15 13:09 ` Geert Uytterhoeven
2020-04-15 13:52 ` Geert Uytterhoeven
2020-04-16 7:48 ` Yoshihiro Shimoda
2020-04-16 7:47 ` Yoshihiro Shimoda
2020-04-10 10:02 ` [PATCH 2/2] dt-bindings: dma: renesas,usb-dmac: " Yoshihiro Shimoda
2020-04-15 13:55 ` Geert Uytterhoeven
2020-04-16 2:04 ` Yoshihiro Shimoda
2020-04-16 7:49 ` Geert Uytterhoeven
2020-04-16 8:13 ` Yoshihiro Shimoda
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.