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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io>
  4  */
  5 
  6 /*
  7  * The Kobol Helios64 is a board designed to operate as a NAS and optionally
  8  * ships with an enclosing that can host five 2.5" hard disks.
  9  *
 10  * See https://wiki.kobol.io/helios64/intro/ for further details.
 11  */
 12 
 13 /dts-v1/;
 14 #include "rk3399.dtsi"
 15 
 16 / {
 17         model = "Kobol Helios64";
 18         compatible = "kobol,helios64", "rockchip,rk3399";
 19 
 20         aliases {
 21                 ethernet0 = &gmac;
 22                 mmc0 = &sdmmc;
 23                 mmc1 = &sdhci;
 24         };
 25 
 26         avdd_0v9_s0: avdd-0v9-s0 {
 27                 compatible = "regulator-fixed";
 28                 regulator-name = "avdd_0v9_s0";
 29                 regulator-always-on;
 30                 regulator-boot-on;
 31                 regulator-min-microvolt = <900000>;
 32                 regulator-max-microvolt = <900000>;
 33                 vin-supply = <&vcc1v8_sys_s3>;
 34         };
 35 
 36         avdd_1v8_s0: avdd-1v8-s0 {
 37                 compatible = "regulator-fixed";
 38                 regulator-name = "avdd_1v8_s0";
 39                 regulator-always-on;
 40                 regulator-boot-on;
 41                 regulator-min-microvolt = <1800000>;
 42                 regulator-max-microvolt = <1800000>;
 43                 vin-supply = <&vcc3v3_sys_s3>;
 44         };
 45 
 46         chosen {
 47                 stdout-path = "serial2:1500000n8";
 48         };
 49 
 50         clkin_gmac: external-gmac-clock {
 51                 compatible = "fixed-clock";
 52                 clock-frequency = <125000000>;
 53                 clock-output-names = "clkin_gmac";
 54                 #clock-cells = <0>;
 55         };
 56 
 57         fan1 {
 58                 /* fan connected to P7 */
 59                 compatible = "pwm-fan";
 60                 pwms = <&pwm0 0 40000 0>;
 61                 cooling-levels = <0 80 170 255>;
 62         };
 63 
 64         fan2 {
 65                 /* fan connected to P6 */
 66                 compatible = "pwm-fan";
 67                 pwms = <&pwm1 0 40000 0>;
 68                 cooling-levels = <0 80 170 255>;
 69         };
 70 
 71         leds {
 72                 compatible = "gpio-leds";
 73                 pinctrl-names = "default";
 74                 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
 75 
 76                 led-0 {
 77                         label = "helios64:green:status";
 78                         gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
 79                         default-state = "on";
 80                 };
 81 
 82                 led-1 {
 83                         label = "helios64:red:fault";
 84                         gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
 85                         default-state = "keep";
 86                 };
 87         };
 88 
 89         hdd_a_power: hdd-a-power {
 90                 compatible = "regulator-fixed";
 91                 enable-active-high;
 92                 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
 93                 pinctrl-0 = <&hdd_a_power_en>;
 94                 pinctrl-names = "default";
 95                 regulator-always-on;
 96                 regulator-boot-on;
 97                 regulator-name = "hdd_a_power";
 98                 startup-delay-us = <2000000>;
 99         };
100 
101         hdd_b_power: hdd-b-power {
102                 compatible = "regulator-fixed";
103                 enable-active-high;
104                 gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
105                 pinctrl-0 = <&hdd_b_power_en>;
106                 pinctrl-names = "default";
107                 regulator-always-on;
108                 regulator-boot-on;
109                 regulator-name = "hdd_b_power";
110                 startup-delay-us = <2000000>;
111         };
112 
113         pcie_power: pcie-power {
114                 compatible = "regulator-fixed";
115                 enable-active-high;
116                 gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
117                 pinctrl-0 = <&pcie_pwr>;
118                 pinctrl-names = "default";
119                 regulator-boot-on;
120                 regulator-name = "pcie_power";
121                 startup-delay-us = <10000>;
122                 vin-supply = <&vcc5v0_perdev>;
123         };
124 
125         usblan_power: usblan-power {
126                 compatible = "regulator-fixed";
127                 enable-active-high;
128                 gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
129                 pinctrl-names = "default";
130                 pinctrl-0 = <&usb_lan_en>;
131                 regulator-name = "usblan_power";
132                 regulator-always-on;
133                 regulator-boot-on;
134                 vin-supply = <&vcc5v0_usb>;
135         };
136 
137         vcc1v8_sys_s0: vcc1v8-sys-s0 {
138                 compatible = "regulator-fixed";
139                 regulator-name = "vcc1v8_sys_s0";
140                 regulator-always-on;
141                 regulator-boot-on;
142                 regulator-min-microvolt = <1800000>;
143                 regulator-max-microvolt = <1800000>;
144                 vin-supply = <&vcc1v8_sys_s3>;
145         };
146 
147         vcc3v0_sd: vcc3v0-sd {
148                 compatible = "regulator-fixed";
149                 enable-active-high;
150                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
151                 regulator-name = "vcc3v0_sd";
152                 regulator-boot-on;
153                 regulator-min-microvolt = <3000000>;
154                 regulator-max-microvolt = <3000000>;
155                 pinctrl-names = "default";
156                 pinctrl-0 = <&sdmmc0_pwr_h>;
157                 vin-supply = <&vcc3v3_sys_s3>;
158         };
159 
160         vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
161                 compatible = "regulator-fixed";
162                 regulator-name = "vcc3v3_sys_s3";
163                 regulator-always-on;
164                 regulator-boot-on;
165                 regulator-min-microvolt = <3300000>;
166                 regulator-max-microvolt = <3300000>;
167                 vin-supply = <&vcc5v0_sys>;
168 
169                 regulator-state-mem {
170                         regulator-on-in-suspend;
171                 };
172         };
173 
174         vcc5v0_perdev: vcc5v0-perdev {
175                 compatible = "regulator-fixed";
176                 regulator-name = "vcc5v0_perdev";
177                 regulator-always-on;
178                 regulator-boot-on;
179                 regulator-min-microvolt = <5000000>;
180                 regulator-max-microvolt = <5000000>;
181                 vin-supply = <&vcc12v_dcin_bkup>;
182         };
183 
184         vcc5v0_sys: vcc5v0-sys {
185                 compatible = "regulator-fixed";
186                 regulator-name = "vcc5v0_sys";
187                 regulator-always-on;
188                 regulator-boot-on;
189                 regulator-min-microvolt = <5000000>;
190                 regulator-max-microvolt = <5000000>;
191                 vin-supply = <&vcc12v_dcin_bkup>;
192 
193                 regulator-state-mem {
194                         regulator-on-in-suspend;
195                 };
196         };
197 
198         vcc5v0_usb: vcc5v0-usb {
199                 compatible = "regulator-fixed";
200                 enable-active-high;
201                 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
202                 pinctrl-names = "default";
203                 pinctrl-0 = <&vcc5v0_usb_en>;
204                 regulator-name = "vcc5v0_usb";
205                 regulator-always-on;
206                 regulator-boot-on;
207                 regulator-min-microvolt = <5000000>;
208                 regulator-max-microvolt = <5000000>;
209                 vin-supply = <&vcc5v0_perdev>;
210         };
211 
212         vcc12v_dcin: vcc12v-dcin {
213                 compatible = "regulator-fixed";
214                 regulator-name = "vcc12v_dcin";
215                 regulator-always-on;
216                 regulator-boot-on;
217                 regulator-min-microvolt = <12000000>;
218                 regulator-max-microvolt = <12000000>;
219         };
220 
221         vcc12v_dcin_bkup: vcc12v-dcin-bkup {
222                 compatible = "regulator-fixed";
223                 regulator-name = "vcc12v_dcin_bkup";
224                 regulator-always-on;
225                 regulator-boot-on;
226                 regulator-min-microvolt = <12000000>;
227                 regulator-max-microvolt = <12000000>;
228                 vin-supply = <&vcc12v_dcin>;
229         };
230 };
231 
232 /*
233  * The system doesn't run stable with cpu freq enabled, so disallow the lower
234  * frequencies until this problem is properly understood and resolved.
235  */
236 &cluster0_opp {
237         /delete-node/ opp00;
238         /delete-node/ opp01;
239         /delete-node/ opp02;
240         /delete-node/ opp03;
241         /delete-node/ opp04;
242 };
243 
244 &cluster1_opp {
245         /delete-node/ opp00;
246         /delete-node/ opp01;
247         /delete-node/ opp02;
248         /delete-node/ opp03;
249         /delete-node/ opp04;
250         /delete-node/ opp05;
251         /delete-node/ opp06;
252 };
253 
254 &cpu_b0 {
255         cpu-supply = <&vdd_cpu_b>;
256 };
257 
258 &cpu_b1 {
259         cpu-supply = <&vdd_cpu_b>;
260 };
261 
262 &cpu_l0 {
263         cpu-supply = <&vdd_cpu_l>;
264 };
265 
266 &cpu_l1 {
267         cpu-supply = <&vdd_cpu_l>;
268 };
269 
270 &cpu_l2 {
271         cpu-supply = <&vdd_cpu_l>;
272 };
273 
274 &cpu_l3 {
275         cpu-supply = <&vdd_cpu_l>;
276 };
277 
278 &emmc_phy {
279         status = "okay";
280 };
281 
282 &gmac {
283         assigned-clock-parents = <&clkin_gmac>;
284         assigned-clocks = <&cru SCLK_RMII_SRC>;
285         clock_in_out = "input";
286         phy-mode = "rgmii";
287         phy-supply = <&vcc_lan>;
288         pinctrl-names = "default";
289         pinctrl-0 = <&rgmii_pins &gphy_reset>;
290         rx_delay = <0x20>;
291         tx_delay = <0x28>;
292         snps,reset-active-low;
293         snps,reset-delays-us = <0 10000 50000>;
294         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
295         status = "okay";
296 };
297 
298 &i2c0 {
299         clock-frequency = <400000>;
300         i2c-scl-rising-time-ns = <168>;
301         i2c-scl-falling-time-ns = <4>;
302         status = "okay";
303 
304         rk808: pmic@1b {
305                 compatible = "rockchip,rk808";
306                 reg = <0x1b>;
307                 interrupt-parent = <&gpio0>;
308                 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
309                 clock-output-names = "xin32k", "rk808-clkout2";
310                 pinctrl-names = "default";
311                 pinctrl-0 = <&pmic_int_l>;
312                 rockchip,system-power-controller;
313                 vcc1-supply = <&vcc5v0_sys>;
314                 vcc2-supply = <&vcc5v0_sys>;
315                 vcc3-supply = <&vcc5v0_sys>;
316                 vcc4-supply = <&vcc5v0_sys>;
317                 vcc6-supply = <&vcc5v0_sys>;
318                 vcc7-supply = <&vcc5v0_sys>;
319                 vcc8-supply = <&vcc3v3_sys_s3>;
320                 vcc9-supply = <&vcc5v0_sys>;
321                 vcc10-supply = <&vcc5v0_sys>;
322                 vcc11-supply = <&vcc5v0_sys>;
323                 vcc12-supply = <&vcc3v3_sys_s3>;
324                 vddio-supply = <&vcc3v0_s3>;
325                 wakeup-source;
326                 #clock-cells = <1>;
327 
328                 regulators {
329                         vdd_cpu_l: DCDC_REG2 {
330                                 regulator-name = "vdd_cpu_l";
331                                 regulator-always-on;
332                                 regulator-boot-on;
333                                 regulator-min-microvolt = <750000>;
334                                 regulator-max-microvolt = <1350000>;
335                                 regulator-ramp-delay = <6001>;
336 
337                                 regulator-state-mem {
338                                         regulator-off-in-suspend;
339                                 };
340                         };
341 
342                         vcc1v8_sys_s3: DCDC_REG4 {
343                                 regulator-name = "vcc1v8_sys_s3";
344                                 regulator-always-on;
345                                 regulator-boot-on;
346                                 regulator-min-microvolt = <1800000>;
347                                 regulator-max-microvolt = <1800000>;
348 
349                                 regulator-state-mem {
350                                         regulator-on-in-suspend;
351                                         regulator-suspend-microvolt = <1800000>;
352                                 };
353                         };
354 
355                         vcc_sdio_s0: LDO_REG4 {
356                                 regulator-name = "vcc_sdio_s0";
357                                 regulator-always-on;
358                                 regulator-boot-on;
359                                 regulator-min-microvolt = <1800000>;
360                                 regulator-max-microvolt = <3000000>;
361 
362                                 regulator-state-mem {
363                                         regulator-on-in-suspend;
364                                         regulator-suspend-microvolt = <3000000>;
365                                 };
366                         };
367 
368                         vcc3v0_s3: LDO_REG8 {
369                                 regulator-name = "vcc3v0_s3";
370                                 regulator-always-on;
371                                 regulator-boot-on;
372                                 regulator-min-microvolt = <3000000>;
373                                 regulator-max-microvolt = <3000000>;
374 
375                                 regulator-state-mem {
376                                         regulator-on-in-suspend;
377                                         regulator-suspend-microvolt = <3000000>;
378                                 };
379                         };
380                 };
381         };
382 
383         vdd_cpu_b: regulator@40 {
384                 compatible = "silergy,syr827";
385                 reg = <0x40>;
386                 fcs,suspend-voltage-selector = <1>;
387                 regulator-name = "vdd_cpu_b";
388                 regulator-always-on;
389                 regulator-boot-on;
390                 regulator-min-microvolt = <712500>;
391                 regulator-max-microvolt = <1500000>;
392                 regulator-ramp-delay = <1000>;
393                 vin-supply = <&vcc5v0_sys>;
394 
395                 regulator-state-mem {
396                         regulator-off-in-suspend;
397                 };
398         };
399 };
400 
401 &i2c2 {
402         clock-frequency = <400000>;
403         i2c-scl-rising-time-ns = <160>;
404         i2c-scl-falling-time-ns = <30>;
405         status = "okay";
406 
407         temp@4c {
408                 compatible = "national,lm75";
409                 reg = <0x4c>;
410         };
411 };
412 
413 &io_domains {
414         audio-supply = <&vcc1v8_sys_s0>;
415         bt656-supply = <&vcc1v8_sys_s0>;
416         gpio1830-supply = <&vcc3v0_s3>;
417         sdmmc-supply = <&vcc_sdio_s0>;
418         status = "okay";
419 };
420 
421 &pcie_phy {
422         status = "okay";
423 };
424 
425 &pcie0 {
426         ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
427         max-link-speed = <2>;
428         num-lanes = <2>;
429         pinctrl-names = "default";
430         status = "okay";
431 
432         vpcie12v-supply = <&vcc12v_dcin>;
433         vpcie3v3-supply = <&pcie_power>;
434         vpcie1v8-supply = <&avdd_1v8_s0>;
435         vpcie0v9-supply = <&avdd_0v9_s0>;
436 };
437 
438 &pinctrl {
439         gmac {
440                 gphy_reset: gphy-reset {
441                         rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
442                 };
443         };
444 
445         leds {
446                 sys_grn_led_on: sys-grn-led-on {
447                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
448                 };
449 
450                 sys_red_led_on: sys-red-led-on {
451                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
452                 };
453         };
454 
455         pcie {
456                 pcie_pwr: pcie-pwr {
457                         rockchip,pins =
458                                 <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
459                 };
460         };
461 
462         pmic {
463                 pmic_int_l: pmic-int-l {
464                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
465                 };
466         };
467 
468         power {
469                 hdd_a_power_en: hdd-a-power-en {
470                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
471                 };
472 
473                 hdd_b_power_en: hdd-b-power-en {
474                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
475                 };
476 
477                 vcc5v0_usb_en: vcc5v0-usb-en {
478                         rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
479                 };
480 
481                 usb_lan_en: usb-lan-en {
482                         rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
483                 };
484         };
485 
486         vcc3v0-sd {
487                 sdmmc0_pwr_h: sdmmc0-pwr-h {
488                         rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
489                 };
490         };
491 };
492 
493 &pmu_io_domains {
494         pmu1830-supply = <&vcc3v0_s3>;
495         status = "okay";
496 };
497 
498 &pwm0 {
499         /* pwm-fan on P7 */
500         status = "okay";
501 };
502 
503 &pwm1 {
504         /* pwm-fan on P6 */
505         status = "okay";
506 };
507 
508 &sdhci {
509         bus-width = <8>;
510         mmc-hs200-1_8v;
511         non-removable;
512         vqmmc-supply = <&vcc1v8_sys_s0>;
513         status = "okay";
514 };
515 
516 &sdmmc {
517         bus-width = <4>;
518         cap-sd-highspeed;
519         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
520         disable-wp;
521         pinctrl-names = "default";
522         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
523         vmmc-supply = <&vcc3v0_sd>;
524         vqmmc-supply = <&vcc_sdio_s0>;
525         status = "okay";
526 };
527 
528 &spi1 {
529         status = "okay";
530 
531         spiflash: flash@0 {
532                 compatible = "jedec,spi-nor";
533                 reg = <0x0>;
534                 spi-max-frequency = <25000000>;
535                 status = "okay";
536                 m25p,fast-read;
537         };
538 };
539 
540 /* UEXT connector */
541 &spi2 {
542         status = "okay";
543 };
544 
545 &spi5 {
546         status = "okay";
547 };
548 
549 &tcphy1 {
550         /* phy for &usbdrd_dwc3_1 */
551         status = "okay";
552 };
553 
554 &tsadc {
555         /* tshut mode 0:CRU 1:GPIO */
556         rockchip,hw-tshut-mode = <1>;
557         /* tshut polarity 0:LOW 1:HIGH */
558         rockchip,hw-tshut-polarity = <1>;
559         status = "okay";
560 };
561 
562 &u2phy1 {
563         status = "okay";
564 
565         otg-port {
566                 /* phy for &usbdrd_dwc3_1 */
567                 phy-supply = <&vcc5v0_usb>;
568                 status = "okay";
569         };
570 };
571 
572 &uart2 {
573         status = "okay";
574 };
575 
576 &usbdrd3_1 {
577         status = "okay";
578 
579         usb@fe900000 {
580                 dr_mode = "host";
581                 status = "okay";
582                 #address-cells = <1>;
583                 #size-cells = <0>;
584 
585                 hub@1 {
586                         compatible = "usb2109,0815";
587                         reg = <1>;
588                         #address-cells = <1>;
589                         #size-cells = <0>;
590 
591                         port@1 {
592                                 reg = <1>;
593                                 #trigger-source-cells = <0>;
594                         };
595 
596                         port@2 {
597                                 reg = <2>;
598                                 #trigger-source-cells = <0>;
599                         };
600 
601                         port@3 {
602                                 reg = <3>;
603                                 #trigger-source-cells = <0>;
604                         };
605 
606                         device@4 {
607                                 compatible = "usbbda,8156";
608                                 reg = <4>;
609                                 #address-cells = <2>;
610                                 #size-cells = <0>;
611 
612                                 interface@0 {   /* interface 0 of configuration 1 */
613                                         compatible = "usbifbda,8156.config1.0";
614                                         reg = <0 1>;
615                                 };
616                         };
617                 };
618         };
619 };

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