[v7,2/7] media: dt-binding: nuvoton: Add bindings for NPCM VCD and ECE engine
Commit Message
Add dt-binding document for Video Capture/Differentiation Engine (VCD)
and Encoding Compression Engine (ECE) present on Nuvoton NPCM SoCs.
Signed-off-by: Marvin Lin <milkfafa@gmail.com>
---
.../bindings/media/nuvoton,npcm-video.yaml | 87 +++++++++++++++++++
1 file changed, 87 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
Comments
On Tue, 22 Nov 2022 16:57:19 +0800, Marvin Lin wrote:
> Add dt-binding document for Video Capture/Differentiation Engine (VCD)
> and Encoding Compression Engine (ECE) present on Nuvoton NPCM SoCs.
>
> Signed-off-by: Marvin Lin <milkfafa@gmail.com>
> ---
> .../bindings/media/nuvoton,npcm-video.yaml | 87 +++++++++++++++++++
> 1 file changed, 87 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml: properties:nuvoton,syscon-gcr: 'oneOf' conditional failed, one must be fixed:
'type' is a required property
hint: A vendor boolean property can use "type: boolean"
Additional properties are not allowed ('$ref' was unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml: properties:nuvoton,syscon-gcr: 'oneOf' conditional failed, one must be fixed:
'enum' is a required property
'const' is a required property
hint: A vendor string property with exact values has an implicit type
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
'/schemas/types.yaml#definitions/phandle' does not match 'types.yaml#/definitions/'
hint: A vendor property needs a $ref to types.yaml
'/schemas/types.yaml#definitions/phandle' does not match '^#/(definitions|\\$defs)/'
hint: A vendor property can have a $ref to a a $defs schema
hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml: properties:nuvoton,syscon-gfxi: 'oneOf' conditional failed, one must be fixed:
'type' is a required property
hint: A vendor boolean property can use "type: boolean"
Additional properties are not allowed ('$ref' was unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml: properties:nuvoton,syscon-gfxi: 'oneOf' conditional failed, one must be fixed:
'enum' is a required property
'const' is a required property
hint: A vendor string property with exact values has an implicit type
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
'/schemas/types.yaml#definitions/phandle' does not match 'types.yaml#/definitions/'
hint: A vendor property needs a $ref to types.yaml
'/schemas/types.yaml#definitions/phandle' does not match '^#/(definitions|\\$defs)/'
hint: A vendor property can have a $ref to a a $defs schema
hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20221122085724.3245078-3-milkfafa@gmail.com
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command.
On Tue, Nov 22, 2022 at 04:57:19PM +0800, Marvin Lin wrote:
> Add dt-binding document for Video Capture/Differentiation Engine (VCD)
> and Encoding Compression Engine (ECE) present on Nuvoton NPCM SoCs.
>
> Signed-off-by: Marvin Lin <milkfafa@gmail.com>
> ---
> .../bindings/media/nuvoton,npcm-video.yaml | 87 +++++++++++++++++++
> 1 file changed, 87 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml b/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
> new file mode 100644
> index 000000000000..b5be7ef09038
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
> @@ -0,0 +1,87 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/nuvoton,npcm-video.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nuvoton NPCM Video Capture/Encode Engine Device Tree Bindings
Drop ' Device Tree Bindings'
> +
> +maintainers:
> + - Joseph Liu <kwliu@nuvoton.com>
> + - Marvin Lin <kflin@nuvoton.com>
> +
> +description: |
> + Video Capture/Differentiation Engine (VCD) and Encoding Compression Engine
> + (ECE) present on Nuvoton NPCM SoCs.
Sounds like 2 h/w blocks? If so, then it should be 2 separate nodes.
> +
> +properties:
> + compatible:
> + enum:
> + - nuvoton,npcm750-video
> + - nuvoton,npcm845-video
'video' doesn't sound like the name of the h/w block(s).
> +
> + reg:
> + items:
> + - description: VCD registers
> + - description: ECE registers
> +
> + reg-names:
> + items:
> + - const: vcd
> + - const: ece
> +
> + interrupts:
> + maxItems: 1
> +
> + resets:
> + items:
> + - description: VCD reset control
> + - description: ECE reset control
> +
> + reset-names:
> + items:
> + - const: vcd
> + - const: ece
> +
> + nuvoton,syscon-gcr:
> + $ref: /schemas/types.yaml#definitions/phandle
> + description: Phandle to the Global Control Register DT node
> +
> + nuvoton,syscon-gfxi:
> + $ref: /schemas/types.yaml#definitions/phandle
> + description: Phandle to the Graphics Core Information DT node
> +
> + memory-region:
> + description:
> + CMA pool to use for buffers allocation instead of the default CMA pool.
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - interrupts
> + - resets
> + - reset-names
> + - nuvoton,syscon-gcr
> + - nuvoton,syscon-gfxi
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/reset/nuvoton,npcm7xx-reset.h>
> +
> + video: video@f0810000 {
> + compatible = "nuvoton,npcm750-video";
> + reg = <0xf0810000 0x10000>,
> + <0xf0820000 0x2000>;
> + reg-names = "vcd", "ece";
> + interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
> + resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_VCD>,
> + <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_ECE>;
> + reset-names = "vcd", "ece";
> + nuvoton,syscon-gcr = <&gcr>;
> + nuvoton,syscon-gfxi = <&gfxi>;
> + };
> --
> 2.34.1
>
>
Hi Rob,
Thanks for the review.
> > +title: Nuvoton NPCM Video Capture/Encode Engine Device Tree Bindings
>
> Drop ' Device Tree Bindings'
>
> > +
> > +maintainers:
> > + - Joseph Liu <kwliu@nuvoton.com>
> > + - Marvin Lin <kflin@nuvoton.com>
> > +
> > +description: |
> > + Video Capture/Differentiation Engine (VCD) and Encoding Compression Engine
> > + (ECE) present on Nuvoton NPCM SoCs.
>
> Sounds like 2 h/w blocks? If so, then it should be 2 separate nodes.
>
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - nuvoton,npcm750-video
> > + - nuvoton,npcm845-video
>
> 'video' doesn't sound like the name of the h/w block(s).
VCD and ECE are 2 h/w blocks and our video capture driver needs to
control their registers.
If I separate them and store a phandle (referring to ece node) in vcd
node like this:
vcd: vcd@f0810000 {
compatible = "nuvoton,npcm750-vcd";
reg = <0xf0810000 0x10000>;
...
nuvoton,enc-engine = <&ece>;
};
ece: ece@f0820000 {
compatible = "nuvoton,npcm750-ece";
reg = <0xf0820000 0x2000>;
...
};
Does it look good to you?
Regards,
Marvin
new file mode 100644
@@ -0,0 +1,87 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/nuvoton,npcm-video.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton NPCM Video Capture/Encode Engine Device Tree Bindings
+
+maintainers:
+ - Joseph Liu <kwliu@nuvoton.com>
+ - Marvin Lin <kflin@nuvoton.com>
+
+description: |
+ Video Capture/Differentiation Engine (VCD) and Encoding Compression Engine
+ (ECE) present on Nuvoton NPCM SoCs.
+
+properties:
+ compatible:
+ enum:
+ - nuvoton,npcm750-video
+ - nuvoton,npcm845-video
+
+ reg:
+ items:
+ - description: VCD registers
+ - description: ECE registers
+
+ reg-names:
+ items:
+ - const: vcd
+ - const: ece
+
+ interrupts:
+ maxItems: 1
+
+ resets:
+ items:
+ - description: VCD reset control
+ - description: ECE reset control
+
+ reset-names:
+ items:
+ - const: vcd
+ - const: ece
+
+ nuvoton,syscon-gcr:
+ $ref: /schemas/types.yaml#definitions/phandle
+ description: Phandle to the Global Control Register DT node
+
+ nuvoton,syscon-gfxi:
+ $ref: /schemas/types.yaml#definitions/phandle
+ description: Phandle to the Graphics Core Information DT node
+
+ memory-region:
+ description:
+ CMA pool to use for buffers allocation instead of the default CMA pool.
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - resets
+ - reset-names
+ - nuvoton,syscon-gcr
+ - nuvoton,syscon-gfxi
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/reset/nuvoton,npcm7xx-reset.h>
+
+ video: video@f0810000 {
+ compatible = "nuvoton,npcm750-video";
+ reg = <0xf0810000 0x10000>,
+ <0xf0820000 0x2000>;
+ reg-names = "vcd", "ece";
+ interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+ resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_VCD>,
+ <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_ECE>;
+ reset-names = "vcd", "ece";
+ nuvoton,syscon-gcr = <&gcr>;
+ nuvoton,syscon-gfxi = <&gfxi>;
+ };