// SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2019 Nuvoton Technology // Copyright (c) 2019 Quanta Computer Inc. /dts-v1/; #include "nuvoton-npcm750.dtsi" #include "nuvoton-npcm750-runbmc-olympus-pincfg.dtsi" #include #include / { model = "Nuvoton npcm750 RunBMC Olympus"; compatible = "nuvoton,npcm750"; aliases { ethernet1 = &gmac0; 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; 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>; }; leds { compatible = "gpio-leds"; heartbeat { label = "heartbeat"; gpios = <&gpio3 14 1>; }; identify { label = "identify"; gpios = <&gpio3 15 1>; }; }; jtag { compatible = "nuvoton,npcm750-jtag"; enable_pspi_jtag = <1>; pspi-index = <2>; tck { label = "tck"; gpios = <&gpio0 19 0>; /* gpio19 */ regbase = <0xf0010000 0x1000>; }; tdi { label = "tdi"; gpios = <&gpio0 18 0>; /* gpio18 */ regbase = <0xf0010000 0x1000>; }; tdo { label = "tdo"; gpios = <&gpio0 17 0>; /* gpio17 */ regbase = <0xf0010000 0x1000>; }; tms { label = "tms"; gpios = <&gpio0 16 0>; /* gpio16 */ regbase = <0xf0010000 0x1000>; }; }; }; &fiu0 { pinctrl-names = "default"; pinctrl-0 = <&spi0cs1_pins>; status = "okay"; spi-nor@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 0x1500000>; }; rwfs@1d00000 { label = "rwfs"; reg = <0x1d00000 0x300000>; }; }; }; spi-nor@1 { compatible = "jedec,spi-nor"; #address-cells = <1>; #size-cells = <1>; reg = <1>; npcm,fiu-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>; status = "okay"; spi-nor@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>; system1@0 { label = "spi3-system1"; reg = <0x0 0x800000>; }; system2@800000 { label = "spi3-system2"; reg = <0x800000 0x0>; }; }; }; }; &gcr { mux-controller { compatible = "mmio-mux"; #mux-control-cells = <1>; mux-reg-masks = <0x38 0x07>; idle-states = <6>; }; }; &gmac0 { phy-mode = "rgmii-id"; snps,eee-force-disable; status = "okay"; }; &i2c1 { status = "okay"; i2c-switch@70 { compatible = "nxp,pca9548"; #address-cells = <1>; #size-cells = <0>; reg = <0x70>; i2c-mux-idle-disconnect; i2c_slot1a: i2c-bus@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; i2c_slot1b: i2c-bus@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; }; i2c_slot2a: i2c-bus@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; }; i2c_slot2b: i2c-bus@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; }; i2c_slot3: i2c-bus@4 { #address-cells = <1>; #size-cells = <0>; reg = <4>; }; i2c_slot4: i2c-bus@5 { #address-cells = <1>; #size-cells = <0>; reg = <5>; }; i2c_slot5: i2c-bus@6 { #address-cells = <1>; #size-cells = <0>; reg = <6>; }; }; i2c-switch@71 { compatible = "nxp,pca9546"; reg = <0x71>; #address-cells = <1>; #size-cells = <0>; i2c-mux-idle-disconnect; i2c_m2_s1: i2c-bus@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; i2c_m2_s2: i2c-bus@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; }; i2c_m2_s3: i2c-bus@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; }; i2c_m2_s4: i2c-bus@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; }; }; }; &i2c2 { status = "okay"; tmp421@4c { compatible = "ti,tmp421"; reg = <0x4c>; }; power-supply@58 { compatible = "delta,dps800"; reg = <0x58>; }; }; &i2c3 { status = "okay"; }; &i2c4 { status = "okay"; eeprom@54 { compatible = "atmel,24c64"; reg = <0x54>; }; }; &i2c5 { status = "okay"; i2c-slave-mqueue@10 { compatible = "i2c-slave-mqueue"; reg = <(I2C_OWN_SLAVE_ADDRESS | 0x10)>; }; }; &i2c6 { status = "okay"; ina219@40 { compatible = "ti,ina219"; reg = <0x40>; }; ina219@41 { compatible = "ti,ina219"; reg = <0x41>; }; ina219@44 { compatible = "ti,ina219"; reg = <0x44>; }; ina219@45 { compatible = "ti,ina219"; reg = <0x45>; }; tps53679@60 { compatible = "ti,tps53679"; reg = <0x60>; }; tps53659@62 { compatible = "ti,tps53659"; reg = <0x62>; }; tps53659@64 { compatible = "ti,tps53659"; reg = <0x64>; }; tps53622@67 { compatible = "ti,tps53622"; reg = <0x67>; }; tps53622@69 { compatible = "ti,tps53622"; reg = <0x69>; }; tps53679@70 { compatible = "ti,tps53679"; reg = <0x70>; }; tps53659@72 { compatible = "ti,tps53659"; reg = <0x72>; }; tps53659@74 { compatible = "ti,tps53659"; reg = <0x74>; }; tps53622@77 { compatible = "ti,tps53622"; reg = <0x77>; }; }; &i2c7 { status = "okay"; tmp421@4c { compatible = "ti,tmp421"; reg = <0x4c>; }; }; &i2c8 { status = "okay"; adm1278@11 { compatible = "adm1278"; reg = <0x11>; Rsense = <500>; }; }; &i2c9 { status = "okay"; }; &i2c10 { status = "okay"; gpio: pca9555@27 { compatible = "nxp,pca9555"; reg = <0x27>; gpio-controller; #gpio-cells = <2>; }; }; &i2c11 { status = "okay"; pca9539_g1a: pca9539-g1a@74 { compatible = "nxp,pca9539"; reg = <0x74>; gpio-controller; #gpio-cells = <2>; reset-gpios = <&gpio7 4 GPIO_ACTIVE_LOW>; G1A_P0_0 { gpio-hog; gpios = <0 0>; output-high; line-name = "TPM_BMC_ALERT_N"; }; G1A_P0_1 { gpio-hog; gpios = <1 0>; input; line-name = "FM_BIOS_TOP_SWAP"; }; G1A_P0_2 { gpio-hog; gpios = <2 0>; input; line-name = "FM_BIOS_PREFRB2_GOOD"; }; G1A_P0_3 { gpio-hog; gpios = <3 0>; input; line-name = "BMC_SATAXPCIE_0TO3_SEL"; }; G1A_P0_4 { gpio-hog; gpios = <4 0>; input; line-name = "BMC_SATAXPCIE_4TO7_SEL"; }; G1A_P0_5 { gpio-hog; gpios = <5 0>; output-low; line-name = "FM_UV_ADR_TRIGGER_EN_N"; }; G1A_P0_6 { gpio-hog; gpios = <6 0>; input; line-name = "RM_THROTTLE_EN_N"; }; G1A_P1_0 { gpio-hog; gpios = <8 0>; input; line-name = "FM_BMC_TPM_PRES_N"; }; G1A_P1_1 { gpio-hog; gpios = <9 0>; input; line-name = "FM_CPU0_SKTOCC_LVT3_N"; }; G1A_P1_2 { gpio-hog; gpios = <10 0>; input; line-name = "FM_CPU1_SKTOCC_LVT3_N"; }; G1A_P1_3 { gpio-hog; gpios = <11 0>; input; line-name = "PSU1_ALERT_N"; }; G1A_P1_4 { gpio-hog; gpios = <12 0>; input; line-name = "PSU2_ALERT_N"; }; G1A_P1_5 { gpio-hog; gpios = <13 0>; input; line-name = "H_CPU0_FAST_WAKE_LVT3_N"; }; G1A_P1_6 { gpio-hog; gpios = <14 0>; output-high; line-name = "I2C_MUX1_RESET_N"; }; G1A_P1_7 { gpio-hog; gpios = <15 0>; input; line-name = "FM_CPU_CATERR_LVT3_N"; }; }; pca9539_g1b: pca9539-g1b@75 { compatible = "nxp,pca9539"; reg = <0x75>; gpio-controller; #gpio-cells = <2>; G1B_P0_0 { gpio-hog; gpios = <0 0>; input; line-name = "PVDDQ_ABC_PINALERT_N"; }; G1B_P0_1 { gpio-hog; gpios = <1 0>; input; line-name = "PVDDQ_DEF_PINALERT_N"; }; G1B_P0_2 { gpio-hog; gpios = <2 0>; input; line-name = "PVDDQ_GHJ_PINALERT_N"; }; G1B_P0_3 { gpio-hog; gpios = <3 0>; input; line-name = "PVDDQ_KLM_PINALERT_N"; }; G1B_P0_5 { gpio-hog; gpios = <5 0>; input; line-name = "FM_BOARD_REV_ID0"; }; G1B_P0_6 { gpio-hog; gpios = <6 0>; input; line-name = "FM_BOARD_REV_ID1"; }; G1B_P0_7 { gpio-hog; gpios = <7 0>; input; line-name = "FM_BOARD_REV_ID2"; }; G1B_P1_0 { gpio-hog; gpios = <8 0>; input; line-name = "FM_OC_DETECT_EN_N"; }; G1B_P1_1 { gpio-hog; gpios = <9 0>; input; line-name = "FM_FLASH_DESC_OVERRIDE"; }; G1B_P1_2 { gpio-hog; gpios = <10 0>; output-low; line-name = "FP_PWR_ID_LED_N"; }; G1B_P1_3 { gpio-hog; gpios = <11 0>; output-low; line-name = "BMC_LED_PWR_GRN"; }; G1B_P1_4 { gpio-hog; gpios = <12 0>; output-low; line-name = "BMC_LED_PWR_AMBER"; }; G1B_P1_5 { gpio-hog; gpios = <13 0>; output-high; line-name = "FM_BMC_FAULT_LED_N"; }; G1B_P1_6 { gpio-hog; gpios = <14 0>; output-high; line-name = "FM_CPLD_BMC_PWRDN_N"; }; G1B_P1_7 { gpio-hog; gpios = <15 0>; output-high; line-name = "BMC_LED_CATERR_N"; }; }; }; &i2c12 { status = "okay"; pca9539_g2a: pca9539-g2a@74 { compatible = "nxp,pca9539"; reg = <0x74>; gpio-controller; #gpio-cells = <2>; reset-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>; G2A_P0_0 { gpio-hog; gpios = <0 0>; output-high; line-name = "BMC_PON_RST_REQ_N"; }; G2A_P0_1 { gpio-hog; gpios = <1 0>; output-high; line-name = "BMC_RST_IND_REQ_N"; }; G2A_P0_2 { gpio-hog; gpios = <2 0>; input; line-name = "RST_BMC_RTCRST"; }; G2A_P0_3 { gpio-hog; gpios = <3 0>; output-high; line-name = "FM_BMC_PWRBTN_OUT_N"; }; G2A_P0_4 { gpio-hog; gpios = <4 0>; output-high; line-name = "RST_BMC_SYSRST_BTN_OUT_N"; }; G2A_P0_5 { gpio-hog; gpios = <5 0>; output-high; line-name = "FM_BATTERY_SENSE_EN_N"; }; G2A_P0_6 { gpio-hog; gpios = <6 0>; output-high; line-name = "FM_BMC_READY_N"; }; G2A_P0_7 { gpio-hog; gpios = <7 0>; input; line-name = "IRQ_BMC_PCH_SMI_LPC_N"; }; G2A_P1_0 { gpio-hog; gpios = <8 0>; input; line-name = "FM_SLOT4_CFG0"; }; G2A_P1_1 { gpio-hog; gpios = <9 0>; input; line-name = "FM_SLOT4_CFG1"; }; G2A_P1_2 { gpio-hog; gpios = <10 0>; input; line-name = "FM_NVDIMM_EVENT_N"; }; G2A_P1_3 { gpio-hog; gpios = <11 0>; input; line-name = "PSU1_BLADE_EN_N"; }; G2A_P1_4 { gpio-hog; gpios = <12 0>; input; line-name = "BMC_PCH_FNM"; }; G2A_P1_5 { gpio-hog; gpios = <13 0>; input; line-name = "FM_SOL_UART_CH_SEL"; }; G2A_P1_6 { gpio-hog; gpios = <14 0>; input; line-name = "FM_BIOS_POST_CMPLT_N"; }; }; pca9539_g2b: pca9539-g2b@75 { compatible = "nxp,pca9539"; reg = <0x75>; gpio-controller; #gpio-cells = <2>; G2B_P0_0 { gpio-hog; gpios = <0 0>; input; line-name = "FM_CPU_MSMI_LVT3_N"; }; G2B_P0_1 { gpio-hog; gpios = <1 0>; input; line-name = "FM_BIOS_MRC_DEBUG_MSG_DIS"; }; G2B_P0_2 { gpio-hog; gpios = <2 0>; input; line-name = "FM_CPU1_DISABLE_BMC_N"; }; G2B_P0_3 { gpio-hog; gpios = <3 0>; output-low; line-name = "BMC_JTAG_SELECT"; }; G2B_P0_4 { gpio-hog; gpios = <4 0>; output-high; line-name = "PECI_MUX_SELECT"; }; G2B_P0_5 { gpio-hog; gpios = <5 0>; output-high; line-name = "I2C_MUX2_RESET_N"; }; G2B_P0_6 { gpio-hog; gpios = <6 0>; input; line-name = "FM_BMC_CPLD_PSU2_ON"; }; G2B_P0_7 { gpio-hog; gpios = <7 0>; output-high; line-name = "PSU2_ALERT_EN_N"; }; G2B_P1_0 { gpio-hog; gpios = <8 0>; output-high; line-name = "FM_CPU_BMC_INIT"; }; G2B_P1_1 { gpio-hog; gpios = <9 0>; output-high; line-name = "IRQ_BMC_PCH_SCI_LPC_N"; }; G2B_P1_2 { gpio-hog; gpios = <10 0>; output-low; line-name = "PMB_ALERT_EN_N"; }; G2B_P1_3 { gpio-hog; gpios = <11 0>; output-high; line-name = "FM_FAST_PROCHOT_EN_N"; }; G2B_P1_4 { gpio-hog; gpios = <12 0>; output-high; line-name = "BMC_NVDIMM_PRSNT_N"; }; G2B_P1_5 { gpio-hog; gpios = <13 0>; output-low; line-name = "FM_BACKUP_BIOS_SEL_H_BMC"; }; G2B_P1_6 { gpio-hog; gpios = <14 0>; output-high; line-name = "FM_PWRBRK_N"; }; }; }; &i2c13 { status = "okay"; tmp75@4a { compatible = "ti,tmp75"; reg = <0x4a>; status = "okay"; }; m24128_fru@51 { compatible = "atmel,24c128"; reg = <0x51>; pagesize = <64>; status = "okay"; }; }; &pwm_fan { pinctrl-names = "default"; pinctrl-0 = < &pwm0_pins &pwm1_pins &fanin0_pins &fanin1_pins &fanin2_pins &fanin3_pins &fanin4_pins &fanin5_pins &fanin6_pins &fanin7_pins &fanin8_pins &fanin9_pins &fanin10_pins &fanin11_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>; }; 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>; }; }; &ehci1 { status = "okay"; }; &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"; }; &kcs1 { status = "okay"; }; &kcs2 { status = "okay"; }; &kcs3 { status = "okay"; }; &spi0 { cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; status = "okay"; }; &spi1 { status = "okay"; }; &pinctrl { pinctrl-names = "default"; pinctrl-0 = < /******* RunBMC inside Module pins *******/ &gpio0ol_pins &gpio1ol_pins &gpio2ol_pins &gpio3ol_pins &gpio8o_pins &gpio9ol_pins &gpio12ol_pins &gpio13ol_pins &gpio14ol_pins &gpio15ol_pins &gpio37o_pins &gpio38_pins &gpio39_pins &gpio94ol_pins &gpio108ol_pins &gpio109ol_pins &gpio111ol_pins &gpio112ol_pins &gpio113ol_pins &gpio208_pins &gpio209ol_pins &gpio210ol_pins &gpio211ol_pins &gpio212ol_pins &gpio213ol_pins &gpio214ol_pins &gpio215ol_pins &gpio216ol_pins &gpio217ol_pins /******* RunBMC outside Connector pins *******/ &gpio5_pins &gpio6_pins &gpio7_pins &gpio10_pins &gpio11_pins &gpio20_pins &gpio21_pins &gpio22o_pins &gpio23_pins &gpio24_pins &gpio25_pins &gpio30_pins &gpio31_pins &gpio40o_pins &gpio59_pins &gpio76_pins &gpio77_pins &gpio78o_pins &gpio79_pins &gpio82_pins &gpio83_pins &gpio84_pins &gpio85o_pins &gpio86ol_pins &gpio87_pins &gpio88_pins &gpio89_pins &gpio90_pins &gpio93_pins &gpio114o_pins &gpio115_pins &gpio120_pins &gpio121_pins &gpio122_pins &gpio123_pins &gpio124_pins &gpio125_pins &gpio126_pins &gpio127o_pins &gpio136_pins &gpio137_pins &gpio138_pins &gpio139_pins &gpio140_pins &gpio141_pins &gpio142_pins &gpio143_pins &gpio144_pins &gpio146_pins &gpio145_pins &gpio147_pins &gpio153o_pins &gpio155_pins &gpio160o_pins &gpio169o_pins &gpio188o_pins &gpio189_pins &gpio196_pins &gpio197_pins &gpio198o_pins &gpio199o_pins &gpio200_pins &gpio202_pins &gpio203o_pins &gpio224_pins &gpio225ol_pins &gpio226ol_pins &gpio227ol_pins &gpio228o_pins &gpio229o_pins &gpio230_pins &gpio231o_pins &ddc_pins &wdog1_pins &wdog2_pins >; };