Skip to content

Commit 70fd8b6

Browse files
Sergei Shtylyovhorms
authored andcommitted
arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter... Based on the original (and large) patch by Vladimir Barinov. Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Reviewed-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
1 parent 8d9923b commit 70fd8b6

File tree

2 files changed

+235
-0
lines changed

2 files changed

+235
-0
lines changed

arch/arm64/boot/dts/renesas/r8a77980-condor.dts

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,56 @@
4545
regulator-boot-on;
4646
regulator-always-on;
4747
};
48+
49+
d1_8v: regulator-2 {
50+
compatible = "regulator-fixed";
51+
regulator-name = "D1.8V";
52+
regulator-min-microvolt = <1800000>;
53+
regulator-max-microvolt = <1800000>;
54+
regulator-boot-on;
55+
regulator-always-on;
56+
};
57+
58+
hdmi-out {
59+
compatible = "hdmi-connector";
60+
type = "a";
61+
62+
port {
63+
hdmi_con: endpoint {
64+
remote-endpoint = <&adv7511_out>;
65+
};
66+
};
67+
};
68+
69+
lvds-decoder {
70+
compatible = "thine,thc63lvd1024";
71+
vcc-supply = <&d3_3v>;
72+
73+
ports {
74+
#address-cells = <1>;
75+
#size-cells = <0>;
76+
77+
port@0 {
78+
reg = <0>;
79+
thc63lvd1024_in: endpoint {
80+
remote-endpoint = <&lvds0_out>;
81+
};
82+
};
83+
84+
port@2 {
85+
reg = <2>;
86+
thc63lvd1024_out: endpoint {
87+
remote-endpoint = <&adv7511_in>;
88+
};
89+
};
90+
};
91+
};
92+
93+
x1_clk: x1-clock {
94+
compatible = "fixed-clock";
95+
#clock-cells = <0>;
96+
clock-frequency = <148500000>;
97+
};
4898
};
4999

50100
&avb {
@@ -74,6 +124,13 @@
74124
};
75125
};
76126

127+
&du {
128+
clocks = <&cpg CPG_MOD 724>,
129+
<&x1_clk>;
130+
clock-names = "du.0", "dclkin.0";
131+
status = "okay";
132+
};
133+
77134
&extal_clk {
78135
clock-frequency = <16666666>;
79136
};
@@ -102,6 +159,55 @@
102159
gpio-controller;
103160
#gpio-cells = <2>;
104161
};
162+
163+
hdmi@39 {
164+
compatible = "adi,adv7511w";
165+
reg = <0x39>;
166+
interrupt-parent = <&gpio1>;
167+
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
168+
avdd-supply = <&d1_8v>;
169+
dvdd-supply = <&d1_8v>;
170+
pvdd-supply = <&d1_8v>;
171+
bgvdd-supply = <&d1_8v>;
172+
dvdd-3v-supply = <&d3_3v>;
173+
174+
adi,input-depth = <8>;
175+
adi,input-colorspace = "rgb";
176+
adi,input-clock = "1x";
177+
adi,input-style = <1>;
178+
adi,input-justification = "evenly";
179+
180+
ports {
181+
#address-cells = <1>;
182+
#size-cells = <0>;
183+
184+
port@0 {
185+
reg = <0>;
186+
adv7511_in: endpoint {
187+
remote-endpoint = <&thc63lvd1024_out>;
188+
};
189+
};
190+
191+
port@1 {
192+
reg = <1>;
193+
adv7511_out: endpoint {
194+
remote-endpoint = <&hdmi_con>;
195+
};
196+
};
197+
};
198+
};
199+
};
200+
201+
&lvds0 {
202+
status = "okay";
203+
204+
ports {
205+
port@1 {
206+
lvds0_out: endpoint {
207+
remote-endpoint = <&thc63lvd1024_in>;
208+
};
209+
};
210+
};
105211
};
106212

107213
&mmc0 {

arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,72 @@
2727
/* first 128MB is reserved for secure area. */
2828
reg = <0 0x48000000 0 0x78000000>;
2929
};
30+
31+
hdmi-out {
32+
compatible = "hdmi-connector";
33+
type = "a";
34+
35+
port {
36+
hdmi_con: endpoint {
37+
remote-endpoint = <&adv7511_out>;
38+
};
39+
};
40+
};
41+
42+
lvds-decoder {
43+
compatible = "thine,thc63lvd1024";
44+
vcc-supply = <&vcc3v3_d5>;
45+
46+
ports {
47+
#address-cells = <1>;
48+
#size-cells = <0>;
49+
50+
port@0 {
51+
reg = <0>;
52+
thc63lvd1024_in: endpoint {
53+
remote-endpoint = <&lvds0_out>;
54+
};
55+
};
56+
57+
port@2 {
58+
reg = <2>;
59+
thc63lvd1024_out: endpoint {
60+
remote-endpoint = <&adv7511_in>;
61+
};
62+
};
63+
};
64+
};
65+
66+
osc1_clk: osc1-clock {
67+
compatible = "fixed-clock";
68+
#clock-cells = <0>;
69+
clock-frequency = <148500000>;
70+
};
71+
72+
vcc1v8_d4: regulator-0 {
73+
compatible = "regulator-fixed";
74+
regulator-name = "VCC1V8_D4";
75+
regulator-min-microvolt = <1800000>;
76+
regulator-max-microvolt = <1800000>;
77+
regulator-boot-on;
78+
regulator-always-on;
79+
};
80+
81+
vcc3v3_d5: regulator-1 {
82+
compatible = "regulator-fixed";
83+
regulator-name = "VCC3V3_D5";
84+
regulator-min-microvolt = <3300000>;
85+
regulator-max-microvolt = <3300000>;
86+
regulator-boot-on;
87+
regulator-always-on;
88+
};
89+
};
90+
91+
&du {
92+
clocks = <&cpg CPG_MOD 724>,
93+
<&osc1_clk>;
94+
clock-names = "du.0", "dclkin.0";
95+
status = "okay";
3096
};
3197

3298
&extal_clk {
@@ -53,13 +119,76 @@
53119
};
54120
};
55121

122+
&lvds0 {
123+
status = "okay";
124+
125+
ports {
126+
port@1 {
127+
lvds0_out: endpoint {
128+
remote-endpoint = <&thc63lvd1024_in>;
129+
};
130+
};
131+
};
132+
};
133+
134+
&i2c0 {
135+
pinctrl-0 = <&i2c0_pins>;
136+
pinctrl-names = "default";
137+
138+
status = "okay";
139+
clock-frequency = <400000>;
140+
141+
hdmi@39 {
142+
compatible = "adi,adv7511w";
143+
#sound-dai-cells = <0>;
144+
reg = <0x39>;
145+
interrupt-parent = <&gpio1>;
146+
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
147+
avdd-supply = <&vcc1v8_d4>;
148+
dvdd-supply = <&vcc1v8_d4>;
149+
pvdd-supply = <&vcc1v8_d4>;
150+
bgvdd-supply = <&vcc1v8_d4>;
151+
dvdd-3v-supply = <&vcc3v3_d5>;
152+
153+
adi,input-depth = <8>;
154+
adi,input-colorspace = "rgb";
155+
adi,input-clock = "1x";
156+
adi,input-style = <1>;
157+
adi,input-justification = "evenly";
158+
159+
ports {
160+
#address-cells = <1>;
161+
#size-cells = <0>;
162+
163+
port@0 {
164+
reg = <0>;
165+
adv7511_in: endpoint {
166+
remote-endpoint = <&thc63lvd1024_out>;
167+
};
168+
};
169+
170+
port@1 {
171+
reg = <1>;
172+
adv7511_out: endpoint {
173+
remote-endpoint = <&hdmi_con>;
174+
};
175+
};
176+
};
177+
};
178+
};
179+
56180
&pfc {
57181
gether_pins: gether {
58182
groups = "gether_mdio_a", "gether_rgmii",
59183
"gether_txcrefclk", "gether_txcrefclk_mega";
60184
function = "gether";
61185
};
62186

187+
i2c0_pins: i2c0 {
188+
groups = "i2c0";
189+
function = "i2c0";
190+
};
191+
63192
scif0_pins: scif0 {
64193
groups = "scif0_data";
65194
function = "scif0";

0 commit comments

Comments
 (0)