Message ID | 20220514133604.174905-2-frattaroli.nicolas@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable JPEG Encoder on RK3566/RK3568 | expand |
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@gmail.com> > --- > .../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" > @@ -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@gmail.com> > + > +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? > + > + 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@vger.kernel.org > L: linux-rockchip@lists.infradead.org > 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
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@gmail.com> > > --- > > .../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@gmail.com> > > + > > +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@vger.kernel.org > > L: linux-rockchip@lists.infradead.org > > 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
On 12/06/2022 17:05, Nicolas Frattaroli wrote: >>> + >>> + 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. > ok Best regards, Krzysztof
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 @@ -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@gmail.com> + +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 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/rk3568-cru.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/power/rk3568-power.h> + + vepu: video-codec@fdee0000 { + 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@vger.kernel.org L: linux-rockchip@lists.infradead.org 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/
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@gmail.com> --- .../bindings/media/rockchip-vepu.yaml | 64 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 65 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/rockchip-vepu.yaml