blob: bede23369fedec7daae7bb163a7f688ef9d9169a [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Trogdor dts fragment for the boards with Parade ps8640 edp bridge
4 *
5 * Copyright 2021 Google LLC.
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11 pp3300_brij_ps8640: pp3300-brij-ps8640-regulator {
12 compatible = "regulator-fixed";
13 status = "okay";
14 regulator-name = "pp3300_brij_ps8640";
15
16 regulator-min-microvolt = <3300000>;
17 regulator-max-microvolt = <3300000>;
18
19 gpio = <&tlmm 32 GPIO_ACTIVE_HIGH>;
20 enable-active-high;
21
22 pinctrl-names = "default";
23 pinctrl-0 = <&en_pp3300_edp_brij_ps8640>;
24
25 vin-supply = <&pp3300_a>;
26 };
27};
28
29/*
30 * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
31 *
32 * Sort order matches the order in the parent files (parents before children).
33 */
34
35&pp3300_dx_edp {
36 off-on-delay-us = <500000>;
37
38 /*
39 * It's nicer to start with this regulator enabled. The
40 * bootloader may have left it on and it's nice not to cause an
41 * extra power cycle of the touchscreen and eDP panel at bootup.
42 * This should help speed bootup because we have off-on-delay-us.
43 */
44 regulator-boot-on;
45};
46
47/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
48
49edp_brij_i2c: &i2c2 {
50 status = "okay";
51 clock-frequency = <400000>;
52
53 ps8640_bridge: bridge@8 {
54 compatible = "parade,ps8640";
55 reg = <0x8>;
56
57 powerdown-gpios = <&tlmm 104 GPIO_ACTIVE_LOW>;
58 reset-gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
59
60 pinctrl-names = "default";
61 pinctrl-0 = <&edp_brij_en>, <&edp_brij_ps8640_rst>;
62
63 vdd12-supply = <&pp1200_brij>;
64 vdd33-supply = <&pp3300_brij_ps8640>;
65
66 ports {
67 #address-cells = <1>;
68 #size-cells = <0>;
69
70 port@0 {
71 reg = <0>;
72 ps8640_in: endpoint {
73 remote-endpoint = <&mdss_dsi0_out>;
74 };
75 };
76
77 port@1 {
78 reg = <1>;
79 ps8640_out: endpoint {
80 remote-endpoint = <&panel_in_edp>;
81 };
82 };
83 };
84
85 aux-bus {
86 panel: panel {
87 /* Compatible will be filled in per-board */
88 power-supply = <&pp3300_dx_edp>;
89 backlight = <&backlight>;
90
91 port {
92 panel_in_edp: endpoint {
93 remote-endpoint = <&ps8640_out>;
94 };
95 };
96 };
97 };
98 };
99};
100
101&mdss_dsi0_out {
102 remote-endpoint = <&ps8640_in>;
103};
104
105&tlmm {
106 edp_brij_ps8640_rst: edp-brij-ps8640-rst-state {
107 pins = "gpio11";
108 function = "gpio";
109 drive-strength = <2>;
110 bias-disable;
111 };
112
113 en_pp3300_edp_brij_ps8640: en-pp3300-edp-brij-ps8640-state {
114 pins = "gpio32";
115 function = "gpio";
116 drive-strength = <2>;
117 bias-disable;
118 };
119};