[PATCH v3 05/19] dt-bindings: soc: starfive: Add starfive,jh7110-vout-subsystem
Michal Wilczynski
m.wilczynski at samsung.com
Fri Sep 4 06:27:06 PDT 2026
The JH7110 groups its display hardware into a video output subsystem,
dom_vout_top, covering the DC8200, the HDMI transmitter, the video
output clock generator and the video output system controller.
They share one NoC port whose clock and reset gate access to every
register in the region, and the region sits in the PD_VOUT power
domain. Describe the subsystem as a bus node so those resources are
owned by the block that shares them, rather than by whichever consumer
happens to probe first.
Signed-off-by: Michal Wilczynski <m.wilczynski at samsung.com>
---
.../starfive/starfive,jh7110-vout-subsystem.yaml | 100 +++++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git a/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-vout-subsystem.yaml b/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-vout-subsystem.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..17a6bf61df1e7ca95c07e15347c9d688163c926f
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-vout-subsystem.yaml
@@ -0,0 +1,100 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/starfive/starfive,jh7110-vout-subsystem.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: StarFive JH7110 video output subsystem
+
+maintainers:
+ - Michal Wilczynski <m.wilczynski at samsung.com>
+
+description:
+ The JH7110 groups its display hardware into a video output subsystem, named
+ dom_vout_top in the documentation. It covers the DC8200 display controller,
+ the HDMI transmitter, the video output clock generator and the video output
+ system controller, all behind one NoC port. That port's clock and reset gate
+ access to every register in the region, and the region sits in the PD_VOUT
+ power domain, so this node owns those resources on behalf of its children.
+
+properties:
+ compatible:
+ const: starfive,jh7110-vout-subsystem
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+ description: NoC display bus clock.
+
+ resets:
+ maxItems: 1
+ description: NoC display bus reset.
+
+ power-domains:
+ maxItems: 1
+
+ dma-noncoherent: true
+
+ ranges: true
+
+ "#address-cells":
+ const: 2
+
+ "#size-cells":
+ const: 2
+
+patternProperties:
+ "^display@[0-9a-f]+$":
+ $ref: /schemas/display/verisilicon,dc.yaml#
+
+ "^hdmi@[0-9a-f]+$":
+ $ref: /schemas/mfd/starfive,jh7110-hdmi-subsystem.yaml#
+
+ "^clock-controller@[0-9a-f]+$":
+ $ref: /schemas/clock/starfive,jh7110-voutcrg.yaml#
+
+ "^syscon@[0-9a-f]+$":
+ $ref: /schemas/soc/starfive/starfive,jh7110-syscon.yaml#
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - resets
+ - power-domains
+ - ranges
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/starfive,jh7110-crg.h>
+ #include <dt-bindings/power/starfive,jh7110-pmu.h>
+ #include <dt-bindings/reset/starfive,jh7110-crg.h>
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ display-subsystem at 29400000 {
+ compatible = "starfive,jh7110-vout-subsystem";
+ reg = <0x0 0x29400000 0x0 0x200000>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_DISP_AXI>;
+ dma-noncoherent;
+ power-domains = <&pwrc JH7110_PD_VOUT>;
+ resets = <&syscrg JH7110_SYSRST_NOC_BUS_DISP_AXI>;
+
+ syscon at 295b0000 {
+ compatible = "starfive,jh7110-vout-syscon", "syscon";
+ reg = <0x0 0x295b0000 0x0 0x10000>;
+ };
+ };
+ };
+...
--
2.34.1
More information about the linux-riscv
mailing list