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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/sa8540p-ride.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, The Linux Foundation. All rights reserved.
  4  * Copyright (c) 2022, Linaro Limited
  5  */
  6 
  7 /dts-v1/;
  8 
  9 #include <dt-bindings/gpio/gpio.h>
 10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 11 
 12 #include "sa8540p.dtsi"
 13 #include "sa8540p-pmics.dtsi"
 14 
 15 / {
 16         model = "Qualcomm SA8540P Ride";
 17         compatible = "qcom,sa8540p-ride", "qcom,sa8540p";
 18 
 19         aliases {
 20                 i2c0 = &i2c0;
 21                 i2c1 = &i2c1;
 22                 i2c12 = &i2c12;
 23                 i2c15 = &i2c15;
 24                 i2c18 = &i2c18;
 25                 serial0 = &uart17;
 26         };
 27 
 28         chosen {
 29                 stdout-path = "serial0:115200n8";
 30         };
 31 };
 32 
 33 &apps_rsc {
 34         regulators-0 {
 35                 compatible = "qcom,pm8150-rpmh-regulators";
 36                 qcom,pmic-id = "a";
 37 
 38                 vreg_l3a: ldo3 {
 39                         regulator-name = "vreg_l3a";
 40                         regulator-min-microvolt = <1200000>;
 41                         regulator-max-microvolt = <1208000>;
 42                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 43                 };
 44 
 45                 vreg_l5a: ldo5 {
 46                         regulator-name = "vreg_l5a";
 47                         regulator-min-microvolt = <912000>;
 48                         regulator-max-microvolt = <912000>;
 49                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 50                 };
 51 
 52                 vreg_l7a: ldo7 {
 53                         regulator-name = "vreg_l7a";
 54                         regulator-min-microvolt = <1800000>;
 55                         regulator-max-microvolt = <1800000>;
 56                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 57                 };
 58 
 59                 vreg_l11a: ldo11 {
 60                         regulator-name = "vreg_l11a";
 61                         regulator-min-microvolt = <880000>;
 62                         regulator-max-microvolt = <880000>;
 63                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 64                 };
 65 
 66                 vreg_l13a: ldo13 {
 67                         regulator-name = "vreg_l13a";
 68                         regulator-min-microvolt = <3072000>;
 69                         regulator-max-microvolt = <3072000>;
 70                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 71                 };
 72         };
 73 
 74         regulators-1 {
 75                 compatible = "qcom,pm8150-rpmh-regulators";
 76                 qcom,pmic-id = "c";
 77 
 78                 vreg_l1c: ldo1 {
 79                         regulator-name = "vreg_l1c";
 80                         regulator-min-microvolt = <912000>;
 81                         regulator-max-microvolt = <912000>;
 82                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 83                 };
 84 
 85                 vreg_l2c: ldo2 {
 86                         regulator-name = "vreg_l2c";
 87                         regulator-min-microvolt = <3072000>;
 88                         regulator-max-microvolt = <3072000>;
 89                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 90                 };
 91 
 92                 vreg_l4c: ldo4 {
 93                         regulator-name = "vreg_l4c";
 94                         regulator-min-microvolt = <1200000>;
 95                         regulator-max-microvolt = <1208000>;
 96                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 97                 };
 98 
 99                 vreg_l6c: ldo6 {
100                         regulator-name = "vreg_l6c";
101                         regulator-min-microvolt = <1200000>;
102                         regulator-max-microvolt = <1200000>;
103                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
104                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
105                                                    RPMH_REGULATOR_MODE_HPM>;
106                         regulator-allow-set-load;
107                 };
108 
109                 vreg_l7c: ldo7 {
110                         regulator-name = "vreg_l7c";
111                         regulator-min-microvolt = <1800000>;
112                         regulator-max-microvolt = <1800000>;
113                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114                 };
115 
116                 vreg_l17c: ldo17 {
117                         regulator-name = "vreg_l17c";
118                         regulator-min-microvolt = <2504000>;
119                         regulator-max-microvolt = <2504000>;
120                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
121                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
122                                                    RPMH_REGULATOR_MODE_HPM>;
123                         regulator-allow-set-load;
124                 };
125         };
126 
127         regulators-2 {
128                 compatible = "qcom,pm8150-rpmh-regulators";
129                 qcom,pmic-id = "g";
130 
131                 vreg_l3g: ldo3 {
132                         regulator-name = "vreg_l3g";
133                         regulator-min-microvolt = <1200000>;
134                         regulator-max-microvolt = <1200000>;
135                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
136                 };
137 
138                 vreg_l7g: ldo7 {
139                         regulator-name = "vreg_l7g";
140                         regulator-min-microvolt = <1800000>;
141                         regulator-max-microvolt = <1800000>;
142                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143                 };
144 
145                 vreg_l8g: ldo8 {
146                         regulator-name = "vreg_l8g";
147                         regulator-min-microvolt = <880000>;
148                         regulator-max-microvolt = <880000>;
149                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150                 };
151         };
152 };
153 
154 &ethernet0 {
155         snps,mtl-rx-config = <&ethernet0_mtl_rx_setup>;
156         snps,mtl-tx-config = <&ethernet0_mtl_tx_setup>;
157 
158         max-speed = <1000>;
159         phy-handle = <&rgmii_phy>;
160         phy-mode = "rgmii-txid";
161 
162         pinctrl-names = "default";
163         pinctrl-0 = <&ethernet0_default>;
164 
165         status = "okay";
166 
167         mdio {
168                 compatible = "snps,dwmac-mdio";
169                 #address-cells = <1>;
170                 #size-cells = <0>;
171 
172                 /* Marvell 88EA1512 */
173                 rgmii_phy: phy@8 {
174                         compatible = "ethernet-phy-id0141.0dd4";
175                         reg = <0x8>;
176 
177                         interrupts-extended = <&tlmm 127 IRQ_TYPE_EDGE_FALLING>;
178 
179                         reset-gpios = <&pmm8540c_gpios 1 GPIO_ACTIVE_LOW>;
180                         reset-assert-us = <11000>;
181                         reset-deassert-us = <70000>;
182 
183                         device_type = "ethernet-phy";
184 
185                         /* Set to RGMII_SGMII mode and soft reset. Turn off auto-negotiation
186                          * from userspace to talk to the switch on the SGMII side of things
187                          */
188                         marvell,reg-init =
189                                 /* Set MODE[2:0] to RGMII_SGMII */
190                                 <0x12 0x14 0xfff8 0x4>,
191                                 /* Soft reset required after changing MODE[2:0] */
192                                 <0x12 0x14 0x7fff 0x8000>;
193                 };
194         };
195 
196         ethernet0_mtl_rx_setup: rx-queues-config {
197                 snps,rx-queues-to-use = <1>;
198                 snps,rx-sched-sp;
199 
200                 queue0 {
201                         snps,dcb-algorithm;
202                         snps,map-to-dma-channel = <0x0>;
203                         snps,route-up;
204                         snps,priority = <0x1>;
205                 };
206 
207                 queue1 {
208                         snps,dcb-algorithm;
209                         snps,map-to-dma-channel = <0x1>;
210                         snps,route-ptp;
211                 };
212 
213                 queue2 {
214                         snps,avb-algorithm;
215                         snps,map-to-dma-channel = <0x2>;
216                         snps,route-avcp;
217                 };
218 
219                 queue3 {
220                         snps,avb-algorithm;
221                         snps,map-to-dma-channel = <0x3>;
222                         snps,priority = <0xc>;
223                 };
224         };
225 
226         ethernet0_mtl_tx_setup: tx-queues-config {
227                 snps,tx-queues-to-use = <1>;
228                 snps,tx-sched-sp;
229 
230                 queue0 {
231                         snps,dcb-algorithm;
232                 };
233 
234                 queue1 {
235                         snps,dcb-algorithm;
236                 };
237 
238                 queue2 {
239                         snps,avb-algorithm;
240                         snps,send_slope = <0x1000>;
241                         snps,idle_slope = <0x1000>;
242                         snps,high_credit = <0x3e800>;
243                         snps,low_credit = <0xffc18000>;
244                 };
245 
246                 queue3 {
247                         snps,avb-algorithm;
248                         snps,send_slope = <0x1000>;
249                         snps,idle_slope = <0x1000>;
250                         snps,high_credit = <0x3e800>;
251                         snps,low_credit = <0xffc18000>;
252                 };
253         };
254 };
255 
256 &ethernet1 {
257         snps,mtl-rx-config = <&ethernet1_mtl_rx_setup>;
258         snps,mtl-tx-config = <&ethernet1_mtl_tx_setup>;
259 
260         max-speed = <1000>;
261         phy-mode = "rgmii-txid";
262 
263         pinctrl-names = "default";
264         pinctrl-0 = <&ethernet1_default>;
265 
266         status = "okay";
267 
268         fixed-link {
269                 speed = <1000>;
270                 full-duplex;
271         };
272 
273         ethernet1_mtl_rx_setup: rx-queues-config {
274                 snps,rx-queues-to-use = <1>;
275                 snps,rx-sched-sp;
276 
277                 queue0 {
278                         snps,dcb-algorithm;
279                         snps,map-to-dma-channel = <0x0>;
280                         snps,route-up;
281                         snps,priority = <0x1>;
282                 };
283 
284                 queue1 {
285                         snps,dcb-algorithm;
286                         snps,map-to-dma-channel = <0x1>;
287                         snps,route-ptp;
288                 };
289 
290                 queue2 {
291                         snps,avb-algorithm;
292                         snps,map-to-dma-channel = <0x2>;
293                         snps,route-avcp;
294                 };
295 
296                 queue3 {
297                         snps,avb-algorithm;
298                         snps,map-to-dma-channel = <0x3>;
299                         snps,priority = <0xc>;
300                 };
301         };
302 
303         ethernet1_mtl_tx_setup: tx-queues-config {
304                 snps,tx-queues-to-use = <1>;
305                 snps,tx-sched-sp;
306 
307                 queue0 {
308                         snps,dcb-algorithm;
309                 };
310 
311                 queue1 {
312                         snps,dcb-algorithm;
313                 };
314 
315                 queue2 {
316                         snps,avb-algorithm;
317                         snps,send_slope = <0x1000>;
318                         snps,idle_slope = <0x1000>;
319                         snps,high_credit = <0x3e800>;
320                         snps,low_credit = <0xffc18000>;
321                 };
322 
323                 queue3 {
324                         snps,avb-algorithm;
325                         snps,send_slope = <0x1000>;
326                         snps,idle_slope = <0x1000>;
327                         snps,high_credit = <0x3e800>;
328                         snps,low_credit = <0xffc18000>;
329                 };
330         };
331 };
332 
333 &i2c0 {
334         pinctrl-names = "default";
335         pinctrl-0 = <&i2c0_default>;
336 
337         status = "okay";
338 };
339 
340 &i2c1 {
341         pinctrl-names = "default";
342         pinctrl-0 = <&i2c1_default>;
343 
344         status = "okay";
345 };
346 
347 &i2c12 {
348         pinctrl-names = "default";
349         pinctrl-0 = <&i2c12_default>;
350 
351         status = "okay";
352 };
353 
354 &i2c15 {
355         pinctrl-names = "default";
356         pinctrl-0 = <&i2c15_default>;
357 
358         status = "okay";
359 };
360 
361 &i2c18 {
362         pinctrl-names = "default";
363         pinctrl-0 = <&i2c18_default>;
364 
365         status = "okay";
366 };
367 
368 &pcie2a {
369         ranges = <0x01000000 0x0 0x3c200000 0x0 0x3c200000 0x0 0x100000>,
370                  <0x02000000 0x0 0x3c300000 0x0 0x3c300000 0x0 0x1d00000>,
371                  <0x03000000 0x5 0x00000000 0x5 0x00000000 0x1 0x00000000>;
372 
373         perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
374         wake-gpios = <&tlmm 145 GPIO_ACTIVE_HIGH>;
375 
376         pinctrl-names = "default";
377         pinctrl-0 = <&pcie2a_default>;
378 
379         status = "disabled";
380 };
381 
382 &pcie2a_phy {
383         vdda-phy-supply = <&vreg_l11a>;
384         vdda-pll-supply = <&vreg_l3a>;
385 
386         status = "disabled";
387 };
388 
389 &pcie3a {
390         ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
391                  <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x20000000>,
392                  <0x03000000 0x6 0x00000000 0x6 0x00000000 0x2 0x00000000>;
393 
394         perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
395         wake-gpios = <&tlmm 56 GPIO_ACTIVE_HIGH>;
396 
397         pinctrl-names = "default";
398         pinctrl-0 = <&pcie3a_default>;
399 
400         status = "okay";
401 };
402 
403 &pcie3a_phy {
404         vdda-phy-supply = <&vreg_l11a>;
405         vdda-pll-supply = <&vreg_l3a>;
406 
407         status = "okay";
408 };
409 
410 &pmm8540a_rtc {
411         nvmem-cells = <&rtc_offset>;
412         nvmem-cell-names = "offset";
413 
414         status = "okay";
415 };
416 
417 &pmm8540c_sdam_2 {
418         status = "okay";
419 
420         rtc_offset: rtc-offset@a0 {
421                 reg = <0xa0 0x4>;
422         };
423 };
424 
425 &qup0 {
426         status = "okay";
427 };
428 
429 &qup1 {
430         status = "okay";
431 };
432 
433 &qup2 {
434         status = "okay";
435 };
436 
437 &remoteproc_nsp0 {
438         firmware-name = "qcom/sa8540p/cdsp0.mbn";
439         status = "okay";
440 };
441 
442 &remoteproc_nsp1 {
443         firmware-name = "qcom/sa8540p/cdsp1.mbn";
444         status = "okay";
445 };
446 
447 &uart17 {
448         compatible = "qcom,geni-debug-uart";
449         status = "okay";
450 };
451 
452 &ufs_mem_hc {
453         reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
454 
455         vcc-supply = <&vreg_l17c>;
456         vccq-supply = <&vreg_l6c>;
457 
458         status = "okay";
459 };
460 
461 &ufs_mem_phy {
462         vdda-phy-supply = <&vreg_l8g>;
463         vdda-pll-supply = <&vreg_l3g>;
464 
465         status = "okay";
466 };
467 
468 &usb_0 {
469         status = "okay";
470 };
471 
472 &usb_0_dwc3 {
473         dr_mode = "peripheral";
474 };
475 
476 &usb_0_hsphy {
477         vdda-pll-supply = <&vreg_l5a>;
478         vdda18-supply = <&vreg_l7a>;
479         vdda33-supply = <&vreg_l13a>;
480 
481         status = "okay";
482 };
483 
484 &usb_0_qmpphy {
485         vdda-phy-supply = <&vreg_l3a>;
486         vdda-pll-supply = <&vreg_l5a>;
487 
488         status = "okay";
489 };
490 
491 &usb_2_hsphy0 {
492         vdda-pll-supply = <&vreg_l5a>;
493         vdda18-supply = <&vreg_l7g>;
494         vdda33-supply = <&vreg_l13a>;
495 
496         status = "okay";
497 };
498 
499 &usb_2_qmpphy0 {
500         vdda-phy-supply = <&vreg_l3a>;
501         vdda-pll-supply = <&vreg_l5a>;
502 
503         status = "okay";
504 };
505 
506 &xo_board_clk {
507         clock-frequency = <38400000>;
508 };
509 
510 /* PINCTRL */
511 
512 &tlmm {
513         ethernet0_default: ethernet0-default-state {
514                 mdc-pins {
515                         pins = "gpio175";
516                         function = "rgmii_0";
517                         drive-strength = <16>;
518                         bias-pull-up;
519                 };
520 
521                 mdio-pins {
522                         pins = "gpio176";
523                         function = "rgmii_0";
524                         drive-strength = <16>;
525                         bias-pull-up;
526                 };
527 
528                 rgmii-tx-pins {
529                         pins = "gpio183", "gpio184", "gpio185", "gpio186", "gpio187", "gpio188";
530                         function = "rgmii_0";
531                         drive-strength = <16>;
532                         bias-pull-up;
533                 };
534 
535                 rgmii-rx-pins {
536                         pins = "gpio177", "gpio178", "gpio179", "gpio180", "gpio181", "gpio182";
537                         function = "rgmii_0";
538                         drive-strength = <16>;
539                         bias-disable;
540                 };
541         };
542 
543         ethernet1_default: ethernet1-default-state {
544                 mdc-pins {
545                         pins = "gpio97";
546                         function = "rgmii_1";
547                         drive-strength = <16>;
548                         bias-pull-up;
549                 };
550 
551                 mdio-pins {
552                         pins = "gpio98";
553                         function = "rgmii_1";
554                         drive-strength = <16>;
555                         bias-pull-up;
556                 };
557 
558                 rgmii-tx-pins {
559                         pins = "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110";
560                         function = "rgmii_1";
561                         drive-strength = <16>;
562                         bias-pull-up;
563                 };
564 
565                 rgmii-rx-pins {
566                         pins = "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104";
567                         function = "rgmii_1";
568                         drive-strength = <16>;
569                         bias-disable;
570                 };
571         };
572 
573         i2c0_default: i2c0-default-state {
574                 /* To USB7002T-I/KDXVA0 USB hub (SIP1 only) */
575                 pins = "gpio135", "gpio136";
576                 function = "qup0";
577                 drive-strength = <2>;
578                 bias-pull-up;
579         };
580 
581         i2c1_default: i2c1-default-state {
582                 /* To PM40028B-F3EI PCIe switch */
583                 pins = "gpio158", "gpio159";
584                 function = "qup1";
585                 drive-strength = <2>;
586                 bias-pull-up;
587         };
588 
589         i2c12_default: i2c12-default-state {
590                 /* To Maxim max20411 */
591                 pins = "gpio0", "gpio1";
592                 function = "qup12";
593                 drive-strength = <2>;
594                 bias-pull-up;
595         };
596 
597         i2c15_default: i2c15-default-state {
598                 /* To display connector (SIP1 only) */
599                 pins = "gpio36", "gpio37";
600                 function = "qup15";
601                 drive-strength = <2>;
602                 bias-pull-up;
603         };
604 
605         i2c18_default: i2c18-default-state {
606                 /* To ASM330LHH IMU (SIP1 only) */
607                 pins = "gpio66", "gpio67";
608                 function = "qup18";
609                 drive-strength = <2>;
610                 bias-pull-up;
611         };
612 
613         pcie2a_default: pcie2a-default-state {
614                 perst-pins {
615                         pins = "gpio143";
616                         function = "gpio";
617                         drive-strength = <2>;
618                         bias-pull-down;
619                 };
620 
621                 clkreq-pins {
622                         pins = "gpio142";
623                         function = "pcie2a_clkreq";
624                         drive-strength = <2>;
625                         bias-pull-up;
626                 };
627 
628                 wake-pins {
629                         pins = "gpio145";
630                         function = "gpio";
631                         drive-strength = <2>;
632                         bias-pull-up;
633                 };
634         };
635 
636         pcie3a_default: pcie3a-default-state {
637                 perst-pins {
638                         pins = "gpio151";
639                         function = "gpio";
640                         drive-strength = <2>;
641                         bias-pull-down;
642                 };
643 
644                 clkreq-pins {
645                         pins = "gpio150";
646                         function = "pcie3a_clkreq";
647                         drive-strength = <2>;
648                         bias-pull-up;
649                 };
650 
651                 wake-pins {
652                         pins = "gpio56";
653                         function = "gpio";
654                         drive-strength = <2>;
655                         bias-pull-up;
656                 };
657         };
658 };

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