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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.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) 2021, Linaro Ltd.
  4  * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org>
  5  * Copyright (c) 2020, AngeloGioacchino Del Regno
  6  *                     <angelogioacchino.delregno@somainline.org>
  7  */
  8 
  9 /dts-v1/;
 10 
 11 #include "sdm660.dtsi"
 12 #include "pm660.dtsi"
 13 #include "pm660l.dtsi"
 14 
 15 / {
 16         model = "Inforce 6560 Single Board Computer";
 17         compatible = "inforce,ifc6560", "qcom,sda660";
 18         chassis-type = "embedded"; /* SBC */
 19 
 20         aliases {
 21                 serial0 = &blsp1_uart2;
 22                 serial1 = &blsp2_uart1;
 23         };
 24 
 25         chosen {
 26                 stdout-path = "serial0:115200n8";
 27         };
 28 
 29         gpio-keys {
 30                 compatible = "gpio-keys";
 31 
 32                 key-volup {
 33                         label = "Volume Up";
 34                         gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
 35                         linux,code = <KEY_VOLUMEUP>;
 36                         debounce-interval = <15>;
 37                 };
 38         };
 39 
 40         /*
 41          * Until we hook up type-c detection, we
 42          * have to stick with this. But it works.
 43          */
 44         extcon_usb: extcon-usb {
 45                 compatible = "linux,extcon-usb-gpio";
 46                 id-gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
 47         };
 48 
 49         hdmi-out {
 50                 compatible = "hdmi-connector";
 51                 type = "a";
 52 
 53                 port {
 54                         hdmi_con: endpoint {
 55                                 remote-endpoint = <&adv7533_out>;
 56                         };
 57                 };
 58         };
 59 
 60         vph_pwr: vph-pwr-regulator {
 61                 compatible = "regulator-fixed";
 62                 regulator-name = "vph_pwr";
 63                 regulator-min-microvolt = <3800000>;
 64                 regulator-max-microvolt = <3800000>;
 65 
 66                 regulator-always-on;
 67                 regulator-boot-on;
 68         };
 69 
 70         v3p3_bck_bst: v3p3-bck-bst-regulator {
 71                 compatible = "regulator-fixed";
 72                 regulator-name = "v3p3_bck_bst";
 73 
 74                 regulator-min-microvolt = <3300000>;
 75                 regulator-max-microvolt = <3300000>;
 76 
 77                 vin-supply = <&vph_pwr>;
 78         };
 79 
 80         v1p2_ldo: v1p2-ldo-regulator {
 81                 compatible = "regulator-fixed";
 82                 regulator-name = "v1p2_ldo";
 83 
 84                 regulator-min-microvolt = <1200000>;
 85                 regulator-max-microvolt = <1200000>;
 86 
 87                 vin-supply = <&vph_pwr>;
 88         };
 89 
 90         v5p0_boost: v5p0-boost-regulator {
 91                 compatible = "regulator-fixed";
 92                 regulator-name = "v5p0_boost";
 93 
 94                 regulator-min-microvolt = <5000000>;
 95                 regulator-max-microvolt = <5000000>;
 96 
 97                 vin-supply = <&vph_pwr>;
 98         };
 99 
100         /*
101          * this is also used for APC1 CPU power, touching it resets the board
102          */
103         vreg_l10a_1p8: vreg-l10a-regulator {
104                 compatible = "regulator-fixed";
105                 regulator-name = "vreg_l10a_1p8";
106                 regulator-min-microvolt = <1804000>;
107                 regulator-max-microvolt = <1896000>;
108                 regulator-always-on;
109                 regulator-boot-on;
110         };
111 };
112 
113 &adsp_pil {
114         firmware-name = "qcom/sda660/adsp.mbn";
115 };
116 
117 &blsp_i2c6 {
118         status = "okay";
119 
120         adv7533: hdmi@39 {
121                 compatible = "adi,adv7535";
122                 reg = <0x39>, <0x66>;
123                 reg-names = "main", "edid";
124 
125                 interrupt-parent = <&pm660l_gpios>;
126                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
127 
128                 clocks = <&rpmcc RPM_SMD_BB_CLK2>;
129                 clock-names = "cec";
130                 /*
131                  * Limit to 3 lanes to prevent the bridge from changing amount
132                  * of lanes in the fly. MSM DSI host doesn't like that.
133                  */
134                 adi,dsi-lanes = <3>;
135                 avdd-supply = <&vreg_l13a_1p8>;
136                 dvdd-supply = <&vreg_l13a_1p8>;
137                 pvdd-supply = <&vreg_l13a_1p8>;
138                 a2vdd-supply = <&vreg_l13a_1p8>;
139                 v3p3-supply = <&v3p3_bck_bst>;
140 
141                 ports {
142                         #address-cells = <1>;
143                         #size-cells = <0>;
144 
145                         port@0 {
146                                 reg = <0>;
147 
148                                 adv7533_in: endpoint {
149                                         remote-endpoint = <&mdss_dsi0_out>;
150                                 };
151                         };
152 
153                         port@1 {
154                                 reg = <1>;
155 
156                                 adv7533_out: endpoint {
157                                         remote-endpoint = <&hdmi_con>;
158                                 };
159                         };
160                 };
161         };
162 };
163 
164 &blsp1_dma {
165         /*
166          * The board will lock up if we toggle the BLSP clock, unless the
167          * BAM DMA interconnects support is in place.
168          */
169         /delete-property/ clocks;
170 };
171 
172 &blsp1_uart2 {
173         status = "okay";
174 };
175 
176 &blsp2_dma {
177         /*
178          * The board will lock up if we toggle the BLSP clock, unless the
179          * BAM DMA interconnects support is in place.
180          */
181         /delete-property/ clocks;
182 };
183 
184 &blsp2_uart1 {
185         status = "okay";
186 
187         bluetooth {
188                 compatible = "qcom,wcn3990-bt";
189 
190                 vddio-supply = <&vreg_l13a_1p8>;
191                 vddxo-supply = <&vreg_l9a_1p8>;
192                 vddrf-supply = <&vreg_l6a_1p3>;
193                 vddch0-supply = <&vreg_l19a_3p3>;
194                 max-speed = <3200000>;
195         };
196 };
197 
198 &mdss {
199         status = "okay";
200 };
201 
202 &mdss_dsi0 {
203         status = "okay";
204         vdda-supply = <&vreg_l1a_1p225>;
205 };
206 
207 &mdss_dsi0_out {
208         remote-endpoint = <&adv7533_in>;
209         data-lanes = <0 1 2 3>;
210 };
211 
212 &mdss_dsi0_phy {
213         status = "okay";
214         vcca-supply = <&vreg_l1b_0p925>;
215 };
216 
217 &mmss_smmu {
218         status = "okay";
219 };
220 
221 &pon_pwrkey {
222         status = "okay";
223 };
224 
225 &pon_resin {
226         status = "okay";
227 
228         linux,code = <KEY_VOLUMEUP>;
229 };
230 
231 &qusb2phy0 {
232         status = "okay";
233 
234         vdd-supply = <&vreg_l1b_0p925>;
235         vdda-pll-supply = <&vreg_l10a_1p8>;
236         vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
237 };
238 
239 &qusb2phy1 {
240         status = "okay";
241 
242         vdd-supply = <&vreg_l1b_0p925>;
243         vdda-pll-supply = <&vreg_l10a_1p8>;
244         vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
245 };
246 
247 &rpm_requests {
248         regulators-0 {
249                 compatible = "qcom,rpm-pm660-regulators";
250 
251                 vdd_s1-supply = <&vph_pwr>;
252                 vdd_s2-supply = <&vph_pwr>;
253                 vdd_s3-supply = <&vph_pwr>;
254                 vdd_s4-supply = <&vph_pwr>;
255                 vdd_s5-supply = <&vph_pwr>;
256                 vdd_s6-supply = <&vph_pwr>;
257 
258                 vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
259                 vdd_l2_l3-supply = <&vreg_s2b_1p05>;
260                 vdd_l5-supply = <&vreg_s2b_1p05>;
261                 vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
262                 vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
263 
264                 vreg_s4a_2p04: s4 {
265                         regulator-min-microvolt = <1805000>;
266                         regulator-max-microvolt = <2040000>;
267                         regulator-enable-ramp-delay = <200>;
268                         regulator-ramp-delay = <0>;
269                         regulator-always-on;
270                 };
271 
272                 vreg_s5a_1p35: s5 {
273                         regulator-min-microvolt = <1224000>;
274                         regulator-max-microvolt = <1350000>;
275                         regulator-enable-ramp-delay = <200>;
276                         regulator-ramp-delay = <0>;
277                 };
278 
279                 vreg_l1a_1p225: l1 {
280                         regulator-min-microvolt = <1150000>;
281                         regulator-max-microvolt = <1250000>;
282                         regulator-enable-ramp-delay = <250>;
283                         regulator-allow-set-load;
284                 };
285 
286                 vreg_l6a_1p3: l6 {
287                         regulator-min-microvolt = <1304000>;
288                         regulator-max-microvolt = <1368000>;
289                         regulator-enable-ramp-delay = <250>;
290                         regulator-ramp-delay = <0>;
291                         regulator-allow-set-load;
292                 };
293 
294                 vreg_l8a_1p8: l8 {
295                         regulator-min-microvolt = <1800000>;
296                         regulator-max-microvolt = <1800000>;
297                         regulator-enable-ramp-delay = <250>;
298                         regulator-ramp-delay = <0>;
299                         regulator-system-load = <325000>;
300                         regulator-allow-set-load;
301                 };
302 
303                 vreg_l9a_1p8: l9 {
304                         regulator-min-microvolt = <1804000>;
305                         regulator-max-microvolt = <1896000>;
306                         regulator-enable-ramp-delay = <250>;
307                         regulator-ramp-delay = <0>;
308                         regulator-allow-set-load;
309                 };
310 
311                 vreg_l13a_1p8: l13 {
312                         /* This gives power to the LPDDR4: never turn it off! */
313                         regulator-min-microvolt = <1800000>;
314                         regulator-max-microvolt = <1944000>;
315                         regulator-enable-ramp-delay = <250>;
316                         regulator-ramp-delay = <0>;
317                         regulator-always-on;
318                         regulator-boot-on;
319                 };
320 
321                 vreg_l19a_3p3: l19 {
322                         regulator-min-microvolt = <3312000>;
323                         regulator-max-microvolt = <3400000>;
324                         regulator-enable-ramp-delay = <250>;
325                         regulator-ramp-delay = <0>;
326                         regulator-allow-set-load;
327                 };
328         };
329 
330         regulators-1 {
331                 compatible = "qcom,rpm-pm660l-regulators";
332 
333                 vdd_s1-supply = <&vph_pwr>;
334                 vdd_s2-supply = <&vph_pwr>;
335                 vdd_s3_s4-supply = <&vph_pwr>;
336                 vdd_s5-supply = <&vph_pwr>;
337                 vdd_s6-supply = <&vph_pwr>;
338 
339                 vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
340                 vdd_l2-supply = <&vreg_bob>;
341                 vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
342                 vdd_l4_l6-supply = <&vreg_bob>;
343                 vdd_bob-supply = <&vph_pwr>;
344 
345                 vreg_s2b_1p05: s2 {
346                         regulator-min-microvolt = <1050000>;
347                         regulator-max-microvolt = <1050000>;
348                         regulator-enable-ramp-delay = <200>;
349                         regulator-ramp-delay = <0>;
350                 };
351 
352                 vreg_l1b_0p925: l1 {
353                         regulator-min-microvolt = <800000>;
354                         regulator-max-microvolt = <925000>;
355                         regulator-enable-ramp-delay = <250>;
356                         regulator-allow-set-load;
357                 };
358 
359                 vreg_l2b_2p95: l2 {
360                         regulator-min-microvolt = <1648000>;
361                         regulator-max-microvolt = <3100000>;
362                         regulator-enable-ramp-delay = <250>;
363                         regulator-ramp-delay = <0>;
364                         regulator-allow-set-load;
365                 };
366 
367                 vreg_l4b_2p95: l4 {
368                         regulator-min-microvolt = <2944000>;
369                         regulator-max-microvolt = <2952000>;
370                         regulator-enable-ramp-delay = <250>;
371                         regulator-ramp-delay = <0>;
372 
373                         regulator-min-microamp = <200>;
374                         regulator-max-microamp = <600000>;
375                         regulator-system-load = <570000>;
376                         regulator-allow-set-load;
377                 };
378 
379                 /*
380                  * Downstream specifies a range of 1721-3600mV,
381                  * but the only assigned consumers are SDHCI2 VMMC
382                  * and Coresight QPDI that both request pinned 2.95V.
383                  * Tighten the range to 1.8-3.328 (closest to 3.3) to
384                  * make the mmc driver happy.
385                  */
386                 vreg_l5b_2p95: l5 {
387                         regulator-min-microvolt = <1800000>;
388                         regulator-max-microvolt = <3328000>;
389                         regulator-enable-ramp-delay = <250>;
390                         regulator-system-load = <800000>;
391                         regulator-ramp-delay = <0>;
392                         regulator-allow-set-load;
393                 };
394 
395                 vreg_l7b_3p125: l7 {
396                         regulator-min-microvolt = <2700000>;
397                         regulator-max-microvolt = <3125000>;
398                         regulator-enable-ramp-delay = <250>;
399                 };
400 
401                 vreg_l8b_3p3: l8 {
402                         regulator-min-microvolt = <2800000>;
403                         regulator-max-microvolt = <3400000>;
404                         regulator-enable-ramp-delay = <250>;
405                         regulator-ramp-delay = <0>;
406                 };
407 
408                 vreg_bob: bob {
409                         regulator-min-microvolt = <3300000>;
410                         regulator-max-microvolt = <3624000>;
411                         regulator-enable-ramp-delay = <500>;
412                         regulator-ramp-delay = <0>;
413                 };
414         };
415 };
416 
417 &sdc2_state_on {
418         sd-cd-pins {
419                 pins = "gpio54";
420                 function = "gpio";
421                 bias-pull-up;
422                 drive-strength = <2>;
423         };
424 };
425 
426 &sdc2_state_off {
427         sd-cd-pins {
428                 pins = "gpio54";
429                 function = "gpio";
430                 bias-disable;
431                 drive-strength = <2>;
432         };
433 };
434 
435 &sdhc_1 {
436         status = "okay";
437         supports-cqe;
438 
439         vmmc-supply = <&vreg_l4b_2p95>;
440         vqmmc-supply = <&vreg_l8a_1p8>;
441 
442         mmc-ddr-1_8v;
443         mmc-hs400-1_8v;
444         mmc-hs400-enhanced-strobe;
445 };
446 
447 &sdhc_2 {
448         status = "okay";
449 
450         vmmc-supply = <&vreg_l5b_2p95>;
451         vqmmc-supply = <&vreg_l2b_2p95>;
452 
453         cd-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
454         no-sdio;
455         no-mmc;
456 };
457 
458 &tlmm {
459         gpio-reserved-ranges = <0 4>, <8 4>;
460 };
461 
462 &usb2 {
463         status = "okay";
464 };
465 
466 &usb2_dwc3 {
467         dr_mode = "host";
468 };
469 
470 &usb3 {
471         status = "okay";
472 };
473 
474 &usb3_dwc3 {
475         dr_mode = "peripheral";
476         extcon = <&extcon_usb>;
477 };
478 
479 &usb3_qmpphy {
480         vdda-phy-supply = <&vreg_l1b_0p925>;
481         vdda-pll-supply = <&vreg_l10a_1p8>;
482         status = "okay";
483 };

~ [ 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