Skip to content

Commit 93be04f

Browse files
authored
Merge pull request #197 from quic-vishsain/lt8713sx_qcom.6.18.y
lt8713sx bridge support in qcom.6.18.y
2 parents 133e5b0 + 1555df1 commit 93be04f

4 files changed

Lines changed: 370 additions & 301 deletions

File tree

Documentation/devicetree/bindings/display/bridge/lontium,lt8713sx.yaml

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,34 @@ properties:
2929
description: Regulator for 1.1V vdd.
3030

3131
reset-gpios:
32-
description: GPIO connected to active high RESET pin.
32+
description: GPIO connected to active low RESET pin.
33+
34+
ports:
35+
$ref: /schemas/graph.yaml#/properties/ports
36+
37+
properties:
38+
port@0:
39+
$ref: /schemas/graph.yaml#/properties/port
40+
description:
41+
DP port for DP input from soc to bridge chip
42+
43+
port@1:
44+
$ref: /schemas/graph.yaml#/properties/port
45+
description:
46+
DP port for DP output from bridge
47+
48+
port@2:
49+
$ref: /schemas/graph.yaml#/properties/port
50+
description:
51+
Additional DP port for DP output from bridge
52+
53+
required:
54+
- port@0
3355

3456
required:
3557
- compatible
3658
- reg
59+
- ports
3760

3861
additionalProperties: false
3962

@@ -47,6 +70,32 @@ examples:
4770
bridge@4f {
4871
compatible = "lontium,lt8713sx";
4972
reg = <0x4f>;
50-
reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
73+
reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
74+
75+
ports {
76+
#address-cells = <1>;
77+
#size-cells = <0>;
78+
79+
port@0 {
80+
reg = <0>;
81+
lt8713sx_dp_in: endpoint {
82+
remote-endpoint = <&mdss_dp0_out>;
83+
};
84+
};
85+
86+
port@1 {
87+
reg = <1>;
88+
lt8713sx_dp0_out: endpoint {
89+
remote-endpoint = <&dp0_connector_in>;
90+
};
91+
};
92+
93+
port@2 {
94+
reg = <2>;
95+
lt8713sx_dp1_out: endpoint {
96+
remote-endpoint = <&dp1_connector_in>;
97+
};
98+
};
99+
};
51100
};
52101
};

arch/arm64/boot/dts/qcom/monaco-evk.dts

Lines changed: 67 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,30 @@
2828
stdout-path = "serial0:115200n8";
2929
};
3030

31+
dp-connector0 {
32+
compatible = "dp-connector";
33+
label = "DP";
34+
type = "mini";
35+
36+
port {
37+
dp0_connector_in: endpoint {
38+
remote-endpoint = <&lt8713sx_dp0_out>;
39+
};
40+
};
41+
};
42+
43+
dp-connector1 {
44+
compatible = "dp-connector";
45+
label = "DP";
46+
type = "mini";
47+
48+
port {
49+
dp1_connector_in: endpoint {
50+
remote-endpoint = <&lt8713sx_dp1_out>;
51+
};
52+
};
53+
};
54+
3155
dmic: audio-codec-0 {
3256
compatible = "dmic-codec";
3357
#sound-dai-cells = <0>;
@@ -343,16 +367,38 @@
343367
};
344368

345369
&i2c0 {
346-
pinctrl-0 = <&qup_i2c0_default>;
347-
pinctrl-names = "default";
348-
349370
status = "okay";
350371

351-
lt8713sx: lt8713sx@4f {
352-
/*Display bridge chip, DP1.4/HDMI2.0/DP++ hub*/
372+
bridge@4f {
353373
compatible = "lontium,lt8713sx";
354374
reg = <0x4f>;
355-
reset-gpios = <&expander5 6 GPIO_ACTIVE_HIGH>;
375+
reset-gpios = <&expander5 6 GPIO_ACTIVE_LOW>;
376+
377+
ports {
378+
#address-cells = <1>;
379+
#size-cells = <0>;
380+
381+
port@0 {
382+
reg = <0>;
383+
lt8713sx_dp_in: endpoint {
384+
remote-endpoint = <&mdss_dp0_out>;
385+
};
386+
};
387+
388+
port@1 {
389+
reg = <1>;
390+
lt8713sx_dp0_out: endpoint {
391+
remote-endpoint = <&dp0_connector_in>;
392+
};
393+
};
394+
395+
port@2 {
396+
reg = <2>;
397+
lt8713sx_dp1_out: endpoint {
398+
remote-endpoint = <&dp1_connector_in>;
399+
};
400+
};
401+
};
356402
};
357403
};
358404

@@ -445,24 +491,31 @@
445491
};
446492
};
447493

494+
&iris {
495+
status = "okay";
496+
};
497+
448498
&mdss {
449499
status = "okay";
450500
};
451501

452502
&mdss_dp0 {
503+
pinctrl-0 = <&dp_hot_plug_det>;
504+
pinctrl-names = "default";
505+
453506
status = "okay";
454507
};
455508

456509
&mdss_dp0_out {
457510
data-lanes = <0 1 2 3>;
458511
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
512+
remote-endpoint = <&lt8713sx_dp_in>;
459513
};
460514

461515
&mdss_dp0_phy {
462-
status = "okay";
463-
};
516+
vdda-phy-supply = <&vreg_l5a>;
517+
vdda-pll-supply = <&vreg_l4a>;
464518

465-
&iris {
466519
status = "okay";
467520
};
468521

@@ -473,6 +526,11 @@
473526
};
474527
};
475528

529+
&qup_i2c0_data_clk {
530+
drive-strength = <2>;
531+
bias-pull-up;
532+
};
533+
476534
&qupv3_id_0 {
477535
firmware-name = "qcom/qcs8300/qupv3fw.elf";
478536
status = "okay";
@@ -557,12 +615,6 @@
557615
};
558616

559617
&tlmm {
560-
dp_hot_plug_det: dp-hot-plug-det-state {
561-
pins = "gpio94";
562-
function = "edp0_hot";
563-
bias-disable;
564-
};
565-
566618
ethernet0_default: ethernet0-default-state {
567619
ethernet0_mdc: ethernet0-mdc-pins {
568620
pins = "gpio5";
@@ -625,13 +677,6 @@
625677
};
626678
};
627679

628-
qup_i2c0_default: qup-i2c0-state {
629-
pins = "gpio17", "gpio18";
630-
function = "qup0_se0";
631-
drive-strength = <2>;
632-
bias-pull-up;
633-
};
634-
635680
qup_i2c1_default: qup-i2c1-state {
636681
pins = "gpio19", "gpio20";
637682
function = "qup0_se1";

arch/arm64/boot/dts/qcom/qcs8300.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6007,6 +6007,12 @@
60076007
};
60086008
};
60096009

6010+
dp_hot_plug_det: dp-hot-plug-det-state {
6011+
pins = "gpio94";
6012+
function = "edp0_hot";
6013+
bias-disable;
6014+
};
6015+
60106016
hs0_mi2s_active: hs0-mi2s-active-state {
60116017
pins = "gpio106", "gpio107", "gpio108", "gpio109";
60126018
function = "hs0_mi2s";

0 commit comments

Comments
 (0)