GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / qcom-apq8064-asus-nexus7-flo.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include "qcom-apq8064-v2.0.dtsi"
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/input/input.h>
5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6 / {
7         model = "Asus Nexus7(flo)";
8         compatible = "asus,nexus7-flo", "qcom,apq8064";
9
10         aliases {
11                 serial0 = &gsbi7_serial;
12                 serial1 = &gsbi6_serial;
13         };
14
15         chosen {
16                 stdout-path = "serial0:115200n8";
17         };
18
19         reserved-memory {
20                 #address-cells = <1>;
21                 #size-cells = <1>;
22                 ranges;
23
24                 ramoops@88d00000{
25                         compatible = "ramoops";
26                         reg = <0x88d00000 0x100000>;
27                         record-size = <0x00020000>;
28                         console-size = <0x00020000>;
29                         ftrace-size = <0x00020000>;
30                 };
31         };
32
33         ext_3p3v: regulator-fixed@1 {
34                 compatible = "regulator-fixed";
35                 regulator-min-microvolt = <3300000>;
36                 regulator-max-microvolt = <3300000>;
37                 regulator-name = "ext_3p3v";
38                 regulator-type = "voltage";
39                 startup-delay-us = <0>;
40                 gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
41                 enable-active-high;
42                 regulator-boot-on;
43         };
44
45         gpio-keys {
46                 compatible = "gpio-keys";
47                 key-volume-up {
48                         label = "Volume Up";
49                         gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>;
50                         linux,code = <KEY_VOLUMEUP>;
51                 };
52                 key-volume-down {
53                         label = "Volume Down";
54                         gpios = <&pm8921_gpio 38 GPIO_ACTIVE_HIGH>;
55                         linux,code = <KEY_VOLUMEDOWN>;
56                 };
57         };
58
59         soc {
60                 rpm@108000 {
61                         regulators {
62                                 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
63                                 vin_lvs1_3_6-supply = <&pm8921_s4>;
64                                 vin_lvs4_5_7-supply = <&pm8921_s4>;
65
66
67                                 vdd_l24-supply = <&pm8921_s1>;
68                                 vdd_l25-supply = <&pm8921_s1>;
69                                 vin_lvs2-supply = <&pm8921_s1>;
70
71                                 vdd_l26-supply = <&pm8921_s7>;
72                                 vdd_l27-supply = <&pm8921_s7>;
73                                 vdd_l28-supply = <&pm8921_s7>;
74
75                                 vdd_ncp-supply = <&pm8921_l6>;
76
77                                 /* Buck SMPS */
78                                 s1 {
79                                         regulator-always-on;
80                                         regulator-min-microvolt = <1225000>;
81                                         regulator-max-microvolt = <1225000>;
82                                         qcom,switch-mode-frequency = <3200000>;
83                                         bias-pull-down;
84                                 };
85
86                                 /* msm otg HSUSB_VDDCX */
87                                 s3 {
88                                         regulator-min-microvolt = <500000>;
89                                         regulator-max-microvolt = <1150000>;
90                                         qcom,switch-mode-frequency = <4800000>;
91                                 };
92
93                                 /*
94                                  * msm_sdcc.1-sdc-vdd_io
95                                  * tabla2x-slim-CDC_VDDA_RX
96                                  * tabla2x-slim-CDC_VDDA_TX
97                                  * tabla2x-slim-CDC_VDD_CP
98                                  * tabla2x-slim-VDDIO_CDC
99                                  */
100                                 s4 {
101                                         regulator-min-microvolt = <1800000>;
102                                         regulator-max-microvolt = <1800000>;
103                                         qcom,switch-mode-frequency = <3200000>;
104                                         regulator-always-on;
105                                 };
106
107                                 s7 {
108                                         regulator-min-microvolt = <1300000>;
109                                         regulator-max-microvolt = <1300000>;
110                                         qcom,switch-mode-frequency = <3200000>;
111                                 };
112
113                                 /* mipi_dsi.1-dsi1_pll_vdda */
114                                 l2 {
115                                         regulator-min-microvolt = <1200000>;
116                                         regulator-max-microvolt = <1200000>;
117                                         regulator-always-on;
118                                 };
119
120                                 /* msm_otg-HSUSB_3p3 */
121                                 l3 {
122                                         regulator-min-microvolt = <3075000>;
123                                         regulator-max-microvolt = <3075000>;
124                                         bias-pull-down;
125                                 };
126
127                                 /* msm_otg-HSUSB_1p8 */
128                                 l4 {
129                                         regulator-min-microvolt = <1800000>;
130                                         regulator-max-microvolt = <1800000>;
131                                         bias-pull-down;
132                                 };
133
134                                 /* msm_sdcc.1-sdc_vdd */
135                                 l5 {
136                                         regulator-min-microvolt = <2950000>;
137                                         regulator-max-microvolt = <2950000>;
138                                         regulator-always-on;
139                                         bias-pull-down;
140                                 };
141
142                                 l6 {
143                                         regulator-min-microvolt = <2950000>;
144                                         regulator-max-microvolt = <2950000>;
145                                 };
146
147                                 /* mipi_dsi.1-dsi1_avdd */
148                                 l11 {
149                                         regulator-min-microvolt = <3000000>;
150                                         regulator-max-microvolt = <3000000>;
151                                         bias-pull-down;
152                                         regulator-always-on;
153                                 };
154
155                                 /* pwm_power for backlight */
156                                 l17 {
157                                         regulator-min-microvolt = <3000000>;
158                                         regulator-max-microvolt = <3000000>;
159                                         regulator-always-on;
160                                 };
161
162                                 /* camera, qdsp6 */
163                                 l23 {
164                                         regulator-min-microvolt = <1800000>;
165                                         regulator-max-microvolt = <1800000>;
166                                         bias-pull-down;
167                                 };
168
169                                 /*
170                                  * tabla2x-slim-CDC_VDDA_A_1P2V
171                                  * tabla2x-slim-VDDD_CDC_D
172                                  */
173                                 l25 {
174                                         regulator-min-microvolt = <1250000>;
175                                         regulator-max-microvolt = <1250000>;
176                                         bias-pull-down;
177                                 };
178
179                                 lvs1 {
180                                         bias-pull-down;
181                                 };
182
183                                 lvs4 {
184                                         bias-pull-down;
185                                 };
186
187                                 lvs5 {
188                                         bias-pull-down;
189                                 };
190
191                                 lvs6 {
192                                         bias-pull-down;
193                                 };
194                                 /*
195                                  * mipi_dsi.1-dsi1_vddio
196                                  * pil_riva-pll_vdd
197                                  */
198                                 lvs7 {
199                                         bias-pull-down;
200                                 };
201                         };
202                 };
203
204                 mdp@5100000 {
205                         status = "okay";
206                         ports {
207                                 port@1 {
208                                         mdp_dsi1_out: endpoint {
209                                                 remote-endpoint = <&dsi0_in>;
210                                         };
211                                 };
212                         };
213                 };
214
215                 dsi0: dsi@4700000 {
216                         status = "okay";
217                         vdda-supply = <&pm8921_l2>;/*VDD_MIPI1 to 4*/
218                         vdd-supply = <&pm8921_l8>;
219                         vddio-supply = <&pm8921_lvs7>;
220                         avdd-supply = <&pm8921_l11>;
221
222                         panel@0 {
223                                 reg = <0>;
224                                 compatible = "jdi,lt070me05000";
225
226                                 vddp-supply = <&pm8921_l17>;
227                                 iovcc-supply = <&pm8921_lvs7>;
228
229                                 enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
230                                 reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>;
231                                 dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>;
232
233                                 port {
234                                         panel_in: endpoint {
235                                                 remote-endpoint = <&dsi0_out>;
236                                         };
237                                 };
238                         };
239                         ports {
240                                 port@0 {
241                                         dsi0_in: endpoint {
242                                                 remote-endpoint = <&mdp_dsi1_out>;
243                                         };
244                                 };
245
246                                 port@1 {
247                                         dsi0_out: endpoint {
248                                                 remote-endpoint = <&panel_in>;
249                                                 data-lanes = <0 1 2 3>;
250                                         };
251                                 };
252                         };
253                 };
254
255                 dsi-phy@4700200 {
256                         status = "okay";
257                         vddio-supply = <&pm8921_lvs7>;/*VDD_PLL2_1 to 7*/
258                 };
259
260                 gsbi@16200000 {
261                         status = "okay";
262                         qcom,mode = <GSBI_PROT_I2C>;
263                         i2c@16280000 {
264                                 status = "okay";
265                                 clock-frequency = <200000>;
266                                 pinctrl-0 = <&i2c3_pins>;
267                                 pinctrl-names = "default";
268
269                                 trackpad@10 {
270                                         compatible = "elan,ekth3500";
271                                         reg = <0x10>;
272                                         interrupt-parent = <&tlmm_pinmux>;
273                                         interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
274                                 };
275                         };
276                 };
277
278
279                 gsbi@12440000 {
280                         status = "okay";
281                         qcom,mode = <GSBI_PROT_I2C>;
282
283                         i2c@12460000 {
284                                 status = "okay";
285                                 clock-frequency = <200000>;
286                                 pinctrl-0 = <&i2c1_pins>;
287                                 pinctrl-names = "default";
288
289                                 eeprom@52 {
290                                         compatible = "atmel,24c128";
291                                         reg = <0x52>;
292                                         pagesize = <32>;
293                                 };
294
295                                 bq27541@55 {
296                                         compatible = "ti,bq27541";
297                                         reg = <0x55>;
298                                 };
299
300                         };
301                 };
302
303                 gsbi@16500000 {
304                         status = "okay";
305                         qcom,mode = <GSBI_PROT_I2C_UART>;
306
307                         serial@16540000 {
308                                 status = "okay";
309
310                                 pinctrl-names = "default";
311                                 pinctrl-0 = <&gsbi6_uart_4pins>;
312                         };
313                 };
314
315                 gsbi@16600000 {
316                         status = "okay";
317                         qcom,mode = <GSBI_PROT_I2C_UART>;
318                         serial@16640000 {
319                                 status = "okay";
320                         };
321                 };
322
323                 /* OTG */
324                 usb@12500000 {
325                         status = "okay";
326                         dr_mode = "otg";
327                         ulpi {
328                                 phy {
329                                         v3p3-supply = <&pm8921_l3>;
330                                         v1p8-supply = <&pm8921_l4>;
331                                 };
332                         };
333                 };
334
335                 amba {
336                         /* eMMC */
337                         mmc@12400000 {
338                                 status = "okay";
339                                 vmmc-supply = <&pm8921_l5>;
340                                 vqmmc-supply = <&pm8921_s4>;
341                         };
342                 };
343
344                 sram@2a03f000 {
345                         compatible = "qcom,apq8064-imem", "syscon", "simple-mfd";
346                         reg = <0x2a03f000 0x1000>;
347
348                         reboot-mode {
349                                 compatible = "syscon-reboot-mode";
350                                 offset = <0x65c>;
351
352                                 mode-normal = <0x77665501>;
353                                 mode-bootloader = <0x77665500>;
354                                 mode-recovery = <0x77665502>;
355                         };
356                 };
357         };
358 };