0001 // SPDX-License-Identifier: GPL-2.0
0002 // Copyright (c) 2020 Fii USA Inc.
0003
0004 /dts-v1/;
0005 #include "nuvoton-npcm730.dtsi"
0006
0007 #include <dt-bindings/gpio/gpio.h>
0008
0009 / {
0010 model = "Fii Kudo Board";
0011 compatible = "fii,kudo", "nuvoton,npcm730";
0012
0013 aliases {
0014 ethernet1 = &gmac0;
0015 serial0 = &serial0;
0016 serial1 = &serial1;
0017 serial2 = &serial2;
0018 serial3 = &serial3;
0019 i2c1 = &i2c1;
0020 i2c2 = &i2c2;
0021 i2c3 = &i2c3;
0022 i2c4 = &i2c4;
0023 i2c5 = &i2c5;
0024 i2c6 = &i2c6;
0025 i2c7 = &i2c7;
0026 i2c8 = &i2c8;
0027 i2c9 = &i2c9;
0028 i2c10 = &i2c10;
0029 i2c11 = &i2c11;
0030 i2c12 = &i2c12;
0031 i2c13 = &i2c13;
0032 i2c14 = &i2c14;
0033 i2c15 = &i2c15;
0034 spi0 = &spi0;
0035 spi1 = &spi1;
0036 fiu0 = &fiu0;
0037 fiu1 = &fiu3;
0038 };
0039
0040 chosen {
0041 stdout-path = &serial3;
0042 };
0043
0044 memory {
0045 reg = <0 0x40000000>;
0046 };
0047
0048 iio-hwmon {
0049 compatible = "iio-hwmon";
0050 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0051 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
0052 };
0053
0054 jtag_master {
0055 compatible = "nuvoton,npcm750-jtag-master";
0056 #address-cells = <1>;
0057 #size-cells = <1>;
0058
0059 // dev/jtag0
0060 dev-num = <0>;
0061 // pspi or gpio
0062 mode = "pspi";
0063
0064 // pspi2
0065 pspi-controller = <2>;
0066 reg = <0xf0201000 0x1000>;
0067 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
0068 clocks = <&clk NPCM7XX_CLK_APB5>;
0069
0070 // TCK, TDI, TDO, TMS
0071 jtag-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>,
0072 <&gpio0 18 GPIO_ACTIVE_HIGH>,
0073 <&gpio0 17 GPIO_ACTIVE_HIGH>,
0074 <&gpio0 16 GPIO_ACTIVE_HIGH>;
0075 };
0076
0077 leds {
0078 compatible = "gpio-leds";
0079 heartbeat {
0080 label = "heartbeat";
0081 gpios = <&gpio0 14 1>;
0082 };
0083 };
0084
0085 pinctrl: pinctrl@f0800000 {
0086 gpio61oh_pins: gpio61oh-pins {
0087 pins = "GPO61/nDTR1_BOUT1/STRAP6";
0088 bias-disable;
0089 output-high;
0090 };
0091 gpio62oh_pins: gpio62oh-pins {
0092 pins = "GPO62/nRTST1/STRAP5";
0093 bias-disable;
0094 output-high;
0095 };
0096 gpio161ol_pins: gpio161ol-pins {
0097 pins = "GPIO161/nLFRAME/nESPICS";
0098 bias-disable;
0099 output-low;
0100 };
0101 gpio163i_pins: gpio163i-pins {
0102 pins = "GPIO163/LCLK/ESPICLK";
0103 bias-disable;
0104 input-enable;
0105 };
0106 gpio167ol_pins: gpio167ol-pins {
0107 pins = "GPIO167/LAD3/ESPI_IO3";
0108 bias-disable;
0109 output-low;
0110 };
0111 gpio95i_pins: gpio95i-pins {
0112 pins = "GPIO95/nLRESET/nESPIRST";
0113 bias-disable;
0114 input-enable;
0115 };
0116 gpio65ol_pins: gpio65ol-pins {
0117 pins = "GPIO65/FANIN1";
0118 bias-disable;
0119 output-low;
0120 };
0121 gpio66oh_pins: gpio66oh-pins {
0122 pins = "GPIO66/FANIN2";
0123 bias-disable;
0124 output-high;
0125 };
0126 gpio67oh_pins: gpio67oh-pins {
0127 pins = "GPIO67/FANIN3";
0128 bias-disable;
0129 output-high;
0130 };
0131 gpio68ol_pins: gpio68ol-pins {
0132 pins = "GPIO68/FANIN4";
0133 bias-disable;
0134 output-low;
0135 };
0136 gpio69i_pins: gpio69i-pins {
0137 pins = "GPIO69/FANIN5";
0138 bias-disable;
0139 input-enable;
0140 };
0141 gpio70ol_pins: gpio70ol-pins {
0142 pins = "GPIO70/FANIN6";
0143 bias-disable;
0144 output-low;
0145 };
0146 gpio71i_pins: gpio71i-pins {
0147 pins = "GPIO71/FANIN7";
0148 bias-disable;
0149 input-enable;
0150 };
0151 gpio72i_pins: gpio72i-pins {
0152 pins = "GPIO72/FANIN8";
0153 bias-disable;
0154 input-enable;
0155 };
0156 gpio73i_pins: gpio73i-pins {
0157 pins = "GPIO73/FANIN9";
0158 bias-disable;
0159 input-enable;
0160 };
0161 gpio74i_pins: gpio74i-pins {
0162 pins = "GPIO74/FANIN10";
0163 bias-disable;
0164 input-enable;
0165 };
0166 gpio75i_pins: gpio75i-pins {
0167 pins = "GPIO75/FANIN11";
0168 bias-disable;
0169 input-enable;
0170 };
0171 gpio76i_pins: gpio76i-pins {
0172 pins = "GPIO76/FANIN12";
0173 bias-disable;
0174 input-enable;
0175 };
0176 gpio77i_pins: gpio77i-pins {
0177 pins = "GPIO77/FANIN13";
0178 bias-disable;
0179 input-enable;
0180 };
0181 gpio78i_pins: gpio78i-pins {
0182 pins = "GPIO78/FANIN14";
0183 bias-disable;
0184 input-enable;
0185 };
0186 gpio79ol_pins: gpio79ol-pins {
0187 pins = "GPIO79/FANIN15";
0188 bias-disable;
0189 output-low;
0190 };
0191 gpio80oh_pins: gpio80oh-pins {
0192 pins = "GPIO80/PWM0";
0193 bias-disable;
0194 output-high;
0195 };
0196 gpio81i_pins: gpio81i-pins {
0197 pins = "GPIO81/PWM1";
0198 bias-disable;
0199 input-enable;
0200 };
0201 gpio82i_pins: gpio82i-pins {
0202 pins = "GPIO82/PWM2";
0203 bias-disable;
0204 input-enable;
0205 };
0206 gpio83i_pins: gpio83i-pins {
0207 pins = "GPIO83/PWM3";
0208 bias-disable;
0209 input-enable;
0210 };
0211 gpio144i_pins: gpio144i-pins {
0212 pins = "GPIO144/PWM4";
0213 bias-disable;
0214 input-enable;
0215 };
0216 gpio145i_pins: gpio145i-pins {
0217 pins = "GPIO145/PWM5";
0218 bias-disable;
0219 input-enable;
0220 };
0221 gpio146i_pins: gpio146i-pins {
0222 pins = "GPIO146/PWM6";
0223 bias-disable;
0224 input-enable;
0225 };
0226 gpio147oh_pins: gpio147oh-pins {
0227 pins = "GPIO147/PWM7";
0228 bias-disable;
0229 output-high;
0230 };
0231 gpio168ol_pins: gpio168ol-pins {
0232 pins = "GPIO168/nCLKRUN/nESPIALERT";
0233 bias-disable;
0234 output-low;
0235 };
0236 gpio169oh_pins: gpio169oh-pins {
0237 pins = "GPIO169/nSCIPME";
0238 bias-disable;
0239 output-high;
0240 };
0241 gpio170ol_pins: gpio170ol-pins {
0242 pins = "GPIO170/nSMI";
0243 bias-disable;
0244 output-low;
0245 };
0246 gpio218oh_pins: gpio218oh-pins {
0247 pins = "GPIO218/nWDO1";
0248 bias-disable;
0249 output-high;
0250 };
0251 gpio37i_pins: gpio37i-pins {
0252 pins = "GPIO37/SMB3CSDA";
0253 bias-disable;
0254 input-enable;
0255 };
0256 gpio38i_pins: gpio38i-pins {
0257 pins = "GPIO38/SMB3CSCL";
0258 bias-disable;
0259 input-enable;
0260 };
0261 gpio39i_pins: gpio39i-pins {
0262 pins = "GPIO39/SMB3BSDA";
0263 bias-disable;
0264 input-enable;
0265 };
0266 gpio40i_pins: gpio40i-pins {
0267 pins = "GPIO40/SMB3BSCL";
0268 bias-disable;
0269 input-enable;
0270 };
0271 gpio121i_pins: gpio121i-pins {
0272 pins = "GPIO121/SMB2CSCL";
0273 bias-disable;
0274 input-enable;
0275 };
0276 gpio122i_pins: gpio122i-pins {
0277 pins = "GPIO122/SMB2BSDA";
0278 bias-disable;
0279 input-enable;
0280 };
0281 gpio123i_pins: gpio123i-pins {
0282 pins = "GPIO123/SMB2BSCL";
0283 bias-disable;
0284 input-enable;
0285 };
0286 gpio124i_pins: gpio124i-pins {
0287 pins = "GPIO124/SMB1CSDA";
0288 bias-disable;
0289 input-enable;
0290 };
0291 gpio125i_pins: gpio125i-pins {
0292 pins = "GPIO125/SMB1CSCL";
0293 bias-disable;
0294 input-enable;
0295 };
0296 gpio126i_pins: gpio126i-pins {
0297 pins = "GPIO126/SMB1BSDA";
0298 bias-disable;
0299 input-enable;
0300 };
0301 gpio127i_pins: gpio127i-pins {
0302 pins = "GPIO127/SMB1BSCL";
0303 bias-disable;
0304 input-enable;
0305 };
0306 gpio136i_pins: gpio136i-pins {
0307 pins = "GPIO136/SD1DT0";
0308 bias-disable;
0309 input-enable;
0310 };
0311 gpio137oh_pins: gpio137oh-pins {
0312 pins = "GPIO137/SD1DT1";
0313 bias-disable;
0314 output-high;
0315 };
0316 gpio138i_pins: gpio138i-pins {
0317 pins = "GPIO138/SD1DT2";
0318 bias-disable;
0319 input-enable;
0320 };
0321 gpio139i_pins: gpio139i-pins {
0322 pins = "GPIO139/SD1DT3";
0323 bias-disable;
0324 input-enable;
0325 };
0326 gpio140i_pins: gpio140i-pins {
0327 pins = "GPIO140/SD1CLK";
0328 bias-disable;
0329 input-enable;
0330 };
0331 gpio141i_pins: gpio141i-pins {
0332 pins = "GPIO141/SD1WP";
0333 bias-disable;
0334 input-enable;
0335 };
0336 gpio190oh_pins: gpio190oh-pins {
0337 pins = "GPIO190/nPRD_SMI";
0338 bias-disable;
0339 output-high;
0340 };
0341 gpio191oh_pins: gpio191oh-pins {
0342 pins = "GPIO191";
0343 bias-disable;
0344 output-high;
0345 };
0346 gpio195ol_pins: gpio195ol-pins {
0347 pins = "GPIO195/SMB0BSDA";
0348 bias-disable;
0349 output-low;
0350 };
0351 gpio196ol_pins: gpio196ol-pins {
0352 pins = "GPIO196/SMB0CSCL";
0353 bias-disable;
0354 output-low;
0355 };
0356 gpio199i_pins: gpio199i-pins {
0357 pins = "GPIO199/SMB0DSCL";
0358 bias-disable;
0359 input-enable;
0360 };
0361 gpio202ol_pins: gpio202ol-pins {
0362 pins = "GPIO202/SMB0CSDA";
0363 bias-disable;
0364 output-low;
0365 };
0366 };
0367 };
0368
0369 &gmac0 {
0370 phy-mode = "rgmii-id";
0371 snps,eee-force-disable;
0372 status = "okay";
0373 };
0374
0375 &ehci1 {
0376 status = "okay";
0377 };
0378
0379 &fiu0 {
0380 pinctrl-names = "default";
0381 pinctrl-0 = <&spi0cs1_pins>;
0382 status = "okay";
0383 flash@0 {
0384 compatible = "jedec,spi-nor";
0385 #address-cells = <1>;
0386 #size-cells = <1>;
0387 reg = <0>;
0388 spi-max-frequency = <5000000>;
0389 spi-rx-bus-width = <2>;
0390 label = "bmc";
0391 partitions@80000000 {
0392 compatible = "fixed-partitions";
0393 #address-cells = <1>;
0394 #size-cells = <1>;
0395 u-boot@0 {
0396 label = "u-boot";
0397 reg = <0x0000000 0xC0000>;
0398 read-only;
0399 };
0400 u-boot-env@100000{
0401 label = "u-boot-env";
0402 reg = <0x00100000 0x40000>;
0403 };
0404 kernel@200000 {
0405 label = "kernel";
0406 reg = <0x0200000 0x600000>;
0407 };
0408 rofs@800000 {
0409 label = "rofs";
0410 reg = <0x800000 0x3500000>;
0411 };
0412 rwfs@3d00000 {
0413 label = "rwfs";
0414 reg = <0x3d00000 0x300000>;
0415 };
0416 };
0417 };
0418 flash@1 {
0419 compatible = "jedec,spi-nor";
0420 #address-cells = <1>;
0421 #size-cells = <1>;
0422 reg = <1>;
0423 spi-max-frequency = <5000000>;
0424 spi-rx-bus-width = <2>;
0425 partitions@88000000 {
0426 compatible = "fixed-partitions";
0427 #address-cells = <1>;
0428 #size-cells = <1>;
0429 spare1@0 {
0430 label = "spi0-cs1-spare1";
0431 reg = <0x0 0x800000>;
0432 };
0433 spare2@800000 {
0434 label = "spi0-cs1-spare2";
0435 reg = <0x800000 0x0>;
0436 };
0437 };
0438 };
0439 };
0440
0441 &fiu3 {
0442 pinctrl-0 = <&spi3_pins>;
0443 flash@0 {
0444 compatible = "jedec,spi-nor";
0445 #address-cells = <1>;
0446 #size-cells = <1>;
0447 reg = <0>;
0448 spi-max-frequency = <5000000>;
0449 spi-rx-bus-width = <2>;
0450 partitions@A0000000 {
0451 compatible = "fixed-partitions";
0452 #address-cells = <1>;
0453 #size-cells = <1>;
0454 system1@0 {
0455 label = "bios";
0456 reg = <0x0 0x0>;
0457 };
0458 system2@800000 {
0459 label = "spi3-system2";
0460 reg = <0x800000 0x0>;
0461 };
0462 };
0463 };
0464 };
0465
0466 &watchdog1 {
0467 status = "okay";
0468 };
0469
0470 &rng {
0471 status = "okay";
0472 };
0473
0474 &serial0 {
0475 status = "okay";
0476 };
0477
0478 &serial1 {
0479 status = "okay";
0480 };
0481
0482 &serial2 {
0483 status = "okay";
0484 };
0485
0486 &serial3 {
0487 status = "okay";
0488 };
0489
0490 &adc {
0491 #io-channel-cells = <1>;
0492 status = "okay";
0493 };
0494
0495 &i2c1 {
0496 status = "okay";
0497 i2c-switch@75 {
0498 compatible = "nxp,pca9548";
0499 #address-cells = <1>;
0500 #size-cells = <0>;
0501 reg = <0x75>;
0502 i2c-mux-idle-disconnect;
0503
0504 i2c@2 {
0505 #address-cells = <1>;
0506 #size-cells = <0>;
0507 reg = <2>;
0508
0509 // Rear-Fan
0510 max31790@58 {
0511 compatible = "maxim,max31790";
0512 reg = <0x58>;
0513 };
0514 };
0515
0516 i2c@3 {
0517 #address-cells = <1>;
0518 #size-cells = <0>;
0519 reg = <3>;
0520
0521 // Mid-Fan
0522 max31790@58 {
0523 compatible = "maxim,max31790";
0524 reg = <0x58>;
0525 };
0526 };
0527
0528 i2c-bus@4 {
0529 #address-cells = <1>;
0530 #size-cells = <0>;
0531 reg = <4>;
0532
0533 // INLET1_T
0534 lm75@5c {
0535 compatible = "ti,lm75";
0536 reg = <0x5c>;
0537 };
0538 };
0539
0540 i2c-bus@5 {
0541 #address-cells = <1>;
0542 #size-cells = <0>;
0543 reg = <5>;
0544
0545 // OUTLET1_T
0546 lm75@5c {
0547 compatible = "ti,lm75";
0548 reg = <0x5c>;
0549 };
0550 };
0551
0552 i2c-bus@6 {
0553 #address-cells = <1>;
0554 #size-cells = <0>;
0555 reg = <6>;
0556
0557 // OUTLET2_T
0558 lm75@5c {
0559 compatible = "ti,lm75";
0560 reg = <0x5c>;
0561 };
0562 };
0563
0564 i2c-bus@7 {
0565 #address-cells = <1>;
0566 #size-cells = <0>;
0567 reg = <7>;
0568
0569 // OUTLET3_T
0570 lm75@5c {
0571 compatible = "ti,lm75";
0572 reg = <0x5c>;
0573 };
0574 };
0575 };
0576 i2c-switch@77 {
0577 compatible = "nxp,pca9548";
0578 #address-cells = <1>;
0579 #size-cells = <0>;
0580 reg = <0x77>;
0581 i2c-mux-idle-disconnect;
0582
0583 i2c-bus@2 {
0584 #address-cells = <1>;
0585 #size-cells = <0>;
0586 reg = <2>;
0587
0588 // STB-T
0589 pmbus@74 {
0590 compatible = "pmbus";
0591 reg = <0x74>;
0592 };
0593 };
0594 };
0595 };
0596
0597 &i2c2 {
0598 status = "okay";
0599 smpro@4f {
0600 compatible = "ampere,smpro";
0601 reg = <0x4f>;
0602 };
0603
0604 smpro@4e {
0605 compatible = "ampere,smpro";
0606 reg = <0x4e>;
0607 };
0608 };
0609
0610 &i2c3 {
0611 status = "okay";
0612 };
0613
0614 &i2c4 {
0615 status = "okay";
0616 i2c-switch@77 {
0617 compatible = "nxp,pca9548";
0618 #address-cells = <1>;
0619 #size-cells = <0>;
0620 reg = <0x77>;
0621 i2c-mux-idle-disconnect;
0622
0623 i2c-bus@0 {
0624 #address-cells = <1>;
0625 #size-cells = <0>;
0626 reg = <0>;
0627
0628 // ADC sensors
0629 adm1266@40 {
0630 compatible = "adi,adm1266";
0631 reg = <0x40>;
0632 };
0633 };
0634
0635 i2c-bus@1 {
0636 #address-cells = <1>;
0637 #size-cells = <0>;
0638 reg = <1>;
0639
0640 // ADC sensors
0641 adm1266@41 {
0642 compatible = "adi,adm1266";
0643 reg = <0x41>;
0644 };
0645 };
0646 };
0647 };
0648
0649 &i2c5 {
0650 status = "okay";
0651 };
0652
0653 &i2c6 {
0654 status = "okay";
0655 };
0656
0657 &i2c7 {
0658 status = "okay";
0659 };
0660
0661 &i2c8 {
0662 status = "okay";
0663 };
0664
0665 &i2c9 {
0666 status = "okay";
0667 };
0668
0669 &i2c10 {
0670 status = "okay";
0671 };
0672
0673 &i2c11 {
0674 status = "okay";
0675 };
0676
0677 &i2c12 {
0678 status = "okay";
0679 ssif-bmc@10 {
0680 compatible = "ssif-bmc";
0681 reg = <0x10>;
0682 };
0683 };
0684
0685 &i2c13 {
0686 status = "okay";
0687 i2c-switch@77 {
0688 compatible = "nxp,pca9548";
0689 #address-cells = <1>;
0690 #size-cells = <0>;
0691 reg = <0x77>;
0692 i2c-mux-idle-disconnect;
0693
0694 i2c-bus@3 {
0695 #address-cells = <1>;
0696 #size-cells = <0>;
0697 reg = <3>;
0698
0699 // M2_ZONE_T
0700 lm75@28 {
0701 compatible = "ti,lm75";
0702 reg = <0x28>;
0703 };
0704 };
0705
0706 i2c-bus@4 {
0707 #address-cells = <1>;
0708 #size-cells = <0>;
0709 reg = <4>;
0710
0711 // BATT_ZONE_T
0712 lm75@29 {
0713 compatible = "ti,lm75";
0714 reg = <0x29>;
0715 };
0716 };
0717
0718 i2c-bus@5 {
0719 #address-cells = <1>;
0720 #size-cells = <0>;
0721 reg = <5>;
0722
0723 // NBM1_ZONE_T
0724 lm75@28 {
0725 compatible = "ti,lm75";
0726 reg = <0x28>;
0727 };
0728 };
0729 i2c-bus@6 {
0730 #address-cells = <1>;
0731 #size-cells = <0>;
0732 reg = <6>;
0733
0734 // NBM2_ZONE_T
0735 lm75@29 {
0736 compatible = "ti,lm75";
0737 reg = <0x29>;
0738 };
0739 };
0740 };
0741 };
0742
0743 &i2c14 {
0744 status = "okay";
0745 };
0746
0747 &i2c15 {
0748 status = "okay";
0749 };
0750
0751 &spi0 {
0752 cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
0753 status = "okay";
0754 };
0755
0756 &pinctrl {
0757 pinctrl-names = "default";
0758 pinctrl-0 = <
0759 &gpio61oh_pins
0760 &gpio62oh_pins
0761 &gpio161ol_pins
0762 &gpio163i_pins
0763 &gpio167ol_pins
0764 &gpio95i_pins
0765 &gpio65ol_pins
0766 &gpio66oh_pins
0767 &gpio67oh_pins
0768 &gpio68ol_pins
0769 &gpio69i_pins
0770 &gpio70ol_pins
0771 &gpio71i_pins
0772 &gpio72i_pins
0773 &gpio73i_pins
0774 &gpio74i_pins
0775 &gpio75i_pins
0776 &gpio76i_pins
0777 &gpio77i_pins
0778 &gpio78i_pins
0779 &gpio79ol_pins
0780 &gpio80oh_pins
0781 &gpio81i_pins
0782 &gpio82i_pins
0783 &gpio83i_pins
0784 &gpio144i_pins
0785 &gpio145i_pins
0786 &gpio146i_pins
0787 &gpio147oh_pins
0788 &gpio168ol_pins
0789 &gpio169oh_pins
0790 &gpio170ol_pins
0791 &gpio218oh_pins
0792 &gpio37i_pins
0793 &gpio38i_pins
0794 &gpio39i_pins
0795 &gpio40i_pins
0796 &gpio121i_pins
0797 &gpio122i_pins
0798 &gpio123i_pins
0799 &gpio124i_pins
0800 &gpio125i_pins
0801 &gpio126i_pins
0802 &gpio127i_pins
0803 &gpio136i_pins
0804 &gpio137oh_pins
0805 &gpio138i_pins
0806 &gpio139i_pins
0807 &gpio140i_pins
0808 &gpio141i_pins
0809 &gpio190oh_pins
0810 &gpio191oh_pins
0811 &gpio195ol_pins
0812 &gpio196ol_pins
0813 &gpio199i_pins
0814 &gpio202ol_pins
0815 >;
0816 };
0817
0818 &gcr {
0819 serial_port_mux: mux-controller {
0820 compatible = "mmio-mux";
0821 #mux-control-cells = <1>;
0822
0823 mux-reg-masks = <0x38 0x07>;
0824 idle-states = <2>;
0825 };
0826 };