Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / rk3288-veyron-edp.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Google Veyron (and derivatives) fragment for the edp displays
4  *
5  * Copyright 2019 Google LLC
6  */
7
8 / {
9         backlight_regulator: backlight-regulator {
10                 compatible = "regulator-fixed";
11                 enable-active-high;
12                 gpio = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
13                 pinctrl-names = "default";
14                 pinctrl-0 = <&bl_pwr_en>;
15                 regulator-name = "backlight_regulator";
16                 vin-supply = <&vcc33_sys>;
17                 startup-delay-us = <15000>;
18         };
19
20         panel_regulator: panel-regulator {
21                 compatible = "regulator-fixed";
22                 enable-active-high;
23                 gpio = <&gpio7 RK_PB6 GPIO_ACTIVE_HIGH>;
24                 pinctrl-names = "default";
25                 pinctrl-0 = <&lcd_enable_h>;
26                 regulator-name = "panel_regulator";
27                 vin-supply = <&vcc33_sys>;
28         };
29
30         vcc18_lcd: vcc18-lcd {
31                 compatible = "regulator-fixed";
32                 enable-active-high;
33                 gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
34                 pinctrl-names = "default";
35                 pinctrl-0 = <&avdd_1v8_disp_en>;
36                 regulator-name = "vcc18_lcd";
37                 regulator-always-on;
38                 regulator-boot-on;
39                 vin-supply = <&vcc18_wl>;
40         };
41
42         backlight: backlight {
43                 compatible = "pwm-backlight";
44                 brightness-levels = <0 255>;
45                 num-interpolated-steps = <255>;
46                 default-brightness-level = <128>;
47                 enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>;
48                 pinctrl-names = "default";
49                 pinctrl-0 = <&bl_en>;
50                 pwms = <&pwm0 0 1000000 0>;
51                 post-pwm-on-delay-ms = <10>;
52                 pwm-off-delay-ms = <10>;
53                 power-supply = <&backlight_regulator>;
54         };
55
56         panel: panel {
57                 compatible = "innolux,n116bge", "simple-panel";
58                 status = "okay";
59                 power-supply = <&panel_regulator>;
60                 backlight = <&backlight>;
61
62                 panel-timing {
63                         clock-frequency = <74250000>;
64                         hactive = <1366>;
65                         hfront-porch = <136>;
66                         hback-porch = <60>;
67                         hsync-len = <30>;
68                         hsync-active = <0>;
69                         vactive = <768>;
70                         vfront-porch = <8>;
71                         vback-porch = <12>;
72                         vsync-len = <12>;
73                         vsync-active = <0>;
74                 };
75
76                 ports {
77                         panel_in: port {
78                                 panel_in_edp: endpoint {
79                                         remote-endpoint = <&edp_out_panel>;
80                                 };
81                         };
82                 };
83         };
84 };
85
86 &edp {
87         status = "okay";
88
89         pinctrl-names = "default";
90         pinctrl-0 = <&edp_hpd>;
91
92         ports {
93                 edp_out: port@1 {
94                         reg = <1>;
95                         #address-cells = <1>;
96                         #size-cells = <0>;
97                         edp_out_panel: endpoint@0 {
98                                 reg = <0>;
99                                 remote-endpoint = <&panel_in_edp>;
100                         };
101                 };
102         };
103 };
104
105 &edp_phy {
106         status = "okay";
107 };
108
109 &pwm0 {
110         status = "okay";
111 };
112
113 &vopl {
114         status = "okay";
115 };
116
117 &vopl_mmu {
118         status = "okay";
119 };
120
121 &pinctrl {
122         backlight {
123                 bl_pwr_en: bl_pwr_en {
124                         rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
125                 };
126
127                 bl_en: bl-en {
128                         rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
129                 };
130         };
131
132         lcd {
133                 lcd_enable_h: lcd-en {
134                         rockchip,pins = <7 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
135                 };
136
137                 avdd_1v8_disp_en: avdd-1v8-disp-en {
138                         rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
139                 };
140         };
141 };