[v5,1/3] media: dt-bindings: media: mediatek: Rename child node names for decoder
Commit Message
In order to make the names of the child nodes more generic, we rename
"vcodec-lat" and "vcodec-core" to "video-codec" for decoder in
patternProperties and example.
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
.../media/mediatek,vcodec-subdev-decoder.yaml | 60 ++-----------------
1 file changed, 4 insertions(+), 56 deletions(-)
Comments
On 28/11/2022 15:38, Allen-KH Cheng wrote:
> In order to make the names of the child nodes more generic, we rename
> "vcodec-lat" and "vcodec-core" to "video-codec" for decoder in
> patternProperties and example.
>
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
> .../media/mediatek,vcodec-subdev-decoder.yaml | 60 ++-----------------
> 1 file changed, 4 insertions(+), 56 deletions(-)
>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
On Mon, Nov 28, 2022 at 10:38:30PM +0800, Allen-KH Cheng wrote:
> In order to make the names of the child nodes more generic, we rename
> "vcodec-lat" and "vcodec-core" to "video-codec" for decoder in
> patternProperties and example.
>
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
> .../media/mediatek,vcodec-subdev-decoder.yaml | 60 ++-----------------
> 1 file changed, 4 insertions(+), 56 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> index c4f20acdc1f8..695402041e04 100644
> --- a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> +++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> @@ -91,12 +91,13 @@ properties:
>
> # Required child node:
> patternProperties:
> - '^vcodec-lat@[0-9a-f]+$':
> + '^video-codec@[0-9a-f]+$':
> type: object
>
> properties:
> compatible:
> enum:
> + - mediatek,mtk-vcodec-core
> - mediatek,mtk-vcodec-lat
> - mediatek,mtk-vcodec-lat-soc
>
> @@ -145,59 +146,6 @@ patternProperties:
>
> additionalProperties: false
>
> - '^vcodec-core@[0-9a-f]+$':
> - type: object
> -
> - properties:
> - compatible:
> - const: mediatek,mtk-vcodec-core
> -
> - reg:
> - maxItems: 1
> -
> - interrupts:
> - maxItems: 1
> -
> - 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.
> -
> - clocks:
> - maxItems: 5
> -
> - clock-names:
> - items:
> - - const: sel
> - - const: soc-vdec
> - - const: soc-lat
> - - const: vdec
> - - const: top
> -
> - assigned-clocks:
> - maxItems: 1
> -
> - assigned-clock-parents:
> - maxItems: 1
> -
> - power-domains:
> - maxItems: 1
> -
> - required:
> - - compatible
> - - reg
> - - interrupts
Looks like interrupts was required for vcodec-core, but it isn't for the generic
video-codec node. Which seems correct, given that the vcodec-lat-soc doesn't
have an interrupt [1]. So I guess this is just the generic video-codec node in
the binding being too generic for some cases. Ideally we would override
interrupts to be required based on which subnode we're dealing with (for lat and
core, but not lat-soc), but given these are subnodes matched through
patternProperties, I'm not sure that would be possible.
[1] https://lore.kernel.org/all/20221202034450.3808-3-yunfei.dong@mediatek.com/
Thanks,
NĂcolas
> - - iommus
> - - clocks
> - - clock-names
> - - assigned-clocks
> - - assigned-clock-parents
> - - power-domains
> -
> - additionalProperties: false
> -
@@ -91,12 +91,13 @@ properties:
# Required child node:
patternProperties:
- '^vcodec-lat@[0-9a-f]+$':
+ '^video-codec@[0-9a-f]+$':
type: object
properties:
compatible:
enum:
+ - mediatek,mtk-vcodec-core
- mediatek,mtk-vcodec-lat
- mediatek,mtk-vcodec-lat-soc
@@ -145,59 +146,6 @@ patternProperties:
additionalProperties: false
- '^vcodec-core@[0-9a-f]+$':
- type: object
-
- properties:
- compatible:
- const: mediatek,mtk-vcodec-core
-
- reg:
- maxItems: 1
-
- interrupts:
- maxItems: 1
-
- 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.
-
- clocks:
- maxItems: 5
-
- clock-names:
- items:
- - const: sel
- - const: soc-vdec
- - const: soc-lat
- - const: vdec
- - const: top
-
- assigned-clocks:
- maxItems: 1
-
- assigned-clock-parents:
- maxItems: 1
-
- power-domains:
- maxItems: 1
-
- required:
- - compatible
- - reg
- - interrupts
- - iommus
- - clocks
- - clock-names
- - assigned-clocks
- - assigned-clock-parents
- - power-domains
-
- additionalProperties: false
-
required:
- compatible
- reg
@@ -241,7 +189,7 @@ examples:
#size-cells = <2>;
ranges = <0 0 0 0x16000000 0 0x40000>;
reg = <0 0x16000000 0 0x1000>; /* VDEC_SYS */
- vcodec-lat@10000 {
+ video-codec@10000 {
compatible = "mediatek,mtk-vcodec-lat";
reg = <0 0x10000 0 0x800>;
interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
@@ -264,7 +212,7 @@ examples:
power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
};
- vcodec-core@25000 {
+ video-codec@25000 {
compatible = "mediatek,mtk-vcodec-core";
reg = <0 0x25000 0 0x1000>;
interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;