From: Zhentao Guo <zhentao.guo@amlogic.com>
Describe the initial support for the V4L2 stateless video decoder
driver used with the Amlogic S4 (S805X2) platform.
Signed-off-by: Zhentao Guo <zhentao.guo@amlogic.com>
---
.../bindings/media/amlogic,s4-vcodec-dec.yaml | 96 ++++++++++++++++++++++
1 file changed, 96 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml
new file mode 100644
index 000000000000..88780514d06c
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2025 Amlogic, Inc. All rights reserved
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/amlogic,s4-vcodec-dec.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic Video Decode Accelerator
+
+maintainers:
+ - Zhentao Guo <zhentao.guo@amlogic.com>
+
+description:
+ The Video Decoder Accelerator present on Amlogic SOCs.
+ It supports stateless h264 decoding.
+
+properties:
+ compatible:
+ const: amlogic,s4-vcodec-dec
+
+ reg:
+ maxItems: 2
+
+ reg-names:
+ items:
+ - const: dos
+ - const: dmc
+
+ interrupts:
+ maxItems: 3
+
+ clocks:
+ maxItems: 3
+
+ clock-names:
+ items:
+ - const: vdec
+ - const: clk_vdec_mux
+ - const: clk_hevcf_mux
+
+ power-domains:
+ maxItems: 2
+
+ power-domain-names:
+ items:
+ - const: vdec
+ - const: hevc
+
+ resets:
+ maxItems: 1
+
+ amlogic,canvas:
+ description: should point to a canvas provider node
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - clocks
+ - clock-names
+ - power-domains
+ - power-domain-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/amlogic,s4-pll-clkc.h>
+ #include <dt-bindings/clock/amlogic,s4-peripherals-clkc.h>
+ #include <dt-bindings/power/meson-s4-power.h>
+ #include <dt-bindings/reset/amlogic,meson-s4-reset.h>
+ video-codec@fe320000 {
+ compatible = "amlogic,s4-vcodec-dec";
+ reg = <0xfe320000 0x10000>,
+ <0xfe036000 0x20>;
+ amlogic,canvas = <&canvas>;
+ reg-names = "dos",
+ "dmc";
+ interrupts = <GIC_SPI 91 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&clkc_periphs CLKID_DOS>,
+ <&clkc_periphs CLKID_VDEC_SEL>,
+ <&clkc_periphs CLKID_HEVCF_SEL>;
+ clock-names = "vdec",
+ "clk_vdec_mux",
+ "clk_hevcf_mux";
+ power-domains = <&pwrc PWRC_S4_DOS_VDEC_ID>,
+ <&pwrc PWRC_S4_DOS_HEVC_ID>;
+ power-domain-names = "vdec",
+ "hevc";
+ resets = <&reset RESET_DOS>;
+ };
--
2.42.0
On 13/02/2026 06:12, Zhentao Guo via B4 Relay wrote: > From: Zhentao Guo <zhentao.guo@amlogic.com> > > Describe the initial support for the V4L2 stateless video decoder > driver used with the Amlogic S4 (S805X2) platform. > > Signed-off-by: Zhentao Guo <zhentao.guo@amlogic.com> > --- > .../bindings/media/amlogic,s4-vcodec-dec.yaml | 96 ++++++++++++++++++++++ > 1 file changed, 96 insertions(+) > > diff --git a/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml > new file mode 100644 > index 000000000000..88780514d06c > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml > @@ -0,0 +1,96 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2025 Amlogic, Inc. All rights reserved > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/amlogic,s4-vcodec-dec.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Amlogic Video Decode Accelerator > + > +maintainers: > + - Zhentao Guo <zhentao.guo@amlogic.com> > + > +description: > + The Video Decoder Accelerator present on Amlogic SOCs. > + It supports stateless h264 decoding. > + > +properties: > + compatible: > + const: amlogic,s4-vcodec-dec Why do you repeat "dec" twice? codec means decoder, so what is the last "dec" about? > + > + reg: > + maxItems: 2 > + > + reg-names: > + items: > + - const: dos > + - const: dmc > + > + interrupts: > + maxItems: 3 > + > + clocks: > + maxItems: 3 > + > + clock-names: > + items: > + - const: vdec > + - const: clk_vdec_mux > + - const: clk_hevcf_mux Name them based on their role/name in this device. Why this device would care that it receives a mux? Not a div? or not a gate? > + > + power-domains: > + maxItems: 2 > + > + power-domain-names: > + items: > + - const: vdec > + - const: hevc > + > + resets: > + maxItems: 1 > + > + amlogic,canvas: > + description: should point to a canvas provider node Why? What for? What is canvas provider? > + $ref: /schemas/types.yaml#/definitions/phandle > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - clocks > + - clock-names > + - power-domains > + - power-domain-names > + Best regards, Krzysztof
在 2026/2/13 15:35, Krzysztof Kozlowski 写道: > [ EXTERNAL EMAIL ] > > On 13/02/2026 06:12, Zhentao Guo via B4 Relay wrote: >> From: Zhentao Guo <zhentao.guo@amlogic.com> >> >> Describe the initial support for the V4L2 stateless video decoder >> driver used with the Amlogic S4 (S805X2) platform. >> >> Signed-off-by: Zhentao Guo <zhentao.guo@amlogic.com> >> --- >> .../bindings/media/amlogic,s4-vcodec-dec.yaml | 96 ++++++++++++++++++++++ >> 1 file changed, 96 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml >> new file mode 100644 >> index 000000000000..88780514d06c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/amlogic,s4-vcodec-dec.yaml >> @@ -0,0 +1,96 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +# Copyright (C) 2025 Amlogic, Inc. All rights reserved >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/media/amlogic,s4-vcodec-dec.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Amlogic Video Decode Accelerator >> + >> +maintainers: >> + - Zhentao Guo <zhentao.guo@amlogic.com> >> + >> +description: >> + The Video Decoder Accelerator present on Amlogic SOCs. >> + It supports stateless h264 decoding. >> + >> +properties: >> + compatible: >> + const: amlogic,s4-vcodec-dec > Why do you repeat "dec" twice? codec means decoder, so what is the last > "dec" about? In fact, codec means encoder+decoder, and dec is short for decoder. >> + >> + reg: >> + maxItems: 2 >> + >> + reg-names: >> + items: >> + - const: dos >> + - const: dmc >> + >> + interrupts: >> + maxItems: 3 >> + >> + clocks: >> + maxItems: 3 >> + >> + clock-names: >> + items: >> + - const: vdec >> + - const: clk_vdec_mux >> + - const: clk_hevcf_mux > Name them based on their role/name in this device. Why this device would > care that it receives a mux? Not a div? or not a gate? Ok, previously we overlooked this. We will improve it in the next version. >> + >> + power-domains: >> + maxItems: 2 >> + >> + power-domain-names: >> + items: >> + - const: vdec >> + - const: hevc >> + >> + resets: >> + maxItems: 1 >> + >> + amlogic,canvas: >> + description: should point to a canvas provider node > Why? What for? > > What is canvas provider? The canvas provider is: drivers/soc/amlogic/meson-canvas.c In short, canvas is a hardware IP inside the Amlogic SoC. The decoder IP needs to access DDR through canvas IP, so we need to reference the canvas driver. >> + $ref: /schemas/types.yaml#/definitions/phandle >> + >> +required: >> + - compatible >> + - reg >> + - reg-names >> + - interrupts >> + - clocks >> + - clock-names >> + - power-domains >> + - power-domain-names >> + > Best regards, > Krzysztof BRs Zhentao
On 13/02/2026 09:04, Zhentao Guo wrote: > > 在 2026/2/13 15:35, Krzysztof Kozlowski 写道: >> [ EXTERNAL EMAIL ] >> Do not send me such emails more than once. Also, drop the "EXTERNAL EMAIL" markings. Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.