Skip to content

Commit d883b40

Browse files
kJugghal-feng
authored andcommitted
dt-bindings: display: Add yamls for JH7110 display system
StarFive SoCs JH7110 display system: lcd-controller bases verisilicon dc8200 IP, and hdmi bases Innosilicon IP. Add bindings for them. Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com>
1 parent e223b1e commit d883b40

3 files changed

Lines changed: 240 additions & 0 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/starfive/starfive,display-subsystem.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Starfive DRM master device
8+
9+
maintainers:
10+
- Keith Zhao <keith.zhao@starfivetech.com>
11+
- ShengYang Chen <shengyang.chen@starfivetech.com>
12+
13+
description:
14+
The Starfive DRM master device is a virtual device needed to list all
15+
display controller or other display interface nodes that comprise the
16+
graphics subsystem.
17+
18+
properties:
19+
compatible:
20+
const: starfive,display-subsystem
21+
22+
ports:
23+
$ref: /schemas/graph.yaml#/properties/ports
24+
description: |
25+
Should contain a list of phandles pointing to display interface ports
26+
of display controller devices. Display controller definitions as defined
27+
in Documentation/devicetree/bindings/display/starfive/
28+
starfive,jh7110-dc8200.yaml
29+
30+
required:
31+
- compatible
32+
- ports
33+
34+
additionalProperties: false
35+
36+
examples:
37+
- |
38+
display-subsystem {
39+
compatible = "starfive,display-subsystem";
40+
ports = <&dc_out>;
41+
};
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/starfive/starfive,jh7110-dc8200.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: StarFive display controller
8+
9+
description:
10+
The StarFive SoC uses the display controller based on Verisilicon IP
11+
to transfer the image data from a video memory
12+
buffer to an external LCD interface.
13+
14+
maintainers:
15+
- Keith Zhao <keith.zhao@starfivetech.com>
16+
17+
properties:
18+
compatible:
19+
const: starfive,jh7110-dc8200
20+
21+
reg:
22+
maxItems: 3
23+
24+
interrupts:
25+
items:
26+
- description: The interrupt will be generated when DC finish one frame
27+
28+
clocks:
29+
items:
30+
- description: Clock for display system noc bus.
31+
- description: Pixel clock for display channel 0.
32+
- description: Pixel clock for display channel 1.
33+
- description: Clock for axi interface of display controller.
34+
- description: Core clock for display controller.
35+
- description: Clock for ahb interface of display controller.
36+
- description: External HDMI pixel clock.
37+
- description: Parent clock for pixel clock
38+
39+
clock-names:
40+
items:
41+
- const: vout_noc_disp
42+
- const: vout_pix0
43+
- const: vout_pix1
44+
- const: vout_axi
45+
- const: vout_core
46+
- const: vout_vout_ahb
47+
- const: hdmitx0_pixel
48+
- const: vout_dc8200
49+
50+
resets:
51+
items:
52+
- description: Reset for axi interface of display controller.
53+
- description: Reset for ahb interface of display controller.
54+
- description: Core reset of display controller.
55+
56+
reset-names:
57+
items:
58+
- const: vout_axi
59+
- const: vout_ahb
60+
- const: vout_core
61+
62+
port:
63+
$ref: /schemas/graph.yaml#/properties/port
64+
description:
65+
A port node with endpoint definitions as defined in
66+
Documentation/devicetree/bindings/media/video-interfaces.txt.
67+
68+
required:
69+
- compatible
70+
- reg
71+
- interrupts
72+
- clocks
73+
- clock-names
74+
- resets
75+
- reset-names
76+
- port
77+
78+
additionalProperties: false
79+
80+
examples:
81+
- |
82+
dc8200: lcd-controller@29400000 {
83+
compatible = "starfive,jh7110-dc8200";
84+
reg = <0x29400000 0x100>, <0x29400800 0x2000>, <0x295b0000 0x90>;
85+
interrupts = <95>;
86+
clocks = <&syscrg 60>,
87+
<&voutcrg 7>,
88+
<&voutcrg 8>,
89+
<&voutcrg 4>,
90+
<&voutcrg 5>,
91+
<&voutcrg 6>,
92+
<&hdmitx0_pixelclk>,
93+
<&voutcrg 1>;
94+
clock-names = "vout_noc_disp", "vout_pix0", "vout_pix1",
95+
"vout_axi", "vout_core", "vout_vout_ahb",
96+
"hdmitx0_pixel","vout_dc8200";
97+
resets = <&voutcrg 0>, <&voutcrg 1>, <&voutcrg 2>;
98+
reset-names = "vout_axi", "vout_ahb", "vout_core";
99+
dc_out: port {
100+
#address-cells = <1>;
101+
#size-cells = <0>;
102+
dc_out_hdmi: endpoint@0 {
103+
reg = <0>;
104+
remote-endpoint = <&hdmi_in_dc>;
105+
};
106+
};
107+
};
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/starfive/starfive,jh7110-inno-hdmi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Starfive JH7110 HDMI controller
8+
9+
description:
10+
The StarFive JH7110 SoC uses the HDMI signal transmiter based on innosilicon IP
11+
to generate HDMI signal from its input and transmit the signal to the screen.
12+
13+
maintainers:
14+
- Keith Zhao <keith.zhao@starfivetech.com>
15+
16+
properties:
17+
compatible:
18+
const: "starfive,jh7110-inno-hdmi"
19+
20+
reg:
21+
minItems: 1
22+
23+
interrupts:
24+
items:
25+
- description: The HDMI hot plug detection interrupt.
26+
27+
clocks:
28+
items:
29+
- description: System clock of HDMI module.
30+
- description: Mclk clock of HDMI audio.
31+
- description: Bclk clock of HDMI audio.
32+
- description: Pixel clock generated by HDMI module.
33+
34+
clock-names:
35+
items:
36+
- const: sysclk
37+
- const: mclk
38+
- const: bclk
39+
- const: pclk
40+
41+
resets:
42+
items:
43+
- description: Reset for HDMI module.
44+
45+
reset-names:
46+
items:
47+
- const: hdmi_tx
48+
49+
'#sound-dai-cells':
50+
const: 0
51+
52+
port:
53+
$ref: /schemas/graph.yaml#/properties/port
54+
description:
55+
Should contain a remote endpoint phandle of display controller device.
56+
57+
required:
58+
- compatible
59+
- reg
60+
- interrupts
61+
- clocks
62+
- clock-names
63+
- resets
64+
- reset-names
65+
- '#sound-dai-cells'
66+
- port
67+
68+
additionalProperties: false
69+
70+
examples:
71+
- |
72+
hdmi: hdmi@29590000 {
73+
compatible = "starfive,jh7110-inno-hdmi";
74+
reg = <0x29590000 0x4000>;
75+
interrupts = <99>;
76+
clocks = <&voutcrg 17>,
77+
<&voutcrg 15>,
78+
<&voutcrg 16>,
79+
<&hdmitx0_pixelclk>;
80+
clock-names = "sysclk", "mclk","bclk","pclk";
81+
resets = <&voutcrg 9>;
82+
reset-names = "hdmi_tx";
83+
#sound-dai-cells = <0>;
84+
hdmi_in: port {
85+
#address-cells = <1>;
86+
#size-cells = <0>;
87+
hdmi_in_dc: endpoint@0 {
88+
reg = <0>;
89+
remote-endpoint = <&dc_out_hdmi>;
90+
};
91+
};
92+
};

0 commit comments

Comments
 (0)