mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / arm / boot / dts / qcom-apq8064-ifc6410.dts
blob83aaf4a74398aa236e3d197fb70df50300867882
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/pinctrl/qcom,pmic-gpio.h>
6 / {
7         model = "Qualcomm APQ8064/IFC6410";
8         compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
10         aliases {
11                 serial0 = &gsbi7_serial;
12                 serial1 = &gsbi6_serial;
13                 i2c0 = &gsbi1_i2c;
14                 i2c1 = &gsbi2_i2c;
15                 i2c2 = &gsbi3_i2c;
16                 i2c3 = &gsbi4_i2c;
17                 spi0 = &gsbi5_spi;
18         };
20         chosen {
21                 stdout-path = "serial0:115200n8";
22         };
24         pwrseq {
25                 compatible = "simple-bus";
27                 sdcc4_pwrseq: sdcc4_pwrseq {
28                         pinctrl-names = "default";
29                         pinctrl-0 = <&wlan_default_gpios>;
30                         compatible = "mmc-pwrseq-simple";
31                         reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
32                 };
33         };
35         leds {
36                 compatible = "gpio-leds";
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&notify_led>;
40                 led@1 {
41                         label = "apq8064:green:user1";
42                         gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>;
43                         default-state = "on";
44                 };
45         };
47         hdmi-out {
48                 compatible = "hdmi-connector";
49                 type = "d";
51                 port {
52                         hdmi_con: endpoint {
53                                 remote-endpoint = <&hdmi_out>;
54                         };
55                 };
56         };
58         soc {
59                 pinctrl@800000 {
60                         card_detect: card_detect {
61                                 mux {
62                                         pins = "gpio26";
63                                         function = "gpio";
64                                         bias-disable;
65                                 };
66                         };
68                         pcie_pins: pcie_pinmux {
69                                 mux {
70                                         pins = "gpio27";
71                                         function = "gpio";
72                                 };
73                                 conf {
74                                         pins = "gpio27";
75                                         drive-strength = <12>;
76                                         bias-disable;
77                                 };
78                         };
79                 };
81                 rpm@108000 {
82                         regulators {
83                                 vin_lvs1_3_6-supply = <&pm8921_s4>;
84                                 vin_lvs2-supply = <&pm8921_s1>;
85                                 vin_lvs4_5_7-supply = <&pm8921_s4>;
87                                 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
88                                 vdd_l24-supply = <&pm8921_s1>;
89                                 vdd_l25-supply = <&pm8921_s1>;
90                                 vdd_l26-supply = <&pm8921_s7>;
91                                 vdd_l27-supply = <&pm8921_s7>;
92                                 vdd_l28-supply = <&pm8921_s7>;
95                                 /* Buck SMPS */
96                                 s1 {
97                                         regulator-always-on;
98                                         regulator-min-microvolt = <1225000>;
99                                         regulator-max-microvolt = <1225000>;
100                                         qcom,switch-mode-frequency = <3200000>;
101                                         bias-pull-down;
102                                 };
104                                 s3 {
105                                         regulator-min-microvolt = <1000000>;
106                                         regulator-max-microvolt = <1400000>;
107                                         qcom,switch-mode-frequency = <4800000>;
108                                 };
110                                 s4 {
111                                         regulator-min-microvolt = <1800000>;
112                                         regulator-max-microvolt = <1800000>;
113                                         qcom,switch-mode-frequency = <3200000>;
114                                 };
116                                 s7 {
117                                         regulator-min-microvolt = <1300000>;
118                                         regulator-max-microvolt = <1300000>;
119                                         qcom,switch-mode-frequency = <3200000>;
120                                 };
122                                 l3 {
123                                         regulator-min-microvolt = <3050000>;
124                                         regulator-max-microvolt = <3300000>;
125                                         bias-pull-down;
126                                 };
128                                 l4 {
129                                         regulator-min-microvolt = <1000000>;
130                                         regulator-max-microvolt = <1800000>;
131                                         bias-pull-down;
132                                 };
134                                 l5 {
135                                         regulator-min-microvolt = <2750000>;
136                                         regulator-max-microvolt = <3000000>;
137                                         bias-pull-down;
138                                 };
140                                 l6 {
141                                         regulator-min-microvolt = <2950000>;
142                                         regulator-max-microvolt = <2950000>;
143                                         bias-pull-down;
144                                 };
146                                 l23 {
147                                         regulator-min-microvolt = <1700000>;
148                                         regulator-max-microvolt = <1900000>;
149                                         bias-pull-down;
150                                 };
152                                 lvs1 {
153                                         bias-pull-down;
154                                 };
156                                 lvs6 {
157                                         bias-pull-down;
158                                 };
159                         };
160                 };
162                 ext_3p3v: regulator-fixed@1 {
163                         compatible = "regulator-fixed";
164                         regulator-min-microvolt = <3300000>;
165                         regulator-max-microvolt = <3300000>;
166                         regulator-name = "ext_3p3v";
167                         regulator-type = "voltage";
168                         startup-delay-us = <0>;
169                         gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
170                         enable-active-high;
171                         regulator-boot-on;
172                 };
174                 gsbi3: gsbi@16200000 {
175                         status = "okay";
176                         qcom,mode = <GSBI_PROT_I2C>;
177                         i2c@16280000 {
178                                 status = "okay";
179                         };
180                 };
182                 gsbi@16300000 {
183                         status = "okay";
184                         qcom,mode = <GSBI_PROT_I2C>;
185                         /* CAM I2C MIPI-CSI connector */
186                         i2c@16380000 {
187                                 status = "okay";
188                         };
189                 };
191                 gsbi@12440000 {
192                         status = "okay";
193                         qcom,mode = <GSBI_PROT_I2C>;
195                         i2c@12460000 {
196                                 status = "okay";
197                                 clock-frequency = <200000>;
199                                 eeprom@52 {
200                                         compatible = "atmel,24c128";
201                                         reg = <0x52>;
202                                         pagesize = <32>;
203                                 };
204                         };
205                 };
207                 gsbi@1a200000 {
208                         qcom,mode = <GSBI_PROT_SPI>;
209                         status = "okay";
210                         spi4: spi@1a280000 {
211                                 status = "okay";
212                                 num-cs = <1>;
213                                 cs-gpios = <&tlmm_pinmux 53 0>;
214                         };
215                 };
217                 gsbi@16500000 {
218                         status = "ok";
219                         qcom,mode = <GSBI_PROT_UART_W_FC>;
221                         serial@16540000 {
222                                 status = "ok";
223                                 pinctrl-names = "default";
224                                 pinctrl-0 = <&gsbi6_uart_4pins>;
225                         };
226                 };
228                 gsbi@16600000 {
229                         status = "ok";
230                         qcom,mode = <GSBI_PROT_I2C_UART>;
231                         serial@16640000 {
232                                 status = "ok";
233                                 pinctrl-names = "default";
234                                 pinctrl-0 = <&gsbi7_uart_2pins>;
235                         };
236                 };
238                 sata_phy0: phy@1b400000 {
239                         status = "okay";
240                 };
242                 sata0: sata@29000000 {
243                         status          = "okay";
244                         target-supply   = <&pm8921_s4>;
245                 };
247                 /* OTG */
248                 usb@12500000 {
249                         status = "okay";
250                         dr_mode = "otg";
251                         ulpi {
252                                 phy {
253                                         v3p3-supply = <&pm8921_l3>;
254                                         v1p8-supply = <&pm8921_l4>;
255                                 };
256                         };
257                 };
259                 usb@12520000 {
260                         status = "okay";
261                         dr_mode = "host";
262                         ulpi {
263                                 phy {
264                                         v3p3-supply = <&pm8921_l3>;
265                                         v1p8-supply = <&pm8921_l23>;
266                                 };
267                         };
268                 };
270                 usb@12530000 {
271                         status = "okay";
272                         dr_mode = "host";
273                         ulpi {
274                                 phy {
275                                         v3p3-supply = <&pm8921_l3>;
276                                         v1p8-supply = <&pm8921_l23>;
277                                 };
278                         };
279                 };
281                 pci@1b500000 {
282                         status = "ok";
283                         vdda-supply = <&pm8921_s3>;
284                         vdda_phy-supply = <&pm8921_lvs6>;
285                         vdda_refclk-supply = <&ext_3p3v>;
286                         pinctrl-0 = <&pcie_pins>;
287                         pinctrl-names = "default";
288                         perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
289                 };
291                 qcom,ssbi@500000 {
292                         pmic@0 {
293                                 gpio@150 {
294                                         wlan_default_gpios: wlan-gpios {
295                                                 pios {
296                                                         pins = "gpio43";
297                                                         function = "normal";
298                                                         bias-disable;
299                                                         power-source = <PM8921_GPIO_S4>;
300                                                 };
301                                         };
303                                         notify_led: nled {
304                                                 pios {
305                                                         pins = "gpio18";
306                                                         function = "normal";
307                                                         bias-disable;
308                                                         power-source = <PM8921_GPIO_S4>;
309                                                 };
310                                         };
311                                 };
312                         };
313                 };
315                 amba {
316                         /* eMMC */
317                         sdcc1: sdcc@12400000 {
318                                 status = "okay";
319                                 vmmc-supply = <&pm8921_l5>;
320                                 vqmmc-supply = <&pm8921_s4>;
321                         };
323                         /* External micro SD card */
324                         sdcc3: sdcc@12180000 {
325                                 status = "okay";
326                                 vmmc-supply = <&pm8921_l6>;
327                                 pinctrl-names   = "default";
328                                 pinctrl-0       = <&card_detect>;
329                                 cd-gpios        = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
330                         };
331                         /* WLAN */
332                         sdcc4: sdcc@121c0000 {
333                                 status = "okay";
334                                 vmmc-supply = <&ext_3p3v>;
335                                 vqmmc-supply = <&pm8921_lvs1>;
336                                 mmc-pwrseq = <&sdcc4_pwrseq>;
337                         };
338                 };
340                 hdmi-tx@4a00000 {
341                         status = "okay";
343                         core-vdda-supply = <&pm8921_hdmi_switch>;
344                         hdmi-mux-supply = <&ext_3p3v>;
346                         hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
348                         ports {
349                                 port@0 {
350                                         endpoint {
351                                                 remote-endpoint = <&mdp_dtv_out>;
352                                         };
353                                 };
355                                 port@1 {
356                                         endpoint {
357                                                 remote-endpoint = <&hdmi_con>;
358                                         };
359                                 };
360                         };
361                 };
363                 hdmi-phy@4a00400 {
364                         status = "okay";
366                         core-vdda-supply = <&pm8921_hdmi_switch>;
367                 };
369                 mdp@5100000 {
370                         status = "okay";
372                         ports {
373                                 port@3 {
374                                         endpoint {
375                                                 remote-endpoint = <&hdmi_in>;
376                                         };
377                                 };
378                         };
379                 };
380         };