Resguardo inicial

This commit is contained in:
lastdragon
2026-09-06 12:53:21 -06:00
parent 662efe3c2a
commit ad2088d178
94853 changed files with 43200404 additions and 0 deletions
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_NPCM7XX) += \
nuvoton-npcm730-gsj.dtb \
nuvoton-npcm730-gbs.dtb \
nuvoton-npcm730-kudo.dtb \
nuvoton-npcm750-evb.dtb \
nuvoton-npcm750-runbmc-olympus.dtb
dtb-$(CONFIG_ARCH_WPCM450) += \
nuvoton-wpcm450-supermicro-x9sci-ln4f.dtb
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,477 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
/ {
pinctrl: pinctrl@f0800000 {
gpio0pp_pins: gpio0pp-pins {
pins = "GPIO0/IOX1DI";
bias-disable;
drive-push-pull;
};
gpio1pp_pins: gpio1pp-pins {
pins = "GPIO1/IOX1LD";
bias-disable;
drive-push-pull;
};
gpio2pp_pins: gpio2pp-pins {
pins = "GPIO2/IOX1CK";
bias-disable;
drive-push-pull;
};
gpio3pp_pins: gpio3pp-pins {
pins = "GPIO3/IOX1D0";
bias-disable;
drive-push-pull;
};
gpio4pp_pins: gpio4pp-pins {
pins = "GPIO4/IOX2DI/SMB1DSDA";
bias-disable;
drive-push-pull;
};
gpio5pp_pins: gpio5pp-pins {
pins = "GPIO5/IOX2LD/SMB1DSCL";
bias-disable;
drive-push-pull;
};
gpio6pp_pins: gpio6pp-pins {
pins = "GPIO6/IOX2CK/SMB2DSDA";
bias-disable;
drive-push-pull;
};
gpio7pp_pins: gpio7pp-pins {
pins = "GPIO7/IOX2D0/SMB2DSCL";
bias-disable;
drive-push-pull;
};
gpio8_pins: gpio8-pins {
pins = "GPIO8/LKGPO1";
bias-disable;
input-enable;
};
gpio9_pins: gpio9-pins {
pins = "GPIO9/LKGPO2";
bias-disable;
input-enable;
};
gpio10pp_pins: gpio10pp-pins {
pins = "GPIO10/IOXHLD";
bias-disable;
drive-push-pull;
};
gpio11pp_pins: gpio11pp-pins {
pins = "GPIO11/IOXHCK";
bias-disable;
drive-push-pull;
};
gpio12_pins: gpio12-pins {
pins = "GPIO12/GSPICK/SMB5BSCL";
bias-disable;
input-enable;
};
gpio13_pins: gpio13-pins {
pins = "GPIO13/GSPIDO/SMB5BSDA";
bias-disable;
input-enable;
};
gpio14_pins: gpio14-pins {
pins = "GPIO14/GSPIDI/SMB5CSCL";
bias-disable;
input-enable;
};
gpio15od_pins: gpio15od-pins {
pins = "GPIO15/GSPICS/SMB5CSDA";
bias-disable;
drive-open-drain;
};
gpio17pp_pins: gpio17pp-pins {
pins = "GPIO17/PSPI2DI/SMB4DEN";
bias-disable;
drive-push-pull;
};
gpio18pp_pins: gpio18pp-pins {
pins = "GPIO18/PSPI2D0/SMB4BSDA";
bias-disable;
drive-push-pull;
};
gpio19pp_pins: gpio19pp-pins {
pins = "GPIO19/PSPI2CK/SMB4BSCL";
bias-disable;
drive-push-pull;
};
gpio24pp_pins: gpio24pp-pins {
pins = "GPIO24/IOXHDO";
bias-disable;
drive-push-pull;
};
gpio25pp_pins: gpio25pp-pins {
pins = "GPIO25/IOXHDI";
bias-disable;
drive-push-pull;
};
gpio37od_pins: gpio37od-pins {
pins = "GPIO37/SMB3CSDA";
bias-disable;
drive-open-drain;
};
gpio59pp_pins: gpio59pp-pins {
pins = "GPIO59/SMB3DSDA";
bias-disable;
drive-push-pull;
};
gpio60_pins: gpio60-pins {
pins = "GPIO60/SMB3DSCL";
bias-disable;
input-enable;
};
gpio72od_pins: gpio72od-pins {
pins = "GPIO72/FANIN8";
bias-disable;
drive-open-drain;
};
gpio73od_pins: gpio73od-pins {
pins = "GPIO73/FANIN9";
bias-disable;
drive-open-drain;
};
gpio74od_pins: gpio74od-pins {
pins = "GPIO74/FANIN10";
bias-disable;
drive-open-drain;
};
gpio75od_pins: gpio75od-pins {
pins = "GPIO75/FANIN11";
bias-disable;
drive-open-drain;
};
gpio76od_pins: gpio76od-pins {
pins = "GPIO76/FANIN12";
bias-disable;
drive-open-drain;
};
gpio77od_pins: gpio77od-pins {
pins = "GPIO77/FANIN13";
bias-disable;
drive-open-drain;
};
gpio78od_pins: gpio78od-pins {
pins = "GPIO78/FANIN14";
bias-disable;
drive-open-drain;
};
gpio79od_pins: gpio79od-pins {
pins = "GPIO79/FANIN15";
bias-disable;
drive-open-drain;
};
gpio83_pins: gpio83-pins {
pins = "GPIO83/PWM3";
bias-disable;
input-enable;
};
gpio84pp_pins: gpio84pp-pins {
pins = "GPIO84/R2TXD0";
bias-disable;
drive-push-pull;
};
gpio85pp_pins: gpio85pp-pins {
pins = "GPIO85/R2TXD1";
bias-disable;
drive-push-pull;
};
gpio86pp_pins: gpio86pp-pins {
pins = "GPIO86/R2TXEN";
bias-disable;
drive-push-pull;
};
gpio87pp_pins: gpio87pp-pins {
pins = "GPIO87/R2RXD0";
bias-disable;
drive-push-pull;
};
gpio88pp_pins: gpio88pp-pins {
pins = "GPIO88/R2RXD1";
bias-disable;
drive-push-pull;
};
gpio89pp_pins: gpio89pp-pins {
pins = "GPIO89/R2CRSDV";
bias-disable;
drive-push-pull;
};
gpio90pp_pins: gpio90pp-pins {
pins = "GPIO90/R2RXERR";
bias-disable;
drive-push-pull;
};
gpio91_pins: gpio91-pins {
pins = "GPIO91/R2MDC";
bias-disable;
input-enable;
};
gpio92_pins: gpio92-pins {
pins = "GPIO92/R2MDIO";
bias-disable;
input-enable;
};
gpio93pp_pins: gpio93pp-pins {
pins = "GPIO93/GA20/SMB5DSCL";
bias-disable;
drive-push-pull;
};
gpio94pp_pins: gpio94pp-pins {
pins = "GPIO94/nKBRST/SMB5DSDA";
bias-disable;
drive-push-pull;
};
gpio95_pins: gpio95-pins {
pins = "GPIO95/nLRESET/nESPIRST";
bias-disable;
input-enable;
};
gpio125pp_pins: gpio125pp-pins {
pins = "GPIO125/SMB1CSCL";
bias-disable;
drive-push-pull;
};
gpio126od_pins: gpio126od-pins {
pins = "GPIO126/SMB1BSDA";
bias-disable;
drive-open-drain;
};
gpio127od_pins: gpio127od-pins {
pins = "GPIO127/SMB1BSCL";
bias-disable;
drive-open-drain;
};
gpio136_pins: gpio136-pins {
pins = "GPIO136/SD1DT0";
bias-disable;
input-enable;
};
gpio137_pins: gpio137-pins {
pins = "GPIO137/SD1DT1";
bias-disable;
input-enable;
};
gpio141_pins: gpio141-pins {
pins = "GPIO141/SD1WP";
bias-disable;
input-enable;
};
gpio142od_pins: gpio142od-pins {
pins = "GPIO142/SD1CMD";
bias-disable;
drive-open-drain;
};
gpio143ol_pins: gpio143ol-pins {
pins = "GPIO143/SD1CD/SD1PWR";
bias-disable;
output-low;
};
gpio144_pins: gpio144-pins {
pins = "GPIO144/PWM4";
bias-disable;
input-enable;
};
gpio145_pins: gpio145-pins {
pins = "GPIO145/PWM5";
bias-disable;
input-enable;
};
gpio146_pins: gpio146-pins {
pins = "GPIO146/PWM6";
bias-disable;
input-enable;
};
gpio147_pins: gpio147-pins {
pins = "GPIO147/PWM7";
bias-disable;
input-enable;
};
gpio148_pins: gpio148-pins {
pins = "GPIO148/MMCDT4";
bias-disable;
input-enable;
};
gpio149_pins: gpio149-pins {
pins = "GPIO149/MMCDT5";
bias-disable;
input-enable;
};
gpio150_pins: gpio150-pins {
pins = "GPIO150/MMCDT6";
bias-disable;
input-enable;
};
gpio151_pins: gpio151-pins {
pins = "GPIO151/MMCDT7";
bias-disable;
input-enable;
};
gpio152_pins: gpio152-pins {
pins = "GPIO152/MMCCLK";
bias-disable;
input-enable;
};
gpio153_pins: gpio153-pins {
pins = "GPIO153/MMCWP";
bias-disable;
input-enable;
};
gpio154_pins: gpio154-pins {
pins = "GPIO154/MMCCMD";
bias-disable;
input-enable;
};
gpio155_pins: gpio155-pins {
pins = "GPIO155/nMMCCD/nMMCRST";
bias-disable;
input-enable;
};
gpio156_pins: gpio156-pins {
pins = "GPIO156/MMCDT0";
bias-disable;
input-enable;
};
gpio157_pins: gpio157-pins {
pins = "GPIO157/MMCDT1";
bias-disable;
input-enable;
};
gpio158_pins: gpio158-pins {
pins = "GPIO158/MMCDT2";
bias-disable;
input-enable;
};
gpio159_pins: gpio159-pins {
pins = "GPIO159/MMCDT3";
bias-disable;
input-enable;
};
gpio161_pins: gpio161-pins {
pins = "GPIO161/nLFRAME/nESPICS";
bias-disable;
input-enable;
};
gpio162_pins: gpio162-pins {
pins = "GPIO162/SERIRQ";
bias-disable;
input-enable;
};
gpio163_pins: gpio163-pins {
pins = "GPIO163/LCLK/ESPICLK";
bias-disable;
input-enable;
};
gpio164_pins: gpio164-pins {
pins = "GPIO164/LAD0/ESPI_IO0";
bias-disable;
input-enable;
};
gpio165_pins: gpio165-pins {
pins = "GPIO165/LAD1/ESPI_IO1";
bias-disable;
input-enable;
};
gpio166_pins: gpio166-pins {
pins = "GPIO166/LAD2/ESPI_IO2";
bias-disable;
input-enable;
};
gpio167_pins: gpio167-pins {
pins = "GPIO167/LAD3/ESPI_IO3";
bias-disable;
input-enable;
};
gpio168_pins: gpio168-pins {
pins = "GPIO168/nCLKRUN/nESPIALERT";
bias-disable;
input-enable;
};
gpio169_pins: gpio169-pins {
pins = "GPIO169/nSCIPME";
bias-disable;
input-enable;
};
gpio170_pins: gpio170-pins {
pins = "GPIO170/nSMI";
bias-disable;
input-enable;
};
gpio175od_pins: gpio175od-pins {
pins = "GPIO175/PSPI1CK/FANIN19";
bias-disable;
drive-open-drain;
};
gpio176od_pins: gpio176od-pins {
pins = "GPIO176/PSPI1DO/FANIN18";
bias-disable;
drive-open-drain;
};
gpio177_pins: gpio177-pins {
pins = "GPIO177/PSPI1DI/FANIN17";
bias-disable;
input-enable;
};
gpio190od_pins: gpio190od-pins {
pins = "GPIO190/nPRD_SMI";
bias-disable;
drive-open-drain;
};
gpio191_pins: gpio191-pins {
pins = "GPIO191";
bias-disable;
input-enable;
};
gpio192_pins: gpio192-pins {
pins = "GPIO192";
bias-disable;
input-enable;
};
gpio194pp_pins: gpio194pp-pins {
pins = "GPIO194/SMB0BSCL";
bias-disable;
drive-push-pull;
};
gpio195od_pins: gpio195od-pins {
pins = "GPIO195/SMB0BSDA";
bias-disable;
drive-open-drain;
};
gpio196od_pins: gpio196od-pins {
pins = "GPIO196/SMB0CSCL";
bias-disable;
drive-open-drain;
};
gpio197od_pins: gpio197od-pins {
pins = "GPIO197/SMB0DEN";
bias-disable;
drive-open-drain;
};
gpio198od_pins: gpio198od-pins {
pins = "GPIO198/SMB0DSDA";
bias-disable;
drive-open-drain;
};
gpio199od_pins: gpio199od-pins {
pins = "GPIO199/SMB0DSCL";
bias-disable;
drive-open-drain;
};
gpio200pp_pins: gpio200pp-pins {
pins = "GPIO200/R2CK";
bias-disable;
drive-push-pull;
};
gpio202od_pins: gpio202od-pins {
pins = "GPIO202/SMB0CSDA";
bias-disable;
drive-open-drain;
};
gpio203_pins: gpio203-pins {
pins = "GPIO203/FANIN16";
bias-disable;
input-enable;
};
};
};
@@ -0,0 +1,490 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019 Quanta Computer lnc. Fran.Hsu@quantatw.com
/dts-v1/;
#include "nuvoton-npcm730.dtsi"
#include "nuvoton-npcm730-gsj-gpio.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Quanta GSJ Board (Device Tree v12)";
compatible = "nuvoton,npcm750";
aliases {
ethernet1 = &gmac0;
serial3 = &serial3;
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c8 = &i2c8;
i2c9 = &i2c9;
i2c10 = &i2c10;
i2c11 = &i2c11;
i2c12 = &i2c12;
i2c15 = &i2c15;
fiu0 = &fiu0;
};
chosen {
stdout-path = &serial3;
};
memory {
reg = <0 0x40000000>;
};
leds {
compatible = "gpio-leds";
led-bmc-live {
gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
LED_U2_0_LOCATE {
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_1_LOCATE {
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_2_LOCATE {
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_3_LOCATE {
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_4_LOCATE {
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_5_LOCATE {
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_BMC_TRAY_PWRGD {
gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_7_FAULT {
gpios = <&gpio6 8 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_6_LOCATE {
gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_7_LOCATE {
gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_0_FAULT {
gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_1_FAULT {
gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_2_FAULT {
gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_3_FAULT {
gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_4_FAULT {
gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_5_FAULT {
gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
LED_U2_6_FAULT {
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
};
&fiu0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0cs1_pins>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
spi-rx-bus-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
bmc@0 {
label = "bmc";
reg = <0x000000 0x2000000>;
};
u-boot@0 {
label = "u-boot";
reg = <0x0000000 0x80000>;
read-only;
};
u-boot-env@100000 {
label = "u-boot-env";
reg = <0x00100000 0x40000>;
};
kernel@200000 {
label = "kernel";
reg = <0x0200000 0x600000>;
};
rofs@800000 {
label = "rofs";
reg = <0x800000 0x1400000>;
};
rwfs@1c00000 {
label = "rwfs";
reg = <0x1c00000 0x300000>;
};
reserved@1f00000 {
label = "reserved";
reg = <0x1f00000 0x100000>;
};
};
};
};
&gmac0 {
phy-mode = "rgmii-id";
status = "okay";
};
&ehci1 {
status = "okay";
};
&watchdog1 {
status = "okay";
};
&rng {
status = "okay";
};
&serial0 {
status = "okay";
};
&serial1 {
status = "okay";
};
&serial2 {
status = "okay";
};
&serial3 {
status = "okay";
};
&adc {
status = "okay";
};
&i2c1 {
status = "okay";
lm75@5c {
compatible = "maxim,max31725";
reg = <0x5c>;
status = "okay";
};
};
&i2c2 {
status = "okay";
lm75@5c {
compatible = "maxim,max31725";
reg = <0x5c>;
status = "okay";
};
};
&i2c3 {
status = "okay";
lm75@5c {
compatible = "maxim,max31725";
reg = <0x5c>;
};
};
&i2c4 {
status = "okay";
lm75@5c {
compatible = "maxim,max31725";
reg = <0x5c>;
};
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
eeprom@55 {
compatible = "atmel,24c64";
reg = <0x55>;
};
};
&i2c10 {
status = "okay";
eeprom@55 {
compatible = "atmel,24c64";
reg = <0x55>;
};
};
&i2c11 {
status = "okay";
/* P12V Quarter Brick DC/DC Power Module Q54SH12050 @60 */
power-brick@36 {
compatible = "delta,dps800";
reg = <0x36>;
};
hotswap@15 {
compatible = "ti,lm5066i";
reg = <0x15>;
};
};
&i2c12 {
status = "okay";
ucd90160@6b {
compatible = "ti,ucd90160";
reg = <0x6b>;
};
};
&i2c15 {
status = "okay";
i2c-mux@75 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x75>;
i2c-mux-idle-disconnect;
i2c_u20: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c_u21: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c_u22: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c_u23: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c_u24: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c_u25: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c_u26: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c_u27: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&pwm_fan {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins &pwm1_pins &pwm2_pins
&fanin0_pins &fanin1_pins
&fanin2_pins &fanin3_pins
&fanin4_pins &fanin5_pins>;
status = "okay";
fan@0 {
reg = <0x00>;
fan-tach-ch = /bits/ 8 <0x00 0x01>;
cooling-levels = <127 255>;
};
fan@1 {
reg = <0x01>;
fan-tach-ch = /bits/ 8 <0x02 0x03>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@2 {
reg = <0x02>;
fan-tach-ch = /bits/ 8 <0x04 0x05>;
cooling-levels = /bits/ 8 <127 255>;
};
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <
/* GPI pins*/
&gpio8_pins
&gpio9_pins
&gpio12_pins
&gpio13_pins
&gpio14_pins
&gpio60_pins
&gpio83_pins
&gpio91_pins
&gpio92_pins
&gpio95_pins
&gpio136_pins
&gpio137_pins
&gpio141_pins
&gpio144_pins
&gpio145_pins
&gpio146_pins
&gpio147_pins
&gpio148_pins
&gpio149_pins
&gpio150_pins
&gpio151_pins
&gpio152_pins
&gpio153_pins
&gpio154_pins
&gpio155_pins
&gpio156_pins
&gpio157_pins
&gpio158_pins
&gpio159_pins
&gpio161_pins
&gpio162_pins
&gpio163_pins
&gpio164_pins
&gpio165_pins
&gpio166_pins
&gpio167_pins
&gpio168_pins
&gpio169_pins
&gpio170_pins
&gpio177_pins
&gpio191_pins
&gpio192_pins
&gpio203_pins
/* GPO pins*/
&gpio0pp_pins
&gpio1pp_pins
&gpio2pp_pins
&gpio3pp_pins
&gpio4pp_pins
&gpio5pp_pins
&gpio6pp_pins
&gpio7pp_pins
&gpio10pp_pins
&gpio11pp_pins
&gpio15od_pins
&gpio17pp_pins
&gpio18pp_pins
&gpio19pp_pins
&gpio24pp_pins
&gpio25pp_pins
&gpio37od_pins
&gpio59pp_pins
&gpio72od_pins
&gpio73od_pins
&gpio74od_pins
&gpio75od_pins
&gpio76od_pins
&gpio77od_pins
&gpio78od_pins
&gpio79od_pins
&gpio84pp_pins
&gpio85pp_pins
&gpio86pp_pins
&gpio87pp_pins
&gpio88pp_pins
&gpio89pp_pins
&gpio90pp_pins
&gpio93pp_pins
&gpio94pp_pins
&gpio125pp_pins
&gpio126od_pins
&gpio127od_pins
&gpio142od_pins
&gpio143ol_pins
&gpio175od_pins
&gpio176od_pins
&gpio190od_pins
&gpio194pp_pins
&gpio195od_pins
&gpio196od_pins
&gpio197od_pins
&gpio198od_pins
&gpio199od_pins
&gpio200pp_pins
&gpio202od_pins
>;
};
@@ -0,0 +1,826 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2020 Fii USA Inc.
/dts-v1/;
#include "nuvoton-npcm730.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Fii Kudo Board";
compatible = "fii,kudo", "nuvoton,npcm730";
aliases {
ethernet1 = &gmac0;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
serial3 = &serial3;
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
i2c6 = &i2c6;
i2c7 = &i2c7;
i2c8 = &i2c8;
i2c9 = &i2c9;
i2c10 = &i2c10;
i2c11 = &i2c11;
i2c12 = &i2c12;
i2c13 = &i2c13;
i2c14 = &i2c14;
i2c15 = &i2c15;
spi0 = &spi0;
spi1 = &spi1;
fiu0 = &fiu0;
fiu1 = &fiu3;
};
chosen {
stdout-path = &serial3;
};
memory {
reg = <0 0x40000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
};
jtag_master {
compatible = "nuvoton,npcm750-jtag-master";
#address-cells = <1>;
#size-cells = <1>;
// dev/jtag0
dev-num = <0>;
// pspi or gpio
mode = "pspi";
// pspi2
pspi-controller = <2>;
reg = <0xf0201000 0x1000>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_APB5>;
// TCK, TDI, TDO, TMS
jtag-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>,
<&gpio0 18 GPIO_ACTIVE_HIGH>,
<&gpio0 17 GPIO_ACTIVE_HIGH>,
<&gpio0 16 GPIO_ACTIVE_HIGH>;
};
leds {
compatible = "gpio-leds";
heartbeat {
label = "heartbeat";
gpios = <&gpio0 14 1>;
};
};
pinctrl: pinctrl@f0800000 {
gpio61oh_pins: gpio61oh-pins {
pins = "GPO61/nDTR1_BOUT1/STRAP6";
bias-disable;
output-high;
};
gpio62oh_pins: gpio62oh-pins {
pins = "GPO62/nRTST1/STRAP5";
bias-disable;
output-high;
};
gpio161ol_pins: gpio161ol-pins {
pins = "GPIO161/nLFRAME/nESPICS";
bias-disable;
output-low;
};
gpio163i_pins: gpio163i-pins {
pins = "GPIO163/LCLK/ESPICLK";
bias-disable;
input-enable;
};
gpio167ol_pins: gpio167ol-pins {
pins = "GPIO167/LAD3/ESPI_IO3";
bias-disable;
output-low;
};
gpio95i_pins: gpio95i-pins {
pins = "GPIO95/nLRESET/nESPIRST";
bias-disable;
input-enable;
};
gpio65ol_pins: gpio65ol-pins {
pins = "GPIO65/FANIN1";
bias-disable;
output-low;
};
gpio66oh_pins: gpio66oh-pins {
pins = "GPIO66/FANIN2";
bias-disable;
output-high;
};
gpio67oh_pins: gpio67oh-pins {
pins = "GPIO67/FANIN3";
bias-disable;
output-high;
};
gpio68ol_pins: gpio68ol-pins {
pins = "GPIO68/FANIN4";
bias-disable;
output-low;
};
gpio69i_pins: gpio69i-pins {
pins = "GPIO69/FANIN5";
bias-disable;
input-enable;
};
gpio70ol_pins: gpio70ol-pins {
pins = "GPIO70/FANIN6";
bias-disable;
output-low;
};
gpio71i_pins: gpio71i-pins {
pins = "GPIO71/FANIN7";
bias-disable;
input-enable;
};
gpio72i_pins: gpio72i-pins {
pins = "GPIO72/FANIN8";
bias-disable;
input-enable;
};
gpio73i_pins: gpio73i-pins {
pins = "GPIO73/FANIN9";
bias-disable;
input-enable;
};
gpio74i_pins: gpio74i-pins {
pins = "GPIO74/FANIN10";
bias-disable;
input-enable;
};
gpio75i_pins: gpio75i-pins {
pins = "GPIO75/FANIN11";
bias-disable;
input-enable;
};
gpio76i_pins: gpio76i-pins {
pins = "GPIO76/FANIN12";
bias-disable;
input-enable;
};
gpio77i_pins: gpio77i-pins {
pins = "GPIO77/FANIN13";
bias-disable;
input-enable;
};
gpio78i_pins: gpio78i-pins {
pins = "GPIO78/FANIN14";
bias-disable;
input-enable;
};
gpio79ol_pins: gpio79ol-pins {
pins = "GPIO79/FANIN15";
bias-disable;
output-low;
};
gpio80oh_pins: gpio80oh-pins {
pins = "GPIO80/PWM0";
bias-disable;
output-high;
};
gpio81i_pins: gpio81i-pins {
pins = "GPIO81/PWM1";
bias-disable;
input-enable;
};
gpio82i_pins: gpio82i-pins {
pins = "GPIO82/PWM2";
bias-disable;
input-enable;
};
gpio83i_pins: gpio83i-pins {
pins = "GPIO83/PWM3";
bias-disable;
input-enable;
};
gpio144i_pins: gpio144i-pins {
pins = "GPIO144/PWM4";
bias-disable;
input-enable;
};
gpio145i_pins: gpio145i-pins {
pins = "GPIO145/PWM5";
bias-disable;
input-enable;
};
gpio146i_pins: gpio146i-pins {
pins = "GPIO146/PWM6";
bias-disable;
input-enable;
};
gpio147oh_pins: gpio147oh-pins {
pins = "GPIO147/PWM7";
bias-disable;
output-high;
};
gpio168ol_pins: gpio168ol-pins {
pins = "GPIO168/nCLKRUN/nESPIALERT";
bias-disable;
output-low;
};
gpio169oh_pins: gpio169oh-pins {
pins = "GPIO169/nSCIPME";
bias-disable;
output-high;
};
gpio170ol_pins: gpio170ol-pins {
pins = "GPIO170/nSMI";
bias-disable;
output-low;
};
gpio218oh_pins: gpio218oh-pins {
pins = "GPIO218/nWDO1";
bias-disable;
output-high;
};
gpio37i_pins: gpio37i-pins {
pins = "GPIO37/SMB3CSDA";
bias-disable;
input-enable;
};
gpio38i_pins: gpio38i-pins {
pins = "GPIO38/SMB3CSCL";
bias-disable;
input-enable;
};
gpio39i_pins: gpio39i-pins {
pins = "GPIO39/SMB3BSDA";
bias-disable;
input-enable;
};
gpio40i_pins: gpio40i-pins {
pins = "GPIO40/SMB3BSCL";
bias-disable;
input-enable;
};
gpio121i_pins: gpio121i-pins {
pins = "GPIO121/SMB2CSCL";
bias-disable;
input-enable;
};
gpio122i_pins: gpio122i-pins {
pins = "GPIO122/SMB2BSDA";
bias-disable;
input-enable;
};
gpio123i_pins: gpio123i-pins {
pins = "GPIO123/SMB2BSCL";
bias-disable;
input-enable;
};
gpio124i_pins: gpio124i-pins {
pins = "GPIO124/SMB1CSDA";
bias-disable;
input-enable;
};
gpio125i_pins: gpio125i-pins {
pins = "GPIO125/SMB1CSCL";
bias-disable;
input-enable;
};
gpio126i_pins: gpio126i-pins {
pins = "GPIO126/SMB1BSDA";
bias-disable;
input-enable;
};
gpio127i_pins: gpio127i-pins {
pins = "GPIO127/SMB1BSCL";
bias-disable;
input-enable;
};
gpio136i_pins: gpio136i-pins {
pins = "GPIO136/SD1DT0";
bias-disable;
input-enable;
};
gpio137oh_pins: gpio137oh-pins {
pins = "GPIO137/SD1DT1";
bias-disable;
output-high;
};
gpio138i_pins: gpio138i-pins {
pins = "GPIO138/SD1DT2";
bias-disable;
input-enable;
};
gpio139i_pins: gpio139i-pins {
pins = "GPIO139/SD1DT3";
bias-disable;
input-enable;
};
gpio140i_pins: gpio140i-pins {
pins = "GPIO140/SD1CLK";
bias-disable;
input-enable;
};
gpio141i_pins: gpio141i-pins {
pins = "GPIO141/SD1WP";
bias-disable;
input-enable;
};
gpio190oh_pins: gpio190oh-pins {
pins = "GPIO190/nPRD_SMI";
bias-disable;
output-high;
};
gpio191oh_pins: gpio191oh-pins {
pins = "GPIO191";
bias-disable;
output-high;
};
gpio195ol_pins: gpio195ol-pins {
pins = "GPIO195/SMB0BSDA";
bias-disable;
output-low;
};
gpio196ol_pins: gpio196ol-pins {
pins = "GPIO196/SMB0CSCL";
bias-disable;
output-low;
};
gpio199i_pins: gpio199i-pins {
pins = "GPIO199/SMB0DSCL";
bias-disable;
input-enable;
};
gpio202ol_pins: gpio202ol-pins {
pins = "GPIO202/SMB0CSDA";
bias-disable;
output-low;
};
};
};
&gmac0 {
phy-mode = "rgmii-id";
snps,eee-force-disable;
status = "okay";
};
&ehci1 {
status = "okay";
};
&fiu0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0cs1_pins>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
spi-max-frequency = <5000000>;
spi-rx-bus-width = <2>;
label = "bmc";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
u-boot@0 {
label = "u-boot";
reg = <0x0000000 0xC0000>;
read-only;
};
u-boot-env@100000 {
label = "u-boot-env";
reg = <0x00100000 0x40000>;
};
kernel@200000 {
label = "kernel";
reg = <0x0200000 0x600000>;
};
rofs@800000 {
label = "rofs";
reg = <0x800000 0x3500000>;
};
rwfs@3d00000 {
label = "rwfs";
reg = <0x3d00000 0x300000>;
};
};
};
flash@1 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <1>;
spi-max-frequency = <5000000>;
spi-rx-bus-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
spare1@0 {
label = "spi0-cs1-spare1";
reg = <0x0 0x800000>;
};
spare2@800000 {
label = "spi0-cs1-spare2";
reg = <0x800000 0x0>;
};
};
};
};
&fiu3 {
pinctrl-0 = <&spi3_pins>;
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
reg = <0>;
spi-max-frequency = <5000000>;
spi-rx-bus-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
system1@0 {
label = "bios";
reg = <0x0 0x0>;
};
system2@800000 {
label = "spi3-system2";
reg = <0x800000 0x0>;
};
};
};
};
&watchdog1 {
status = "okay";
};
&rng {
status = "okay";
};
&serial0 {
status = "okay";
};
&serial1 {
status = "okay";
};
&serial2 {
status = "okay";
};
&serial3 {
status = "okay";
};
&adc {
#io-channel-cells = <1>;
status = "okay";
};
&i2c1 {
status = "okay";
i2c-mux@75 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x75>;
i2c-mux-idle-disconnect;
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
// Rear-Fan
max31790@58 {
compatible = "maxim,max31790";
reg = <0x58>;
};
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
// Mid-Fan
max31790@58 {
compatible = "maxim,max31790";
reg = <0x58>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
// INLET1_T
temperature-sensor@5c {
compatible = "national,lm75";
reg = <0x5c>;
};
};
i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
// OUTLET1_T
temperature-sensor@5c {
compatible = "national,lm75";
reg = <0x5c>;
};
};
i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
// OUTLET2_T
temperature-sensor@5c {
compatible = "national,lm75";
reg = <0x5c>;
};
};
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
// OUTLET3_T
temperature-sensor@5c {
compatible = "national,lm75";
reg = <0x5c>;
};
};
};
i2c-mux@77 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
// STB-T
pmbus@74 {
compatible = "pmbus";
reg = <0x74>;
};
};
};
};
&i2c2 {
status = "okay";
smpro@4f {
compatible = "ampere,smpro";
reg = <0x4f>;
};
smpro@4e {
compatible = "ampere,smpro";
reg = <0x4e>;
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
i2c-mux@77 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
// ADC sensors
adm1266@40 {
compatible = "adi,adm1266";
reg = <0x40>;
};
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
// ADC sensors
adm1266@41 {
compatible = "adi,adm1266";
reg = <0x41>;
};
};
};
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
ssif-bmc@10 {
compatible = "ssif-bmc";
reg = <0x10>;
};
};
&i2c13 {
status = "okay";
i2c-mux@77 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
// M2_ZONE_T
temperature-sensor@28 {
compatible = "national,lm75";
reg = <0x28>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
// BATT_ZONE_T
temperature-sensor@29 {
compatible = "national,lm75";
reg = <0x29>;
};
};
i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
// NBM1_ZONE_T
temperature-sensor@28 {
compatible = "national,lm75";
reg = <0x28>;
};
};
i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
// NBM2_ZONE_T
temperature-sensor@29 {
compatible = "national,lm75";
reg = <0x29>;
};
};
};
};
&i2c14 {
status = "okay";
};
&i2c15 {
status = "okay";
};
&spi0 {
cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
status = "okay";
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <
&gpio61oh_pins
&gpio62oh_pins
&gpio161ol_pins
&gpio163i_pins
&gpio167ol_pins
&gpio95i_pins
&gpio65ol_pins
&gpio66oh_pins
&gpio67oh_pins
&gpio68ol_pins
&gpio69i_pins
&gpio70ol_pins
&gpio71i_pins
&gpio72i_pins
&gpio73i_pins
&gpio74i_pins
&gpio75i_pins
&gpio76i_pins
&gpio77i_pins
&gpio78i_pins
&gpio79ol_pins
&gpio80oh_pins
&gpio81i_pins
&gpio82i_pins
&gpio83i_pins
&gpio144i_pins
&gpio145i_pins
&gpio146i_pins
&gpio147oh_pins
&gpio168ol_pins
&gpio169oh_pins
&gpio170ol_pins
&gpio218oh_pins
&gpio37i_pins
&gpio38i_pins
&gpio39i_pins
&gpio40i_pins
&gpio121i_pins
&gpio122i_pins
&gpio123i_pins
&gpio124i_pins
&gpio125i_pins
&gpio126i_pins
&gpio127i_pins
&gpio136i_pins
&gpio137oh_pins
&gpio138i_pins
&gpio139i_pins
&gpio140i_pins
&gpio141i_pins
&gpio190oh_pins
&gpio191oh_pins
&gpio195ol_pins
&gpio196ol_pins
&gpio199i_pins
&gpio202ol_pins
>;
};
&gcr {
serial_port_mux: mux-controller {
compatible = "mmio-mux";
#mux-control-cells = <1>;
mux-reg-masks = <0x38 0x07>;
idle-states = <2>;
};
};
@@ -0,0 +1,44 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2020 Nuvoton Technology
#include "nuvoton-common-npcm7xx.dtsi"
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
enable-method = "nuvoton,npcm750-smp";
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
clocks = <&clk NPCM7XX_CLK_CPU>;
clock-names = "clk_cpu";
reg = <0>;
next-level-cache = <&l2>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
clocks = <&clk NPCM7XX_CLK_CPU>;
clock-names = "clk_cpu";
reg = <1>;
next-level-cache = <&l2>;
};
};
soc {
timer@3fe600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0x3fe600 0x20>;
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
IRQ_TYPE_LEVEL_HIGH)>;
clocks = <&clk NPCM7XX_CLK_AHB>;
};
};
};
@@ -0,0 +1,404 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
// Copyright 2018 Google, Inc.
/dts-v1/;
#include "nuvoton-npcm750.dtsi"
#include "dt-bindings/gpio/gpio.h"
#include "nuvoton-npcm750-pincfg-evb.dtsi"
/ {
model = "Nuvoton npcm750 Development Board (Device Tree)";
compatible = "nuvoton,npcm750-evb", "nuvoton,npcm750";
aliases {
ethernet2 = &gmac0;
ethernet3 = &gmac1;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
serial3 = &serial3;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
i2c6 = &i2c6;
i2c7 = &i2c7;
i2c8 = &i2c8;
i2c9 = &i2c9;
i2c10 = &i2c10;
i2c11 = &i2c11;
i2c12 = &i2c12;
i2c13 = &i2c13;
i2c14 = &i2c14;
i2c15 = &i2c15;
spi0 = &spi0;
spi1 = &spi1;
fiu0 = &fiu0;
fiu1 = &fiu3;
fiu2 = &fiux;
};
chosen {
stdout-path = &serial3;
};
memory {
device_type = "memory";
reg = <0x0 0x20000000>;
};
};
&gmac0 {
phy-mode = "rgmii-id";
status = "okay";
};
&gmac1 {
phy-mode = "rgmii-id";
status = "okay";
};
&ehci1 {
status = "okay";
};
&fiu0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
spi-rx-bus-width = <2>;
reg = <0>;
spi-max-frequency = <5000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
bbuboot1@0 {
label = "bb-uboot-1";
reg = <0x0000000 0x80000>;
read-only;
};
bbuboot2@80000 {
label = "bb-uboot-2";
reg = <0x0080000 0x80000>;
read-only;
};
envparam@100000 {
label = "env-param";
reg = <0x0100000 0x40000>;
read-only;
};
spare@140000 {
label = "spare";
reg = <0x0140000 0xC0000>;
};
kernel@200000 {
label = "kernel";
reg = <0x0200000 0x400000>;
};
rootfs@600000 {
label = "rootfs";
reg = <0x0600000 0x700000>;
};
spare1@d00000 {
label = "spare1";
reg = <0x0D00000 0x200000>;
};
spare2@f00000 {
label = "spare2";
reg = <0x0F00000 0x200000>;
};
spare3@1100000 {
label = "spare3";
reg = <0x1100000 0x200000>;
};
spare4@1300000 {
label = "spare4";
reg = <0x1300000 0x0>;
};
};
};
};
&fiu3 {
pinctrl-0 = <&spi3_pins>, <&spi3quad_pins>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <1>;
#size-cells = <1>;
spi-rx-bus-width = <2>;
reg = <0>;
spi-max-frequency = <5000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
system1@0 {
label = "spi3-system1";
reg = <0x0 0x0>;
};
};
};
};
&fiux {
spix-mode;
};
&watchdog1 {
status = "okay";
};
&rng {
status = "okay";
};
&serial0 {
status = "okay";
};
&serial1 {
status = "okay";
};
&serial2 {
status = "okay";
};
&serial3 {
status = "okay";
};
&adc {
status = "okay";
};
&lpc_kcs {
kcs1: kcs1@0 {
status = "okay";
};
kcs2: kcs2@0 {
status = "okay";
};
kcs3: kcs3@0 {
status = "okay";
};
};
/* lm75 on SVB */
&i2c0 {
clock-frequency = <100000>;
status = "okay";
lm75@48 {
compatible = "national,lm75";
reg = <0x48>;
status = "okay";
};
};
/* lm75 on EB */
&i2c1 {
clock-frequency = <100000>;
status = "okay";
temperature-sensor@48 {
compatible = "national,lm75";
reg = <0x48>;
status = "okay";
};
};
/* tmp100 on EB */
&i2c2 {
clock-frequency = <100000>;
status = "okay";
tmp100@48 {
compatible = "tmp100";
reg = <0x48>;
status = "okay";
};
};
&i2c3 {
clock-frequency = <100000>;
status = "okay";
};
&i2c5 {
clock-frequency = <100000>;
status = "okay";
};
/* tmp100 on SVB */
&i2c6 {
clock-frequency = <100000>;
status = "okay";
tmp100@48 {
compatible = "tmp100";
reg = <0x48>;
status = "okay";
};
};
&i2c7 {
clock-frequency = <100000>;
status = "okay";
};
&i2c8 {
clock-frequency = <100000>;
status = "okay";
};
&i2c9 {
clock-frequency = <100000>;
status = "okay";
};
&i2c10 {
clock-frequency = <100000>;
status = "okay";
};
&i2c11 {
clock-frequency = <100000>;
status = "okay";
};
&i2c14 {
clock-frequency = <100000>;
status = "okay";
};
&pwm_fan {
status = "okay";
fan@0 {
reg = <0x00>;
fan-tach-ch = /bits/ 8 <0x00 0x01>;
cooling-levels = <127 255>;
};
fan@1 {
reg = <0x01>;
fan-tach-ch = /bits/ 8 <0x02 0x03>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@2 {
reg = <0x02>;
fan-tach-ch = /bits/ 8 <0x04 0x05>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@3 {
reg = <0x03>;
fan-tach-ch = /bits/ 8 <0x06 0x07>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@4 {
reg = <0x04>;
fan-tach-ch = /bits/ 8 <0x08 0x09>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@5 {
reg = <0x05>;
fan-tach-ch = /bits/ 8 <0x0A 0x0B>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@6 {
reg = <0x06>;
fan-tach-ch = /bits/ 8 <0x0C 0x0D>;
cooling-levels = /bits/ 8 <127 255>;
};
fan@7 {
reg = <0x07>;
fan-tach-ch = /bits/ 8 <0x0E 0x0F>;
cooling-levels = /bits/ 8 <127 255>;
};
};
&spi0 {
cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
status = "okay";
flash@0 {
compatible = "winbond,w25q128",
"jedec,spi-nor";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <5000000>;
partition@0 {
label = "spi0_spare1";
reg = <0x0000000 0x800000>;
};
partition@1 {
label = "spi0_spare2";
reg = <0x800000 0x0>;
};
};
};
&spi1 {
cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
status = "okay";
flash@0 {
compatible = "winbond,w25q128fw",
"jedec,spi-nor";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <5000000>;
partition@0 {
label = "spi1_spare1";
reg = <0x0000000 0x800000>;
};
partition@1 {
label = "spi1_spare2";
reg = <0x800000 0x0>;
};
};
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = < &iox1_pins
&pin8_input
&pin9_output_high
&pin10_input
&pin11_output_high
&pin16_input
&pin24_output_high
&pin25_output_low
&pin32_output_high
&jtag2_pins
&pin61_output_high
&pin62_output_high
&pin63_output_high
&lpc_pins
&pin160_input
&pin162_input
&pin168_input
&pin169_input
&pin170_input
&pin187_output_high
&pin190_input
&pin191_output_high
&pin192_output_high
&pin197_output_low
&ddc_pins
&pin218_input
&pin219_output_low
&pin220_output_low
&pin221_output_high
&pin222_input
&pin223_output_low
&spix_pins
&pin228_output_low
&pin231_output_high
&pin255_input>;
};
@@ -0,0 +1,157 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018 Nuvoton Technology
/ {
pinctrl: pinctrl@f0800000 {
pin8_input: pin8-input {
pins = "GPIO8/LKGPO1";
bias-disable;
input-enable;
};
pin9_output_high: pin9-output-high {
pins = "GPIO9/LKGPO2";
bias-disable;
output-high;
};
pin10_input: pin10-input {
pins = "GPIO10/IOXHLD";
bias-disable;
input-enable;
};
pin11_output_high: pin11-output-high {
pins = "GPIO11/IOXHCK";
bias-disable;
output-high;
};
pin16_input: pin16-input {
pins = "GPIO16/LKGPO0";
bias-disable;
input-enable;
};
pin24_output_high: pin24-output-high {
pins = "GPIO24/IOXHDO";
bias-disable;
output-high;
};
pin25_output_low: pin25-output-low {
pins = "GPIO25/IOXHDI";
bias-disable;
output-low;
};
pin32_output_high: pin32-output-high {
pins = "GPIO32/nSPI0CS1";
bias-disable;
output-high;
};
pin61_output_high: pin61-output-high {
pins = "GPO61/nDTR1_BOUT1/STRAP6";
bias-disable;
output-high;
};
pin62_output_high: pin62-output-high {
pins = "GPO62/nRTST1/STRAP5";
bias-disable;
output-high;
};
pin63_output_high: pin63-output-high {
pins = "GPO63/TXD1/STRAP4";
bias-disable;
output-high;
};
pin160_input: pin160-input {
pins = "GPIO160/CLKOUT/RNGOSCOUT";
bias-disable;
input-enable;
};
pin162_input: pin162-input {
pins = "GPIO162/SERIRQ";
bias-disable;
input-enable;
};
pin168_input: pin168-input {
pins = "GPIO168/nCLKRUN/nESPIALERT";
bias-disable;
input-enable;
};
pin169_input: pin169-input {
pins = "GPIO169/nSCIPME";
bias-disable;
input-enable;
};
pin170_input: pin170-input {
pins = "GPIO170/nSMI";
bias-disable;
input-enable;
};
pin187_output_high: pin187-output-high {
pins = "GPIO187/nSPI3CS1";
bias-disable;
output-high;
};
pin190_input: pin190-input {
pins = "GPIO190/nPRD_SMI";
bias-disable;
input-enable;
};
pin191_output_high: pin191-output-high {
pins = "GPIO191";
bias-disable;
output-high;
};
pin192_output_high: pin192-output-high {
pins = "GPIO192";
bias-disable;
output-high;
};
pin197_output_low: pin197-output-low {
pins = "GPIO197/SMB0DEN";
bias-disable;
output-low;
};
pin218_input: pin218-input {
pins = "GPIO218/nWDO1";
bias-disable;
input-enable;
};
pin219_output_low: pin219-output-low {
pins = "GPIO219/nWDO2";
bias-disable;
output-low;
};
pin220_output_low: pin220-output-low {
pins = "GPIO220/SMB12SCL";
bias-disable;
output-low;
};
pin221_output_high: pin221-output-high {
pins = "GPIO221/SMB12SDA";
bias-disable;
output-high;
};
pin222_input: pin222-input {
pins = "GPIO222/SMB13SCL";
bias-disable;
input-enable;
};
pin223_output_low: pin223-output-low {
pins = "GPIO223/SMB13SDA";
bias-disable;
output-low;
};
pin228_output_low: pin228-output-low {
pins = "GPIO228/nSPIXCS1";
bias-disable;
output-low;
};
pin231_output_high: pin231-output-high {
pins = "GPIO230/SPIXD3";
bias-disable;
output-high;
};
pin255_input: pin255-input {
pins = "GPI255/DACOSEL";
bias-disable;
input-enable;
};
};
};
@@ -0,0 +1,517 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019 Quanta Computer Inc. Samuel.Jiang@quantatw.com
/ {
pinctrl: pinctrl@f0800000 {
gpio0ol_pins: gpio0ol-pins {
pins = "GPIO0/IOX1DI";
bias-disable;
output-low;
};
gpio1ol_pins: gpio1ol-pins {
pins = "GPIO1/IOX1LD";
bias-disable;
output-low;
};
gpio2ol_pins: gpio2ol-pins {
pins = "GPIO2/IOX1CK";
bias-disable;
output-low;
};
gpio3ol_pins: gpio3ol-pins {
pins = "GPIO3/IOX1D0";
bias-disable;
output-low;
};
gpio5_pins: gpio5-pins {
pins = "GPIO5/IOX2LD/SMB1DSCL";
bias-disable;
input-enable;
};
gpio6_pins: gpio6-pins {
pins = "GPIO6/IOX2CK/SMB2DSDA";
bias-disable;
input-enable;
};
gpio7_pins: gpio7-pins {
pins = "GPIO7/IOX2D0/SMB2DSCL";
bias-disable;
input-enable;
};
gpio8o_pins: gpio8o-pins {
pins = "GPIO8/LKGPO1";
bias-disable;
output-high;
};
gpio9ol_pins: gpio9ol-pins {
pins = "GPIO9/LKGPO2";
bias-disable;
output-low;
};
gpio10_pins: gpio10-pins {
pins = "GPIO10/IOXHLD";
bias-disable;
input-enable;
};
gpio11_pins: gpio11-pins {
pins = "GPIO11/IOXHCK";
bias-disable;
input-enable;
};
gpio12ol_pins: gpio12ol-pins {
pins = "GPIO12/GSPICK/SMB5BSCL";
bias-disable;
output-low;
};
gpio13ol_pins: gpio13ol-pins {
pins = "GPIO13/GSPIDO/SMB5BSDA";
bias-disable;
output-low;
};
gpio14ol_pins: gpio14ol-pins {
pins = "GPIO14/GSPIDI/SMB5CSCL";
bias-disable;
output-low;
};
gpio15ol_pins: gpio15ol-pins {
pins = "GPIO15/GSPICS/SMB5CSDA";
bias-disable;
output-low;
};
gpio20_pins: gpio20-pins {
pins = "GPIO20/SMB4CSDA/SMB15SDA";
bias-disable;
input-enable;
};
gpio21_pins: gpio21-pins {
pins = "GPIO21/SMB4CSCL/SMB15SCL";
bias-disable;
input-enable;
};
gpio22o_pins: gpio22o-pins {
pins = "GPIO22/SMB4DSDA/SMB14SDA";
bias-disable;
output-high;
};
gpio23_pins: gpio23-pins {
pins = "GPIO23/SMB4DSCL/SMB14SCL";
bias-disable;
input-enable;
};
gpio24_pins: gpio24-pins {
pins = "GPIO24/IOXHDO";
bias-disable;
input-enable;
};
gpio25_pins: gpio25-pins {
pins = "GPIO25/IOXHDI";
bias-disable;
input-enable;
};
gpio30_pins: gpio30-pins {
pins = "GPIO30/SMB3SDA";
bias-disable;
input-enable;
};
gpio31_pins: gpio31-pins {
pins = "GPIO31/SMB3SCL";
bias-disable;
input-enable;
};
gpio37o_pins: gpio37o-pins {
pins = "GPIO37/SMB3CSDA";
bias-disable;
output-high;
};
gpio38_pins: gpio38-pins {
pins = "GPIO38/SMB3CSCL";
bias-disable;
input-enable;
};
gpio39_pins: gpio39-pins {
pins = "GPIO39/SMB3BSDA";
bias-disable;
input-enable;
};
gpio40o_pins: gpio40o-pins {
pins = "GPIO40/SMB3BSCL";
bias-disable;
output-high;
};
gpio59_pins: gpio59-pins {
pins = "GPIO59/SMB3DSDA";
bias-disable;
input-enable;
};
gpio76_pins: gpio76-pins {
pins = "GPIO76/FANIN12";
bias-disable;
input-enable;
};
gpio77_pins: gpio77-pins {
pins = "GPIO77/FANIN13";
bias-disable;
input-enable;
};
gpio78o_pins: gpio78o-pins {
pins = "GPIO78/FANIN14";
bias-disable;
output-high;
};
gpio79_pins: gpio79-pins {
pins = "GPIO79/FANIN15";
bias-disable;
input-enable;
};
gpio82_pins: gpio82-pins {
pins = "GPIO82/PWM2";
bias-disable;
input-enable;
};
gpio83_pins: gpio83-pins {
pins = "GPIO83/PWM3";
bias-disable;
input-enable;
};
gpio84_pins: gpio84-pins {
pins = "GPIO84/R2TXD0";
bias-disable;
input-enable;
};
gpio85o_pins: gpio85o-pins {
pins = "GPIO85/R2TXD1";
bias-disable;
output-high;
};
gpio86ol_pins: gpio86ol-pins {
pins = "GPIO86/R2TXEN";
bias-disable;
output-low;
};
gpio87_pins: gpio87-pins {
pins = "GPIO87/R2RXD0";
bias-disable;
input-enable;
};
gpio88_pins: gpio88-pins {
pins = "GPIO88/R2RXD1";
bias-disable;
input-enable;
};
gpio89_pins: gpio89-pins {
pins = "GPIO89/R2CRSDV";
bias-disable;
input-enable;
};
gpio90_pins: gpio90-pins {
pins = "GPIO90/R2RXERR";
bias-disable;
input-enable;
};
gpio93_pins: gpio93-pins {
pins = "GPIO93/GA20/SMB5DSCL";
bias-disable;
input-enable;
};
gpio94ol_pins: gpio94ol-pins {
pins = "GPIO94/nKBRST/SMB5DSDA";
bias-disable;
output-low;
};
gpio108ol_pins: gpio108ol-pins {
pins = "GPIO108/RG1MDC";
bias-disable;
output-low;
};
gpio109ol_pins: gpio109ol-pins {
pins = "GPIO109/RG1MDIO";
bias-disable;
output-low;
};
gpio110ol_pins: gpio110ol-pins {
pins = "GPIO110/RG2TXD0/DDRV0";
bias-disable;
output-low;
};
gpio111ol_pins: gpio111ol-pins {
pins = "GPIO111/RG2TXD1/DDRV1";
bias-disable;
output-low;
};
gpio112ol_pins: gpio112ol-pins {
pins = "GPIO112/RG2TXD2/DDRV2";
bias-disable;
output-low;
};
gpio113ol_pins: gpio113ol-pins {
pins = "GPIO113/RG2TXD3/DDRV3";
bias-disable;
output-low;
};
gpio114o_pins: gpio114o-pins {
pins = "GPIO114/SMB0SCL";
bias-disable;
output-high;
};
gpio115_pins: gpio115-pins {
pins = "GPIO115/SMB0SDA";
bias-disable;
input-enable;
};
gpio120_pins: gpio120-pins {
pins = "GPIO120/SMB2CSDA";
bias-disable;
input-enable;
};
gpio121_pins: gpio121-pins {
pins = "GPIO121/SMB2CSCL";
bias-disable;
input-enable;
};
gpio122_pins: gpio122-pins {
pins = "GPIO122/SMB2BSDA";
bias-disable;
input-enable;
};
gpio123_pins: gpio123-pins {
pins = "GPIO123/SMB2BSCL";
bias-disable;
input-enable;
};
gpio124_pins: gpio124-pins {
pins = "GPIO124/SMB1CSDA";
bias-disable;
input-enable;
};
gpio125_pins: gpio125-pins {
pins = "GPIO125/SMB1CSCL";
bias-disable;
input-enable;
};
gpio126_pins: gpio126-pins {
pins = "GPIO126/SMB1BSDA";
bias-disable;
input-enable;
};
gpio127o_pins: gpio127o-pins {
pins = "GPIO127/SMB1BSCL";
bias-disable;
output-high;
};
gpio136_pins: gpio136-pins {
pins = "GPIO136/SD1DT0";
bias-disable;
input-enable;
};
gpio137_pins: gpio137-pins {
pins = "GPIO137/SD1DT1";
bias-disable;
input-enable;
};
gpio138_pins: gpio138-pins {
pins = "GPIO138/SD1DT2";
bias-disable;
input-enable;
};
gpio139_pins: gpio139-pins {
pins = "GPIO139/SD1DT3";
bias-disable;
input-enable;
};
gpio140_pins: gpio140-pins {
pins = "GPIO140/SD1CLK";
bias-disable;
input-enable;
};
gpio141_pins: gpio141-pins {
pins = "GPIO141/SD1WP";
bias-disable;
input-enable;
};
gpio142_pins: gpio142-pins {
pins = "GPIO142/SD1CMD";
bias-disable;
input-enable;
};
gpio143_pins: gpio143-pins {
pins = "GPIO143/SD1CD/SD1PWR";
bias-disable;
input-enable;
};
gpio144_pins: gpio144-pins {
pins = "GPIO144/PWM4";
bias-disable;
input-enable;
};
gpio145_pins: gpio145-pins {
pins = "GPIO145/PWM5";
bias-disable;
input-enable;
};
gpio146_pins: gpio146-pins {
pins = "GPIO146/PWM6";
bias-disable;
input-enable;
};
gpio147_pins: gpio147-pins {
pins = "GPIO147/PWM7";
bias-disable;
input-enable;
};
gpio153o_pins: gpio153o-pins {
pins = "GPIO153/MMCWP";
bias-disable;
output-high;
};
gpio155_pins: gpio155-pins {
pins = "GPIO155/nMMCCD/nMMCRST";
bias-disable;
input-enable;
};
gpio160o_pins: gpio160o-pins {
pins = "GPIO160/CLKOUT/RNGOSCOUT";
bias-disable;
output-high;
};
gpio169o_pins: gpio169o-pins {
pins = "GPIO169/nSCIPME";
bias-disable;
output-high;
};
gpio188o_pins: gpio188o-pins {
pins = "GPIO188/SPI3D2/nSPI3CS2";
bias-disable;
output-high;
};
gpio189_pins: gpio189-pins {
pins = "GPIO189/SPI3D3/nSPI3CS3";
bias-disable;
input-enable;
};
gpio196_pins: gpio196-pins {
pins = "GPIO196/SMB0CSCL";
bias-disable;
input-enable;
};
gpio197_pins: gpio197-pins {
pins = "GPIO197/SMB0DEN";
bias-disable;
input-enable;
};
gpio198o_pins: gpio198o-pins {
pins = "GPIO198/SMB0DSDA";
bias-disable;
output-high;
};
gpio199o_pins: gpio199o-pins {
pins = "GPIO199/SMB0DSCL";
bias-disable;
output-high;
};
gpio200_pins: gpio200-pins {
pins = "GPIO200/R2CK";
input-enable;
bias-disable;
};
gpio202_pins: gpio202-pins {
pins = "GPIO202/SMB0CSDA";
bias-disable;
input-enable;
};
gpio203o_pins: gpio203o-pins {
pins = "GPIO203/FANIN16";
bias-disable;
output-high;
};
gpio208_pins: gpio208-pins {
pins = "GPIO208/RG2TXC/DVCK";
bias-disable;
input-enable;
};
gpio209ol_pins: gpio209ol-pins {
pins = "GPIO209/RG2TXCTL/DDRV4";
bias-disable;
output-low;
};
gpio210ol_pins: gpio210ol-pins {
pins = "GPIO210/RG2RXD0/DDRV5";
bias-disable;
output-low;
};
gpio211ol_pins: gpio211ol-pins {
pins = "GPIO211/RG2RXD1/DDRV6";
bias-disable;
output-low;
};
gpio212ol_pins: gpio212ol-pins {
pins = "GPIO212/RG2RXD2/DDRV7";
bias-disable;
output-low;
};
gpio213ol_pins: gpio213ol-pins {
pins = "GPIO213/RG2RXD3/DDRV8";
bias-disable;
output-low;
};
gpio214ol_pins: gpio214ol-pins {
pins = "GPIO214/RG2RXC/DDRV9";
bias-disable;
output-low;
};
gpio215ol_pins: gpio215ol-pins {
pins = "GPIO215/RG2RXCTL/DDRV10";
bias-disable;
output-low;
};
gpio216ol_pins: gpio216ol-pins {
pins = "GPIO216/RG2MDC/DDRV11";
bias-disable;
output-low;
};
gpio217ol_pins: gpio217ol-pins {
pins = "GPIO217/RG2MDIO/DVHSYNC";
bias-disable;
output-low;
};
gpio224_pins: gpio224-pins {
pins = "GPIO224/SPIXCK";
bias-disable;
input-enable;
};
gpio225ol_pins: gpio225ol-pins {
pins = "GPO225/SPIXD0/STRAP12";
bias-disable;
output-low;
};
gpio226ol_pins: gpio226ol-pins {
pins = "GPO226/SPIXD1/STRAP13";
bias-disable;
output-low;
};
gpio227ol_pins: gpio227ol-pins {
pins = "GPIO227/nSPIXCS0";
bias-disable;
output-low;
};
gpio228o_pins: gpio228ol-pins {
pins = "GPIO228/nSPIXCS1";
bias-disable;
output-high;
};
gpio229o_pins: gpio229o-pins {
pins = "GPO229/SPIXD2/STRAP3";
bias-disable;
output-high;
};
gpio230_pins: gpio230-pins {
pins = "GPIO230/SPIXD3";
bias-disable;
input-enable;
};
gpio231o_pins: gpio231o-pins {
pins = "GPIO231/nCLKREQ";
bias-disable;
output-high;
};
};
};
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,127 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
// Copyright 2018 Google, Inc.
#include "nuvoton-common-npcm7xx.dtsi"
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
enable-method = "nuvoton,npcm750-smp";
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
clocks = <&clk NPCM7XX_CLK_CPU>;
clock-names = "clk_cpu";
reg = <0>;
next-level-cache = <&l2>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
clocks = <&clk NPCM7XX_CLK_CPU>;
clock-names = "clk_cpu";
reg = <1>;
next-level-cache = <&l2>;
};
};
soc {
timer@3fe600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0x3fe600 0x20>;
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
IRQ_TYPE_LEVEL_HIGH)>;
clocks = <&clk NPCM7XX_CLK_AHB>;
};
};
ahb {
gmac1: ethernet@f0804000 {
device_type = "network";
compatible = "snps,dwmac";
reg = <0xf0804000 0x2000>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
ethernet = <1>;
clocks = <&clk_rg2refck>, <&clk NPCM7XX_CLK_AHB>;
clock-names = "stmmaceth", "clk_gmac";
pinctrl-names = "default";
pinctrl-0 = <&rg2_pins
&rg2mdio_pins>;
status = "disabled";
};
udc0: usb@f0830000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0830000 0x1000
0xfffd0000 0x800>;
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
};
udc1: usb@f0831000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0831000 0x1000
0xfffd0800 0x800>;
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
};
udc2: usb@f0832000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0832000 0x1000
0xfffd1000 0x800>;
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
};
udc3: usb@f0833000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0833000 0x1000
0xfffd1800 0x800>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
};
udc4: usb@f0834000 {
compatible = "nuvoton,npcm750-udc";
reg = <0xf0834000 0x1000
0xfffd2000 0x800>;
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk NPCM7XX_CLK_SU>;
clock-names = "clk_usb_bridge";
phys = <&udc0_phy>;
phy_type = "utmi_wide";
dr_mode = "peripheral";
status = "disabled";
};
};
};
@@ -0,0 +1,111 @@
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
// Copyright 2021 Jonathan Neuschäfer
/dts-v1/;
/* The last 16 MiB are dedicated to the GPU */
/memreserve/ 0x07000000 0x01000000;
#include "nuvoton-wpcm450.dtsi"
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Supermicro X9SCi-LN4F BMC";
compatible = "supermicro,x9sci-ln4f-bmc", "nuvoton,wpcm450";
aliases {
serial0 = &serial0;
serial1 = &serial1;
};
chosen {
stdout-path = "serial0:115200n8";
};
memory@0 {
device_type = "memory";
reg = <0 0x08000000>; /* 128 MiB */
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_pins>;
button-uid {
label = "UID button";
linux,code = <KEY_HOME>;
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
led-uid {
label = "UID";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
};
led-heartbeat {
label = "heartbeat";
gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
};
};
};
&fiu {
status = "okay";
flash@0 {
reg = <0>;
compatible = "jedec,spi-nor";
};
};
&gpio0 {
gpio-line-names =
/* 0 */ "", "host-reset-control-n", "", "", "", "", "", "",
/* 8 */ "", "", "", "", "power-chassis-control-n", "", "uid-button", "";
};
&gpio1 {
gpio-line-names =
/* 0 */ "", "", "", "", "led-heartbeat", "", "", "led-uid",
/* 8 */ "", "", "", "", "", "", "", "";
};
&gpio4 {
gpio-line-names =
/* 0 */ "", "", "", "", "", "", "", "",
/* 8 */ "", "", "", "", "", "", "", "power-chassis-good";
};
&pinctrl {
key_pins: mux-keys {
groups = "gspi", "sspi";
function = "gpio";
};
led_pins: mux-leds {
groups = "hg3", "hg0", "pwm4";
function = "gpio";
};
};
&serial0 {
/*
* Debug serial port. TX is exposed on the right pad of unpopulated
* resistor R1247, RX on the right pad of R1162.
*/
status = "okay";
};
&serial1 {
/* "Serial over LAN" port. Connected to ttyS2 of the host system. */
status = "okay";
};
@@ -0,0 +1,495 @@
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
// Copyright 2021 Jonathan Neuschäfer
#include <dt-bindings/interrupt-controller/irq.h>
/ {
compatible = "nuvoton,wpcm450";
#address-cells = <1>;
#size-cells = <1>;
aliases {
gpio0 = &gpio0;
gpio1 = &gpio1;
gpio2 = &gpio2;
gpio3 = &gpio3;
gpio4 = &gpio4;
gpio5 = &gpio5;
gpio6 = &gpio6;
gpio7 = &gpio7;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "arm,arm926ej-s";
device_type = "cpu";
reg = <0>;
};
};
clk24m: clock-24mhz {
/* 24 MHz dummy clock */
compatible = "fixed-clock";
clock-frequency = <24000000>;
#clock-cells = <0>;
};
refclk: clock-48mhz {
/* 48 MHz reference oscillator */
compatible = "fixed-clock";
clock-output-names = "ref";
clock-frequency = <48000000>;
#clock-cells = <0>;
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&aic>;
ranges;
gcr: syscon@b0000000 {
compatible = "nuvoton,wpcm450-gcr", "syscon", "simple-mfd";
reg = <0xb0000000 0x200>;
};
clk: clock-controller@b0000200 {
compatible = "nuvoton,wpcm450-clk";
reg = <0xb0000200 0x100>;
clocks = <&refclk>;
clock-names = "ref";
#clock-cells = <1>;
#reset-cells = <1>;
};
serial0: serial@b8000000 {
compatible = "nuvoton,wpcm450-uart";
reg = <0xb8000000 0x20>;
reg-shift = <2>;
interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk24m>;
pinctrl-names = "default";
pinctrl-0 = <&bsp_pins>;
status = "disabled";
};
serial1: serial@b8000100 {
compatible = "nuvoton,wpcm450-uart";
reg = <0xb8000100 0x20>;
reg-shift = <2>;
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk24m>;
status = "disabled";
};
timer0: timer@b8001000 {
compatible = "nuvoton,wpcm450-timer";
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xb8001000 0x1c>;
clocks = <&clk24m>;
};
watchdog0: watchdog@b800101c {
compatible = "nuvoton,wpcm450-wdt";
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
reg = <0xb800101c 0x4>;
clocks = <&clk24m>;
};
aic: interrupt-controller@b8002000 {
compatible = "nuvoton,wpcm450-aic";
reg = <0xb8002000 0x1000>;
interrupt-controller;
#interrupt-cells = <2>;
};
pinctrl: pinctrl@b8003000 {
compatible = "nuvoton,wpcm450-pinctrl";
reg = <0xb8003000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
gpio0: gpio@0 {
reg = <0>;
gpio-controller;
#gpio-cells = <2>;
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
<3 IRQ_TYPE_LEVEL_HIGH>,
<4 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <2>;
interrupt-controller;
};
gpio1: gpio@1 {
reg = <1>;
gpio-controller;
#gpio-cells = <2>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <2>;
interrupt-controller;
};
gpio2: gpio@2 {
reg = <2>;
gpio-controller;
#gpio-cells = <2>;
};
gpio3: gpio@3 {
reg = <3>;
gpio-controller;
#gpio-cells = <2>;
};
gpio4: gpio@4 {
reg = <4>;
gpio-controller;
#gpio-cells = <2>;
};
gpio5: gpio@5 {
reg = <5>;
gpio-controller;
#gpio-cells = <2>;
};
gpio6: gpio@6 {
reg = <6>;
gpio-controller;
#gpio-cells = <2>;
};
gpio7: gpio@7 {
reg = <7>;
gpio-controller;
#gpio-cells = <2>;
};
smb3_pins: mux-smb3 {
groups = "smb3";
function = "smb3";
};
smb4_pins: mux-smb4 {
groups = "smb4";
function = "smb4";
};
smb5_pins: mux-smb5 {
groups = "smb5";
function = "smb5";
};
scs1_pins: mux-scs1 {
groups = "scs1";
function = "scs1";
};
scs2_pins: mux-scs2 {
groups = "scs2";
function = "scs2";
};
scs3_pins: mux-scs3 {
groups = "scs3";
function = "scs3";
};
smb0_pins: mux-smb0 {
groups = "smb0";
function = "smb0";
};
smb1_pins: mux-smb1 {
groups = "smb1";
function = "smb1";
};
smb2_pins: mux-smb2 {
groups = "smb2";
function = "smb2";
};
bsp_pins: mux-bsp {
groups = "bsp";
function = "bsp";
};
hsp1_pins: mux-hsp1 {
groups = "hsp1";
function = "hsp1";
};
hsp2_pins: mux-hsp2 {
groups = "hsp2";
function = "hsp2";
};
r1err_pins: mux-r1err {
groups = "r1err";
function = "r1err";
};
r1md_pins: mux-r1md {
groups = "r1md";
function = "r1md";
};
rmii2_pins: mux-rmii2 {
groups = "rmii2";
function = "rmii2";
};
r2err_pins: mux-r2err {
groups = "r2err";
function = "r2err";
};
r2md_pins: mux-r2md {
groups = "r2md";
function = "r2md";
};
kbcc_pins: mux-kbcc {
groups = "kbcc";
function = "kbcc";
};
dvo0_pins: mux-dvo0 {
groups = "dvo";
function = "dvo0";
};
dvo3_pins: mux-dvo3 {
groups = "dvo";
function = "dvo3";
};
clko_pins: mux-clko {
groups = "clko";
function = "clko";
};
smi_pins: mux-smi {
groups = "smi";
function = "smi";
};
uinc_pins: mux-uinc {
groups = "uinc";
function = "uinc";
};
gspi_pins: mux-gspi {
groups = "gspi";
function = "gspi";
};
mben_pins: mux-mben {
groups = "mben";
function = "mben";
};
xcs2_pins: mux-xcs2 {
groups = "xcs2";
function = "xcs2";
};
xcs1_pins: mux-xcs1 {
groups = "xcs1";
function = "xcs1";
};
sdio_pins: mux-sdio {
groups = "sdio";
function = "sdio";
};
sspi_pins: mux-sspi {
groups = "sspi";
function = "sspi";
};
fi0_pins: mux-fi0 {
groups = "fi0";
function = "fi0";
};
fi1_pins: mux-fi1 {
groups = "fi1";
function = "fi1";
};
fi2_pins: mux-fi2 {
groups = "fi2";
function = "fi2";
};
fi3_pins: mux-fi3 {
groups = "fi3";
function = "fi3";
};
fi4_pins: mux-fi4 {
groups = "fi4";
function = "fi4";
};
fi5_pins: mux-fi5 {
groups = "fi5";
function = "fi5";
};
fi6_pins: mux-fi6 {
groups = "fi6";
function = "fi6";
};
fi7_pins: mux-fi7 {
groups = "fi7";
function = "fi7";
};
fi8_pins: mux-fi8 {
groups = "fi8";
function = "fi8";
};
fi9_pins: mux-fi9 {
groups = "fi9";
function = "fi9";
};
fi10_pins: mux-fi10 {
groups = "fi10";
function = "fi10";
};
fi11_pins: mux-fi11 {
groups = "fi11";
function = "fi11";
};
fi12_pins: mux-fi12 {
groups = "fi12";
function = "fi12";
};
fi13_pins: mux-fi13 {
groups = "fi13";
function = "fi13";
};
fi14_pins: mux-fi14 {
groups = "fi14";
function = "fi14";
};
fi15_pins: mux-fi15 {
groups = "fi15";
function = "fi15";
};
pwm0_pins: mux-pwm0 {
groups = "pwm0";
function = "pwm0";
};
pwm1_pins: mux-pwm1 {
groups = "pwm1";
function = "pwm1";
};
pwm2_pins: mux-pwm2 {
groups = "pwm2";
function = "pwm2";
};
pwm3_pins: mux-pwm3 {
groups = "pwm3";
function = "pwm3";
};
pwm4_pins: mux-pwm4 {
groups = "pwm4";
function = "pwm4";
};
pwm5_pins: mux-pwm5 {
groups = "pwm5";
function = "pwm5";
};
pwm6_pins: mux-pwm6 {
groups = "pwm6";
function = "pwm6";
};
pwm7_pins: mux-pwm7 {
groups = "pwm7";
function = "pwm7";
};
hg0_pins: mux-hg0 {
groups = "hg0";
function = "hg0";
};
hg1_pins: mux-hg1 {
groups = "hg1";
function = "hg1";
};
hg2_pins: mux-hg2 {
groups = "hg2";
function = "hg2";
};
hg3_pins: mux-hg3 {
groups = "hg3";
function = "hg3";
};
hg4_pins: mux-hg4 {
groups = "hg4";
function = "hg4";
};
hg5_pins: mux-hg5 {
groups = "hg5";
function = "hg5";
};
hg6_pins: mux-hg6 {
groups = "hg6";
function = "hg6";
};
hg7_pins: mux-hg7 {
groups = "hg7";
function = "hg7";
};
};
fiu: spi-controller@c8000000 {
compatible = "nuvoton,wpcm450-fiu";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
reg-names = "control", "memory";
clocks = <&clk 0>;
nuvoton,shm = <&shm>;
status = "disabled";
};
shm: syscon@c8001000 {
compatible = "nuvoton,wpcm450-shm", "syscon";
reg = <0xc8001000 0x1000>;
reg-io-width = <1>;
};
};
};