[PATCH 4/7] media: dt-bindings: Add Rockchip RK3588 VPU720 JPEG decoder
Sascha Hauer <[email protected]>
| Newsgroups | org.infradead.lists.linux-rockchip,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
Add a devicetree binding schema for the VPU720 JPEG hardware decoder on the RK3588, driven by the hantro V4L2 driver. Documents the single register window (task registers plus the LLP link-table block at offset 0x300), the JPEG decode interrupt, the aclk/hclk clocks, the AXI/AHB resets, the IOMMU and the power domain. The resets and the power domain are required. The block sits in RK3588_PD_VDPU and cannot be reached with the domain off, and the driver takes the resets with reset_control_array_get_optional(), so a node without them probes and the hard reset fallback in its error recovery silently does nothing. The IOMMU stays optional. The driver never refers to it, it is a platform integration detail, and rockchip-vpu.yaml does not require it for the other codec blocks on this SoC either. Assisted-by: Claude:claude-opus-5 Signed-off-by: Sascha Hauer <[email protected]> --- .../bindings/media/rockchip,rk3588-vpu720.yaml | 93 ++++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 94 insertions(+) diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml new file mode 100644 index 0000000000000..6bbddea66c9b9 --- /dev/null +++ b/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml @@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/rockchip,rk3588-vpu720.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Rockchip VPU720 JPEG Decoder + +maintainers: + - Lucas Sinn <[email protected]> + +description: + The VPU720 is Rockchip's in-house JPEG/MJPEG hardware decoder found on the + RK3588. It is driven by the Hantro V4L2 driver. A dedicated Link List + Processor (LLP) register block, located at offset 0x300 within the same + register window, allows the hardware to decode a chain of frames + autonomously ("link mode"). + +properties: + compatible: + const: rockchip,rk3588-vpu720 + + reg: + maxItems: 1 + description: + The decoder register window. It covers both the task (function) + registers at offset 0x000 and the LLP (link table) registers at + offset 0x300. + + interrupts: + maxItems: 1 + + interrupt-names: + const: vdpu + + clocks: + items: + - description: AXI clock + - description: AHB clock + + clock-names: + items: + - const: aclk + - const: hclk + + resets: + items: + - description: AXI reset line + - description: AHB reset line + + reset-names: + items: + - const: axi + - const: ahb + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - interrupt-names + - clocks + - clock-names + - resets + - reset-names + - power-domains + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/rockchip,rk3588-cru.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/power/rk3588-power.h> + #include <dt-bindings/reset/rockchip,rk3588-cru.h> + + video-codec@fdb90000 { + compatible = "rockchip,rk3588-vpu720"; + reg = <0xfdb90000 0x400>; + interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-names = "vdpu"; + clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>; + clock-names = "aclk", "hclk"; + resets = <&cru SRST_A_JPEG_DECODER>, <&cru SRST_H_JPEG_DECODER>; + reset-names = "axi", "ahb"; + iommus = <&jpegd_mmu>; + power-domains = <&power RK3588_PD_VDPU>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 9f8d226b305aa..7ef189e4ba237 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11375,6 +11375,7 @@ L: [email protected] S: Maintained F: Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml F: Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml +F: Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml F: Documentation/devicetree/bindings/media/rockchip-vpu.yaml F: drivers/media/platform/verisilicon/ -- 2.47.3 _______________________________________________ Linux-rockchip mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-rockchip