~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/msm8953-xiaomi-daisy.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: BSD-3-Clause
  2 /*
  3  * Copyright (c) 2022, Alejandro Tafalla
  4  */
  5 /dts-v1/;
  6 
  7 #include "msm8953.dtsi"
  8 #include "pm8953.dtsi"
  9 #include "pmi8950.dtsi"
 10 
 11 /delete-node/ &adsp_fw_mem;
 12 /delete-node/ &qseecom_mem;
 13 /delete-node/ &wcnss_fw_mem;
 14 
 15 / {
 16         model = "Xiaomi Mi A2 Lite";
 17         compatible = "xiaomi,daisy", "qcom,msm8953";
 18         chassis-type = "handset";
 19         qcom,msm-id = <293 0>;
 20         qcom,board-id = <0x1000b 0x9>;
 21 
 22         chosen {
 23                 #address-cells = <2>;
 24                 #size-cells = <2>;
 25                 ranges;
 26 
 27                 framebuffer@90001000 {
 28                         compatible = "simple-framebuffer";
 29                         reg = <0 0x90001000 0 (1920 * 2280 * 3)>;
 30 
 31                         width = <1080>;
 32                         height = <2280>;
 33                         stride = <(1080 * 3)>;
 34                         format = "r8g8b8";
 35 
 36                         power-domains = <&gcc MDSS_GDSC>;
 37 
 38                         clocks = <&gcc GCC_MDSS_AHB_CLK>,
 39                                  <&gcc GCC_MDSS_AXI_CLK>,
 40                                  <&gcc GCC_MDSS_VSYNC_CLK>,
 41                                  <&gcc GCC_MDSS_MDP_CLK>,
 42                                  <&gcc GCC_MDSS_BYTE0_CLK>,
 43                                  <&gcc GCC_MDSS_PCLK0_CLK>,
 44                                  <&gcc GCC_MDSS_ESC0_CLK>;
 45                 };
 46         };
 47 
 48         gpio-keys {
 49                 compatible = "gpio-keys";
 50 
 51                 pinctrl-names = "default";
 52                 pinctrl-0 = <&gpio_key_default>;
 53 
 54                 key-volume-up {
 55                         label = "Volume Up";
 56                         gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
 57                         linux,code = <KEY_VOLUMEUP>;
 58                 };
 59         };
 60 
 61         reserved-memory {
 62                 qseecom_mem: qseecom@84a00000 {
 63                         reg = <0x0 0x84a00000 0x0 0x1900000>;
 64                         no-map;
 65                 };
 66 
 67                 adsp_fw_mem: adsp@8d600000 {
 68                         reg = <0x0 0x8d600000 0x0 0x1200000>;
 69                         no-map;
 70                 };
 71 
 72                 wcnss_fw_mem: wcnss@8e800000 {
 73                         reg = <0x0 0x8e800000 0x0 0x700000>;
 74                         no-map;
 75                 };
 76         };
 77 
 78         /*
 79          * We bitbang on &i2c_4 because BLSP is protected by TZ as sensors are
 80          * normally proxied via ADSP firmware. GPIOs aren't protected.
 81          */
 82         i2c-sensors {
 83                 compatible = "i2c-gpio";
 84                 sda-gpios = <&tlmm 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 85                 scl-gpios = <&tlmm 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 86                 i2c-gpio,delay-us = <2>; /* ~100 kHz */
 87                 #address-cells = <1>;
 88                 #size-cells = <0>;
 89 
 90                 imu@6a {
 91                         compatible = "st,lsm6dsl";
 92                         reg = <0x6a>;
 93                         vdd-supply = <&pm8953_l10>;
 94                         vddio-supply = <&pm8953_l6>;
 95                         mount-matrix = "-1", "0", "0",
 96                                         "0", "-1", "0",
 97                                         "0", "0", "1";
 98                 };
 99         };
100 
101         vph_pwr: vph-pwr-regulator {
102                 compatible = "regulator-fixed";
103                 regulator-name = "vph_pwr";
104                 regulator-always-on;
105                 regulator-boot-on;
106         };
107 };
108 
109 &hsusb_phy {
110         vdd-supply = <&pm8953_l3>;
111         vdda-pll-supply = <&pm8953_l7>;
112         vdda-phy-dpdm-supply = <&pm8953_l13>;
113 
114         status = "okay";
115 };
116 
117 &i2c_2 {
118         status = "okay";
119 
120         speaker_codec: audio-codec@3a {
121                 compatible = "maxim,max98927";
122                 reg = <0x3a>;
123 
124                 reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
125 
126                 vmon-slot-no = <1>;
127                 imon-slot-no = <1>;
128                 maxim,interleave-mode;
129 
130                 #sound-dai-cells = <0>;
131         };
132 };
133 
134 &i2c_3 {
135         status = "okay";
136 
137         touchscreen@38 {
138                 compatible = "edt,edt-ft5406";
139                 reg = <0x38>;
140 
141                 interrupt-parent = <&tlmm>;
142                 interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
143 
144                 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
145 
146                 vcc-supply = <&pm8953_l10>;
147 
148                 touchscreen-size-x = <1080>;
149                 touchscreen-size-y = <2280>;
150         };
151 };
152 
153 &pm8953_resin {
154         linux,code = <KEY_VOLUMEDOWN>;
155         status = "okay";
156 };
157 
158 &pmi8950_wled {
159         qcom,current-limit-microamp = <20000>;
160         qcom,num-strings = <2>;
161 
162         status = "okay";
163 };
164 
165 &rpm_requests {
166         regulators {
167                 compatible = "qcom,rpm-pm8953-regulators";
168 
169                 vdd_s1-supply = <&vph_pwr>;
170                 vdd_s2-supply = <&vph_pwr>;
171                 vdd_s3-supply = <&vph_pwr>;
172                 vdd_s4-supply = <&vph_pwr>;
173                 vdd_s5-supply = <&vph_pwr>;
174                 vdd_s6-supply = <&vph_pwr>;
175                 vdd_s7-supply = <&vph_pwr>;
176                 vdd_l1-supply = <&pm8953_s3>;
177                 vdd_l2_l3-supply = <&pm8953_s3>;
178                 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
179                 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
180                 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
181 
182                 pm8953_s1: s1 {
183                         regulator-min-microvolt = <863000>;
184                         regulator-max-microvolt = <1152000>;
185                 };
186 
187                 pm8953_s3: s3 {
188                         regulator-min-microvolt = <1224000>;
189                         regulator-max-microvolt = <1224000>;
190                 };
191 
192                 pm8953_s4: s4 {
193                         regulator-min-microvolt = <1896000>;
194                         regulator-max-microvolt = <2048000>;
195                 };
196 
197                 pm8953_l1: l1 {
198                         regulator-min-microvolt = <1000000>;
199                         regulator-max-microvolt = <1100000>;
200                 };
201 
202                 pm8953_l2: l2 {
203                         regulator-min-microvolt = <975000>;
204                         regulator-max-microvolt = <1225000>;
205                 };
206 
207                 pm8953_l3: l3 {
208                         regulator-min-microvolt = <925000>;
209                         regulator-max-microvolt = <925000>;
210                         regulator-allow-set-load;
211                 };
212 
213                 pm8953_l5: l5 {
214                         regulator-min-microvolt = <1800000>;
215                         regulator-max-microvolt = <1800000>;
216                 };
217 
218                 pm8953_l6: l6 {
219                         regulator-min-microvolt = <1800000>;
220                         regulator-max-microvolt = <1800000>;
221                         regulator-always-on;
222                 };
223 
224                 pm8953_l7: l7 {
225                         regulator-min-microvolt = <1800000>;
226                         regulator-max-microvolt = <1900000>;
227                 };
228 
229                 pm8953_l8: l8 {
230                         regulator-min-microvolt = <2900000>;
231                         regulator-max-microvolt = <2900000>;
232                 };
233 
234                 pm8953_l9: l9 {
235                         regulator-min-microvolt = <3000000>;
236                         regulator-max-microvolt = <3300000>;
237                 };
238 
239                 pm8953_l10: l10 {
240                         regulator-min-microvolt = <2850000>;
241                         regulator-max-microvolt = <2850000>;
242                         regulator-always-on;
243                 };
244 
245                 pm8953_l11: l11 {
246                         regulator-min-microvolt = <2950000>;
247                         regulator-max-microvolt = <2950000>;
248                 };
249 
250                 pm8953_l12: l12 {
251                         regulator-min-microvolt = <1800000>;
252                         regulator-max-microvolt = <2950000>;
253                 };
254 
255                 pm8953_l13: l13 {
256                         regulator-min-microvolt = <3125000>;
257                         regulator-max-microvolt = <3125000>;
258                 };
259 
260                 pm8953_l16: l16 {
261                         regulator-min-microvolt = <1800000>;
262                         regulator-max-microvolt = <1800000>;
263                 };
264 
265                 pm8953_l17: l17 {
266                         regulator-min-microvolt = <2850000>;
267                         regulator-max-microvolt = <2850000>;
268                 };
269 
270                 pm8953_l19: l19 {
271                         regulator-min-microvolt = <1200000>;
272                         regulator-max-microvolt = <1350000>;
273                 };
274 
275                 pm8953_l22: l22 {
276                         regulator-min-microvolt = <2800000>;
277                         regulator-max-microvolt = <2850000>;
278                         regulator-always-on;
279                 };
280 
281                 pm8953_l23: l23 {
282                         regulator-min-microvolt = <975000>;
283                         regulator-max-microvolt = <1225000>;
284                 };
285         };
286 };
287 
288 &sdhc_1 {
289         vmmc-supply = <&pm8953_l8>;
290         vqmmc-supply = <&pm8953_l5>;
291 
292         status = "okay";
293 };
294 
295 &sdhc_2 {
296         vmmc-supply = <&pm8953_l11>;
297         vqmmc-supply = <&pm8953_l12>;
298 
299         cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
300 
301         pinctrl-names = "default", "sleep";
302         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
303         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
304 
305         status = "okay";
306 };
307 
308 &tlmm {
309         gpio-reserved-ranges = <0 4>, <16 4>, <135 4>;
310 };
311 
312 &uart_0 {
313         pinctrl-names = "default";
314         pinctrl-0 = <&uart_console_active>;
315 
316         status = "okay";
317 };
318 
319 &usb3 {
320         status = "okay";
321 };
322 
323 &usb3_dwc3 {
324         /delete-property/ usb-role-switch;
325         dr_mode = "peripheral";
326 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php