Skip to content

Commit 21ce589

Browse files
laeyraudAngeloGioacchino Del Regno
authored andcommitted
arm64: dts: mediatek: mt8395-genio-1200-evk: Add display on DSI0
This board has a Startek KD070FHFID078 MIPI-DSI panel on the DSI0 connector, so add and configure the pipeline connecting VDOSYS0 components to DSI0, with the needed pinctrl and display nodes in devicetree. Signed-off-by: Louis-Alexis Eyraud <[email protected]> Link: https://lore.kernel.org/r/20250224-mt8395-genio-1200-evk-enable-dsi-panel-v1-1-74f31cf48a43@collabora.com Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
1 parent d15059f commit 21ce589

File tree

1 file changed

+118
-7
lines changed

1 file changed

+118
-7
lines changed

arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts

Lines changed: 118 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,12 @@
9191
};
9292
};
9393

94-
backlight_lcd0: backlight-lcd0 {
94+
backlight_lcm0: backlight-lcm0 {
9595
compatible = "pwm-backlight";
96-
pwms = <&disp_pwm0 0 500000>;
97-
enable-gpios = <&pio 47 GPIO_ACTIVE_HIGH>;
9896
brightness-levels = <0 1023>;
99-
num-interpolated-steps = <1023>;
10097
default-brightness-level = <576>;
98+
num-interpolated-steps = <1023>;
99+
pwms = <&disp_pwm0 0 500000>;
101100
};
102101

103102
backlight_lcd1: backlight-lcd1 {
@@ -150,6 +149,24 @@
150149
};
151150
};
152151

152+
lcm0_iovcc: regulator-vio18-lcm0 {
153+
compatible = "regulator-fixed";
154+
regulator-name = "vio18_lcm0";
155+
enable-active-high;
156+
gpio = <&pio 47 GPIO_ACTIVE_HIGH>;
157+
pinctrl-names = "default";
158+
pinctrl-0 = <&dsi0_vreg_en_pins>;
159+
vin-supply = <&mt6360_ldo2>;
160+
};
161+
162+
lcm0_vddp: regulator-vsys-lcm0 {
163+
compatible = "regulator-fixed";
164+
regulator-name = "vsys_lcm0";
165+
regulator-always-on;
166+
regulator-boot-on;
167+
vin-supply = <&mt6360_ldo1>;
168+
};
169+
153170
wifi_fixed_3v3: regulator-2 {
154171
compatible = "regulator-fixed";
155172
regulator-name = "wifi_3v3";
@@ -163,14 +180,65 @@
163180

164181
&disp_pwm0 {
165182
pinctrl-names = "default";
166-
pinctrl-0 = <&pwm0_default_pins>;
183+
pinctrl-0 = <&disp_pwm0_pins>;
167184
status = "okay";
168185
};
169186

187+
&dither0_in {
188+
remote-endpoint = <&gamma0_out>;
189+
};
190+
191+
&dither0_out {
192+
remote-endpoint = <&dsi0_in>;
193+
};
194+
170195
&dmic_codec {
171196
wakeup-delay-ms = <200>;
172197
};
173198

199+
&dsi0 {
200+
#address-cells = <1>;
201+
#size-cells = <0>;
202+
status = "okay";
203+
204+
panel@0 {
205+
compatible = "startek,kd070fhfid078", "himax,hx8279";
206+
reg = <0>;
207+
backlight = <&backlight_lcm0>;
208+
enable-gpios = <&pio 48 GPIO_ACTIVE_HIGH>;
209+
reset-gpios = <&pio 108 GPIO_ACTIVE_HIGH>;
210+
iovcc-supply = <&lcm0_iovcc>;
211+
vdd-supply = <&lcm0_vddp>;
212+
pinctrl-names = "default";
213+
pinctrl-0 = <&panel_default_pins>;
214+
215+
port {
216+
dsi_panel_in: endpoint {
217+
remote-endpoint = <&dsi0_out>;
218+
};
219+
};
220+
};
221+
222+
ports {
223+
#address-cells = <1>;
224+
#size-cells = <0>;
225+
226+
port@0 {
227+
reg = <0>;
228+
dsi0_in: endpoint {
229+
remote-endpoint = <&dither0_out>;
230+
};
231+
};
232+
233+
port@1 {
234+
reg = <1>;
235+
dsi0_out: endpoint {
236+
remote-endpoint = <&dsi_panel_in>;
237+
};
238+
};
239+
};
240+
};
241+
174242
&eth {
175243
phy-mode ="rgmii-rxid";
176244
phy-handle = <&eth_phy0>;
@@ -194,6 +262,10 @@
194262
};
195263
};
196264

265+
&gamma0_out {
266+
remote-endpoint = <&dither0_in>;
267+
};
268+
197269
&gpu {
198270
mali-supply = <&mt6315_7_vbuck1>;
199271
status = "okay";
@@ -418,6 +490,10 @@
418490
domain-supply = <&mt6359_vsram_others_ldo_reg>;
419491
};
420492

493+
&mipi_tx0 {
494+
status = "okay";
495+
};
496+
421497
&mmc0 {
422498
status = "okay";
423499
pinctrl-names = "default", "state_uhs";
@@ -500,6 +576,10 @@
500576
mediatek,mic-type-2 = <1>; /* ACC */
501577
};
502578

579+
&ovl0_in {
580+
remote-endpoint = <&vdosys0_ep_main>;
581+
};
582+
503583
&pcie0 {
504584
pinctrl-names = "default", "idle";
505585
pinctrl-0 = <&pcie0_default_pins>;
@@ -777,6 +857,25 @@
777857
};
778858
};
779859

860+
dsi0_vreg_en_pins: dsi0-vreg-en-pins {
861+
pins-pwr-en {
862+
pinmux = <PINMUX_GPIO47__FUNC_GPIO47>;
863+
output-low;
864+
};
865+
};
866+
867+
panel_default_pins: panel-default-pins {
868+
pins-rst {
869+
pinmux = <PINMUX_GPIO108__FUNC_GPIO108>;
870+
output-high;
871+
};
872+
873+
pins-en {
874+
pinmux = <PINMUX_GPIO48__FUNC_GPIO48>;
875+
output-low;
876+
};
877+
};
878+
780879
pcie0_default_pins: pcie0-default-pins {
781880
pins {
782881
pinmux = <PINMUX_GPIO19__FUNC_WAKEN>,
@@ -803,8 +902,8 @@
803902
};
804903
};
805904

806-
pwm0_default_pins: pwm0-default-pins {
807-
pins-cmd-dat {
905+
disp_pwm0_pins: disp-pwm0-pins {
906+
pins-disp-pwm {
808907
pinmux = <PINMUX_GPIO97__FUNC_DISP_PWM0>;
809908
};
810909
};
@@ -1015,6 +1114,18 @@
10151114
status = "okay";
10161115
};
10171116

1117+
&vdosys0 {
1118+
port {
1119+
#address-cells = <1>;
1120+
#size-cells = <0>;
1121+
1122+
vdosys0_ep_main: endpoint@0 {
1123+
reg = <0>;
1124+
remote-endpoint = <&ovl0_in>;
1125+
};
1126+
};
1127+
};
1128+
10181129
&xhci0 {
10191130
status = "okay";
10201131
};

0 commit comments

Comments
 (0)