Re: [PATCH v4 1/3] media: dt-binding: media: Add rockchip-vepu binding

From: Nicolas Frattaroli
Date: Sun Jun 12 2022 - 11:05:48 EST


Hello

On Samstag, 14. Mai 2022 22:41:29 CEST Krzysztof Kozlowski wrote:
> On 14/05/2022 15:36, Nicolas Frattaroli wrote:
> > The RK3568 and RK3566 have a Hantro VPU node solely dedicated to
> > encoding. This patch adds a new binding to describe it, as it
> > does not really fit the rockchip-vpu binding, since there is no
> > decoder.
> >
> > Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@xxxxxxxxx>
> > ---
> > .../bindings/media/rockchip-vepu.yaml | 64 +++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 65 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/media/rockchip-vepu.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/media/rockchip-vepu.yaml b/Documentation/devicetree/bindings/media/rockchip-vepu.yaml
> > new file mode 100644
> > index 000000000000..b7ba5bf3517a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/rockchip-vepu.yaml
>
> Filename: vendor,device (not hyphen)
> It would be actually better if it followed the first compatible, so
> "rockchip,rk3568-vepu.yaml"

Thanks, will do.

>
> > @@ -0,0 +1,64 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +
> > +%YAML 1.2
> > +---
> > +$id: "http://devicetree.org/schemas/media/rockchip-vepu.yaml#";
> > +$schema: "http://devicetree.org/meta-schemas/core.yaml#";
> > +
> > +title: Hantro G1 VPU encoders implemented on Rockchip SoCs
> > +
> > +maintainers:
> > + - Nicolas Frattaroli <frattaroli.nicolas@xxxxxxxxx>
> > +
> > +description:
> > + Hantro G1 video encode-only accelerators present on Rockchip SoCs.
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - rockchip,rk3568-vepu
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 2
> > +
> > + clock-names:
> > + items:
> > + - const: aclk
> > + - const: hclk
>
> Since these are new bindings, it would be good to follow DT convention
> and not add common "clk" prefix to clocks. Just like DMA is "tx" not
> "txdma". However clock names "a" and "h" are also not good and maybe
> this is already shared implementation?

This is indeed a shared implementation. Theoretically I could change
the driver for this one case but that seems pointless, especially
since "aclk" and "hclk" are the usual clk names for AXI and AHB on
ARM as far as I understand. I think I've been told before that those
two clocks should always be called aclk and hclk.

>
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + iommus:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/rk3568-cru.h>
>
> Indentation starts at "|" (so four spaces)
>
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/power/rk3568-power.h>
> > +
> > + vepu: video-codec@fdee0000 {
>
> four spaces.
>
> > + compatible = "rockchip,rk3568-vepu";
> > + reg = <0x0 0xfdee0000 0x0 0x800>;
> > + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
> > + clock-names = "aclk", "hclk";
> > + iommus = <&vepu_mmu>;
> > + power-domains = <&power RK3568_PD_RGA>;
> > + };
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 9ce78f2275dc..f901a42e5d0f 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -8637,6 +8637,7 @@ L: linux-media@xxxxxxxxxxxxxxx
> > L: linux-rockchip@xxxxxxxxxxxxxxxxxxx
> > S: Maintained
> > F: Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
> > +F: Documentation/devicetree/bindings/media/rockchip-vepu.yaml
> > F: Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > F: drivers/staging/media/hantro/
> >
>
>
> Best regards,
> Krzysztof
>

Thank you for your feedback,
Nicolas Frattaroli