Message ID | 20220613032306.23237-2-irui.wang@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable two hardware jpeg encoder for MT8195 | expand |
On Mon, 13 Jun 2022 11:23:00 +0800, Irui Wang wrote: > From: kyrie wu <kyrie.wu@mediatek.com> > > Add mediatek,mt8195-jpgenc compatible to binding document. > > Signed-off-by: kyrie wu <kyrie.wu@mediatek.com> > --- > .../media/mediatek,mt8195-jpegenc.yaml | 155 ++++++++++++++++++ > 1 file changed, 155 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.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/linux-dt-review/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml: patternProperties:^jpgenc@[0-9a-f]+$:properties:mediatek,hw-id:minItems: 0 is less than the minimum of 1 from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml: patternProperties:^jpgenc@[0-9a-f]+$:properties:mediatek,hw-id: '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 ('maxItems', 'minItems' were unexpected) hint: A vendor boolean property can use "type: boolean" /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml: patternProperties:^jpgenc@[0-9a-f]+$:properties:mediatek,hw-id: '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# /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml: patternProperties:^jpgenc@[0-9a-f]+$:properties:mediatek,hw-id: 'oneOf' conditional failed, one must be fixed: '$ref' is a required property 'allOf' is a required property hint: A vendor property needs a $ref to types.yaml from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# 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/linux-dt-review/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml: ignoring, error in schema: patternProperties: ^jpgenc@[0-9a-f]+$: properties: mediatek,hw-id: minItems Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master: failed to match any schema with compatible: ['mediatek,mt8195-jpgenc'] Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master/jpgenc@1a030000: failed to match any schema with compatible: ['mediatek,mt8195-jpgenc-hw'] Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master/jpgenc@1b030000: failed to match any schema with compatible: ['mediatek,mt8195-jpgenc-hw'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ 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.
On Mon, 2022-06-13 at 07:33 -0600, Rob Herring wrote: > On Mon, 13 Jun 2022 11:23:00 +0800, Irui Wang wrote: > > From: kyrie wu <kyrie.wu@mediatek.com> > > > > Add mediatek,mt8195-jpgenc compatible to binding document. > > > > Signed-off-by: kyrie wu <kyrie.wu@mediatek.com> > > --- > > .../media/mediatek,mt8195-jpegenc.yaml | 155 > > ++++++++++++++++++ > > 1 file changed, 155 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/media/mediatek,mt8195- > > jpegenc.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/linux-dt- > review/Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.yaml: patternProperties:^jpgenc@[0-9a- > f]+$:properties:mediatek,hw-id:minItems: 0 is less than the minimum > of 1 > from schema $id: > http://devicetree.org/meta-schemas/keywords.yaml# > /builds/robherring/linux-dt- > review/Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.yaml: patternProperties:^jpgenc@[0-9a- > f]+$:properties:mediatek,hw-id: '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 ('maxItems', 'minItems' > were unexpected) > hint: A vendor boolean property can use "type: boolean" > /builds/robherring/linux-dt- > review/Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.yaml: patternProperties:^jpgenc@[0-9a- > f]+$:properties:mediatek,hw-id: '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# > /builds/robherring/linux-dt- > review/Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.yaml: patternProperties:^jpgenc@[0-9a- > f]+$:properties:mediatek,hw-id: 'oneOf' conditional failed, one must > be fixed: > '$ref' is a required property > 'allOf' is a required property > hint: A vendor property needs a $ref to types.yaml > from schema $id: > http://devicetree.org/meta-schemas/vendor-props.yaml# > 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/linux-dt- > review/Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.yaml: ignoring, error in schema: patternProperties: > ^jpgenc@[0-9a-f]+$: properties: mediatek,hw-id: minItems > Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master: failed to > match any schema with compatible: ['mediatek,mt8195-jpgenc'] > Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master/jpgenc@1a030000 > : failed to match any schema with compatible: ['mediatek,mt8195- > jpgenc-hw'] > Documentation/devicetree/bindings/media/mediatek,mt8195- > jpegenc.example.dtb:0:0: /example-0/soc/jpgenc_master/jpgenc@1b030000 > : failed to match any schema with compatible: ['mediatek,mt8195- > jpgenc-hw'] > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/patch/ > > 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. > Dear Rob, I have took your suggestions and fixed the above errors. I will resend all patches, please test again. Thanks. sincerely, kyrie.
diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml new file mode 100644 index 000000000000..d0a007748ffd --- /dev/null +++ b/Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml @@ -0,0 +1,155 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/mediatek,mt8195-jpegenc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek JPEG Encoder Device Tree Bindings + +maintainers: + - kyrie wu <kyrie.wu@mediatek.corp-partner.google.com> + +description: |- + MediaTek JPEG Encoder is the JPEG encode hardware present in MediaTek SoCs + +properties: + compatible: + items: + - const: mediatek,mt8195-jpgenc + + mediatek,jpegenc-multi-core: + type: boolean + description: | + Indicates whether the jpeg encoder has multiple cores or not. + + power-domains: + maxItems: 1 + + iommus: + maxItems: 4 + description: | + Points to the respective IOMMU block with master port as argument, see + Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. + Ports are according to the HW. + + "#address-cells": + const: 2 + + "#size-cells": + const: 2 + + ranges: true + +# Required child node: +patternProperties: + "^jpgenc@[0-9a-f]+$": + type: object + description: | + The jpeg encoder hardware device node which should be added as subnodes to + the main jpeg node. + + properties: + compatible: + const: mediatek,mt8195-jpgenc-hw + + reg: + maxItems: 1 + + mediatek,hw-id: + minItems: 0 + maxItems: 1 + description: | + Current jpegenc hw id. + + iommus: + minItems: 1 + maxItems: 32 + description: | + List of the hardware port in respective IOMMU block for current Socs. + Refer to bindings/iommu/mediatek,iommu.yaml. + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + items: + - const: jpgenc + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - mediatek,hw-id + - iommus + - interrupts + - clocks + - clock-names + - power-domains + + additionalProperties: false + +required: + - compatible + - power-domains + - iommus + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/memory/mt8195-memory-port.h> + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/clock/mt8195-clk.h> + #include <dt-bindings/power/mt8195-power.h> + + soc { + #address-cells = <2>; + #size-cells = <2>; + + jpgenc_master { + compatible = "mediatek,mt8195-jpgenc"; + mediatek,jpegenc-multi-core; + power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; + iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, + <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, + <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, + <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + jpgenc@1a030000 { + compatible = "mediatek,mt8195-jpgenc-hw"; + reg = <0 0x1a030000 0 0x10000>; + mediatek,hw-id = <0>; + iommus = <&iommu_vdo M4U_PORT_L19_JPGENC_Y_RDMA>, + <&iommu_vdo M4U_PORT_L19_JPGENC_C_RDMA>, + <&iommu_vdo M4U_PORT_L19_JPGENC_Q_TABLE>, + <&iommu_vdo M4U_PORT_L19_JPGENC_BSDMA>; + interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH 0>; + clocks = <&vencsys CLK_VENC_JPGENC>; + clock-names = "jpgenc"; + power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; + }; + + jpgenc@1b030000 { + compatible = "mediatek,mt8195-jpgenc-hw"; + reg = <0 0x1b030000 0 0x10000>; + mediatek,hw-id = <1>; + iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, + <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, + <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, + <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; + interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 0>; + clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGENC>; + clock-names = "jpgenc"; + power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; + }; + }; + };