diff mbox series

[v4,1/5] dt-bindings: Document JZ47xx VPU auxiliary processor

Message ID 20191210164014.50739-1-paul@crapouillou.net (mailing list archive)
State Superseded
Headers show
Series [v4,1/5] dt-bindings: Document JZ47xx VPU auxiliary processor | expand

Commit Message

Paul Cercueil Dec. 10, 2019, 4:40 p.m. UTC
Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
Ingenic is a second Xburst MIPS CPU very similar to the main core.
This document describes the devicetree bindings for this auxiliary
processor.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---

Notes:
    v2: Update TCSM0 address in example
    v3: Change node name to 'video-decoder'
    v4: Convert to YAML. I didn't add Rob's Ack on v3 because of that (sorry Rob)

 .../bindings/remoteproc/ingenic,vpu.yaml      | 76 +++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml

Comments

Rob Herring (Arm) Dec. 13, 2019, 7:02 p.m. UTC | #1
On Tue, Dec 10, 2019 at 05:40:10PM +0100, Paul Cercueil wrote:
> Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
> Ingenic is a second Xburst MIPS CPU very similar to the main core.
> This document describes the devicetree bindings for this auxiliary
> processor.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
> 
> Notes:
>     v2: Update TCSM0 address in example
>     v3: Change node name to 'video-decoder'
>     v4: Convert to YAML. I didn't add Rob's Ack on v3 because of that (sorry Rob)
> 
>  .../bindings/remoteproc/ingenic,vpu.yaml      | 76 +++++++++++++++++++
>  1 file changed, 76 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
> 
> diff --git a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
> new file mode 100644
> index 000000000000..9f876d16a5a6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Ingenic Video Processing Unit bindings
> +
> +description:
> +  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
> +  Ingenic is a second Xburst MIPS CPU very similar to the main core.
> +  This document describes the devicetree bindings for this auxiliary
> +  processor.
> +
> +maintainers:
> +  - Paul Cercueil <paul@crapouillou.net>
> +
> +properties:
> +  compatible:
> +    const: ingenic,jz4770-vpu-rproc
> +
> +  reg:
> +    items:
> +      - description: aux registers
> +      - description: tcsm0 registers
> +      - description: tcsm1 registers
> +      - description: sram registers
> +
> +  reg-names:
> +    items:
> +      - const: aux
> +      - const: tcsm0
> +      - const: tcsm1
> +      - const: sram
> +
> +  clocks:
> +    items:
> +      - description: aux clock
> +      - description: vpu clock
> +
> +  clock-names:
> +    items:
> +      - const: aux
> +      - const: vpu
> +
> +  interrupts:
> +    description: VPU hardware interrupt
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - clocks
> +  - clock-names
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    vpu: video-decoder@132a0000 {
> +      compatible = "ingenic,jz4770-vpu-rproc";
> +
> +      reg = <0x132a0000 0x20 /* AUX */
> +           0x132b0000 0x4000 /* TCSM0 */
> +           0x132c0000 0xc000 /* TCSM1 */
> +           0x132f0000 0x7000 /* SRAM */
> +      >;
> +      reg-names = "aux", "tcsm0", "tcsm1", "sram";
> +
> +      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;

Examples are built now by 'make dt_binding_check' and this fails. You 
need to add the include for these defines.

Also, the schema should complain after that on 'reg'. You need to <> 
each entry (addr and size).

> +      clock-names = "aux", "vpu";
> +
> +      interrupt-parent = <&cpuintc>;
> +      interrupts = <3>;
> +    };
> -- 
> 2.24.0
>
Paul Cercueil Dec. 13, 2019, 9:27 p.m. UTC | #2
Hi Rob,


Le ven., déc. 13, 2019 at 13:02, Rob Herring <robh@kernel.org> a 
écrit :
> On Tue, Dec 10, 2019 at 05:40:10PM +0100, Paul Cercueil wrote:
>>  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs 
>> from
>>  Ingenic is a second Xburst MIPS CPU very similar to the main core.
>>  This document describes the devicetree bindings for this auxiliary
>>  processor.
>> 
>>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>  ---
>> 
>>  Notes:
>>      v2: Update TCSM0 address in example
>>      v3: Change node name to 'video-decoder'
>>      v4: Convert to YAML. I didn't add Rob's Ack on v3 because of 
>> that (sorry Rob)
>> 
>>   .../bindings/remoteproc/ingenic,vpu.yaml      | 76 
>> +++++++++++++++++++
>>   1 file changed, 76 insertions(+)
>>   create mode 100644 
>> Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>> 
>>  diff --git 
>> a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml 
>> b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>>  new file mode 100644
>>  index 000000000000..9f876d16a5a6
>>  --- /dev/null
>>  +++ b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
>>  @@ -0,0 +1,76 @@
>>  +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>  +%YAML 1.2
>>  +---
>>  +$id: "http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#"
>>  +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
>>  +
>>  +title: Ingenic Video Processing Unit bindings
>>  +
>>  +description:
>>  +  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs 
>> from
>>  +  Ingenic is a second Xburst MIPS CPU very similar to the main 
>> core.
>>  +  This document describes the devicetree bindings for this 
>> auxiliary
>>  +  processor.
>>  +
>>  +maintainers:
>>  +  - Paul Cercueil <paul@crapouillou.net>
>>  +
>>  +properties:
>>  +  compatible:
>>  +    const: ingenic,jz4770-vpu-rproc
>>  +
>>  +  reg:
>>  +    items:
>>  +      - description: aux registers
>>  +      - description: tcsm0 registers
>>  +      - description: tcsm1 registers
>>  +      - description: sram registers
>>  +
>>  +  reg-names:
>>  +    items:
>>  +      - const: aux
>>  +      - const: tcsm0
>>  +      - const: tcsm1
>>  +      - const: sram
>>  +
>>  +  clocks:
>>  +    items:
>>  +      - description: aux clock
>>  +      - description: vpu clock
>>  +
>>  +  clock-names:
>>  +    items:
>>  +      - const: aux
>>  +      - const: vpu
>>  +
>>  +  interrupts:
>>  +    description: VPU hardware interrupt
>>  +
>>  +required:
>>  +  - compatible
>>  +  - reg
>>  +  - reg-names
>>  +  - clocks
>>  +  - clock-names
>>  +  - interrupts
>>  +
>>  +additionalProperties: false
>>  +
>>  +examples:
>>  +  - |
>>  +    vpu: video-decoder@132a0000 {
>>  +      compatible = "ingenic,jz4770-vpu-rproc";
>>  +
>>  +      reg = <0x132a0000 0x20 /* AUX */
>>  +           0x132b0000 0x4000 /* TCSM0 */
>>  +           0x132c0000 0xc000 /* TCSM1 */
>>  +           0x132f0000 0x7000 /* SRAM */
>>  +      >;
>>  +      reg-names = "aux", "tcsm0", "tcsm1", "sram";
>>  +
>>  +      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;
> 
> Examples are built now by 'make dt_binding_check' and this fails. You
> need to add the include for these defines.

Strange, "make dt_binding_check" does not complain here about this file 
with your latest dt-schema tool and Linux 5.5-rc1.

> 
> Also, the schema should complain after that on 'reg'. You need to <>
> each entry (addr and size).

Ok.

-Paul

> 
>>  +      clock-names = "aux", "vpu";
>>  +
>>  +      interrupt-parent = <&cpuintc>;
>>  +      interrupts = <3>;
>>  +    };
>>  --
>>  2.24.0
>>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
new file mode 100644
index 000000000000..9f876d16a5a6
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml
@@ -0,0 +1,76 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/remoteproc/ingenic,vpu.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Ingenic Video Processing Unit bindings
+
+description:
+  Inside the Video Processing Unit (VPU) of the recent JZ47xx SoCs from
+  Ingenic is a second Xburst MIPS CPU very similar to the main core.
+  This document describes the devicetree bindings for this auxiliary
+  processor.
+
+maintainers:
+  - Paul Cercueil <paul@crapouillou.net>
+
+properties:
+  compatible:
+    const: ingenic,jz4770-vpu-rproc
+
+  reg:
+    items:
+      - description: aux registers
+      - description: tcsm0 registers
+      - description: tcsm1 registers
+      - description: sram registers
+
+  reg-names:
+    items:
+      - const: aux
+      - const: tcsm0
+      - const: tcsm1
+      - const: sram
+
+  clocks:
+    items:
+      - description: aux clock
+      - description: vpu clock
+
+  clock-names:
+    items:
+      - const: aux
+      - const: vpu
+
+  interrupts:
+    description: VPU hardware interrupt
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - clocks
+  - clock-names
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    vpu: video-decoder@132a0000 {
+      compatible = "ingenic,jz4770-vpu-rproc";
+
+      reg = <0x132a0000 0x20 /* AUX */
+           0x132b0000 0x4000 /* TCSM0 */
+           0x132c0000 0xc000 /* TCSM1 */
+           0x132f0000 0x7000 /* SRAM */
+      >;
+      reg-names = "aux", "tcsm0", "tcsm1", "sram";
+
+      clocks = <&cgu JZ4770_CLK_AUX>, <&cgu JZ4770_CLK_VPU>;
+      clock-names = "aux", "vpu";
+
+      interrupt-parent = <&cpuintc>;
+      interrupts = <3>;
+    };