Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / sc7180-trogdor-ti-sn65dsi86.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Google Trogdor dts fragment for the boards with TI sn65dsi86 edp bridge
4  *
5  * Copyright 2021 Google LLC.
6  */
7
8 #include <dt-bindings/gpio/gpio.h>
9
10 /*
11  * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
12  *
13  * Sort order matches the order in the parent files (parents before children).
14  */
15
16 &pp3300_dx_edp {
17         off-on-delay-us = <500000>;
18
19         /*
20          * It's nicer to start with this regulator enabled. The
21          * bootloader may have left it on and it's nice not to cause an
22          * extra power cycle of the touchscreen and eDP panel at bootup.
23          * This should help speed bootup because we have off-on-delay-us.
24          */
25         regulator-boot-on;
26 };
27
28 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
29
30 edp_brij_i2c: &i2c2 {
31         status = "okay";
32         clock-frequency = <400000>;
33
34         sn65dsi86_bridge: bridge@2d {
35                 compatible = "ti,sn65dsi86";
36                 reg = <0x2d>;
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&edp_brij_en>, <&edp_brij_irq>;
39                 gpio-controller;
40                 #gpio-cells = <2>;
41
42                 interrupt-parent = <&tlmm>;
43                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
44
45                 enable-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
46
47                 vpll-supply = <&pp1800_edp_vpll>;
48                 vccio-supply = <&pp1800_brij_vccio>;
49                 vcca-supply = <&pp1200_brij>;
50                 vcc-supply = <&pp1200_brij>;
51
52                 clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
53                 clock-names = "refclk";
54
55                 no-hpd;
56
57                 ports {
58                         #address-cells = <1>;
59                         #size-cells = <0>;
60
61                         port@0 {
62                                 reg = <0>;
63                                 sn65dsi86_in: endpoint {
64                                         remote-endpoint = <&mdss_dsi0_out>;
65                                 };
66                         };
67
68                         port@1 {
69                                 reg = <1>;
70                                 sn65dsi86_out: endpoint {
71                                         data-lanes = <0 1>;
72                                         remote-endpoint = <&panel_in_edp>;
73                                 };
74                         };
75                 };
76
77                 aux-bus {
78                         panel: panel {
79                                 /* Compatible will be filled in per-board */
80                                 power-supply = <&pp3300_dx_edp>;
81                                 backlight = <&backlight>;
82                                 hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>;
83
84                                 port {
85                                         panel_in_edp: endpoint {
86                                                 remote-endpoint = <&sn65dsi86_out>;
87                                         };
88                                 };
89                         };
90                 };
91         };
92 };
93
94 &mdss_dsi0_out {
95         remote-endpoint = <&sn65dsi86_in>;
96 };
97
98 &tlmm {
99         edp_brij_irq: edp-brij-irq-state {
100                 pins = "gpio11";
101                 function = "gpio";
102                 drive-strength = <2>;
103                 bias-pull-down;
104         };
105 };