1*90e9de1dSWillie Thai// SPDX-License-Identifier: GPL-2.0+ 2*90e9de1dSWillie Thai/dts-v1/; 3*90e9de1dSWillie Thai 4*90e9de1dSWillie Thai#include "aspeed-g6.dtsi" 5*90e9de1dSWillie Thai#include <dt-bindings/i2c/i2c.h> 6*90e9de1dSWillie Thai#include <dt-bindings/gpio/aspeed-gpio.h> 7*90e9de1dSWillie Thai#include <dt-bindings/leds/common.h> 8*90e9de1dSWillie Thai 9*90e9de1dSWillie Thai/ { 10*90e9de1dSWillie Thai model = "AST2600 GB200NVL BMC"; 11*90e9de1dSWillie Thai compatible = "nvidia,gb200nvl-bmc", "aspeed,ast2600"; 12*90e9de1dSWillie Thai 13*90e9de1dSWillie Thai aliases { 14*90e9de1dSWillie Thai serial2 = &uart3; 15*90e9de1dSWillie Thai serial4 = &uart5; 16*90e9de1dSWillie Thai i2c16 = &imux16; 17*90e9de1dSWillie Thai i2c17 = &imux17; 18*90e9de1dSWillie Thai i2c18 = &imux18; 19*90e9de1dSWillie Thai i2c19 = &imux19; 20*90e9de1dSWillie Thai i2c20 = &imux20; 21*90e9de1dSWillie Thai i2c21 = &imux21; 22*90e9de1dSWillie Thai i2c22 = &imux22; 23*90e9de1dSWillie Thai i2c23 = &imux23; 24*90e9de1dSWillie Thai i2c24 = &imux24; 25*90e9de1dSWillie Thai i2c25 = &imux25; 26*90e9de1dSWillie Thai i2c26 = &imux26; 27*90e9de1dSWillie Thai i2c27 = &imux27; 28*90e9de1dSWillie Thai i2c28 = &imux28; 29*90e9de1dSWillie Thai i2c29 = &imux29; 30*90e9de1dSWillie Thai i2c30 = &imux30; 31*90e9de1dSWillie Thai i2c31 = &imux31; 32*90e9de1dSWillie Thai i2c32 = &imux32; 33*90e9de1dSWillie Thai i2c33 = &imux33; 34*90e9de1dSWillie Thai i2c34 = &imux34; 35*90e9de1dSWillie Thai i2c35 = &imux35; 36*90e9de1dSWillie Thai i2c36 = &imux36; 37*90e9de1dSWillie Thai i2c37 = &imux37; 38*90e9de1dSWillie Thai i2c38 = &imux38; 39*90e9de1dSWillie Thai i2c39 = &imux39; 40*90e9de1dSWillie Thai i2c40 = &e1si2c0; 41*90e9de1dSWillie Thai i2c41 = &e1si2c1; 42*90e9de1dSWillie Thai i2c42 = &e1si2c2; 43*90e9de1dSWillie Thai i2c43 = &e1si2c3; 44*90e9de1dSWillie Thai i2c44 = &e1si2c4; 45*90e9de1dSWillie Thai i2c45 = &e1si2c5; 46*90e9de1dSWillie Thai i2c46 = &e1si2c6; 47*90e9de1dSWillie Thai i2c47 = &e1si2c7; 48*90e9de1dSWillie Thai i2c48 = &i2c17mux0; 49*90e9de1dSWillie Thai i2c49 = &i2c17mux1; 50*90e9de1dSWillie Thai i2c50 = &i2c17mux2; 51*90e9de1dSWillie Thai i2c51 = &i2c17mux3; 52*90e9de1dSWillie Thai i2c52 = &i2c25mux0; 53*90e9de1dSWillie Thai i2c53 = &i2c25mux1; 54*90e9de1dSWillie Thai i2c54 = &i2c25mux2; 55*90e9de1dSWillie Thai i2c55 = &i2c25mux3; 56*90e9de1dSWillie Thai i2c56 = &i2c29mux0; 57*90e9de1dSWillie Thai i2c57 = &i2c29mux1; 58*90e9de1dSWillie Thai i2c58 = &i2c29mux2; 59*90e9de1dSWillie Thai i2c59 = &i2c29mux3; 60*90e9de1dSWillie Thai }; 61*90e9de1dSWillie Thai 62*90e9de1dSWillie Thai chosen { 63*90e9de1dSWillie Thai stdout-path = &uart5; 64*90e9de1dSWillie Thai }; 65*90e9de1dSWillie Thai 66*90e9de1dSWillie Thai memory@80000000 { 67*90e9de1dSWillie Thai device_type = "memory"; 68*90e9de1dSWillie Thai reg = <0x80000000 0x80000000>; 69*90e9de1dSWillie Thai }; 70*90e9de1dSWillie Thai 71*90e9de1dSWillie Thai reserved-memory { 72*90e9de1dSWillie Thai #address-cells = <1>; 73*90e9de1dSWillie Thai #size-cells = <1>; 74*90e9de1dSWillie Thai ranges; 75*90e9de1dSWillie Thai 76*90e9de1dSWillie Thai vga_memory: framebuffer@9f000000 { 77*90e9de1dSWillie Thai no-map; 78*90e9de1dSWillie Thai reg = <0x9f000000 0x01000000>; /* 16M */ 79*90e9de1dSWillie Thai }; 80*90e9de1dSWillie Thai 81*90e9de1dSWillie Thai ramoops@a0000000 { 82*90e9de1dSWillie Thai compatible = "ramoops"; 83*90e9de1dSWillie Thai reg = <0xa0000000 0x100000>; /* 1MB */ 84*90e9de1dSWillie Thai record-size = <0x10000>; /* 64KB */ 85*90e9de1dSWillie Thai max-reason = <2>; /* KMSG_DUMP_OOPS */ 86*90e9de1dSWillie Thai }; 87*90e9de1dSWillie Thai 88*90e9de1dSWillie Thai gfx_memory: framebuffer { 89*90e9de1dSWillie Thai size = <0x01000000>; 90*90e9de1dSWillie Thai alignment = <0x01000000>; 91*90e9de1dSWillie Thai compatible = "shared-dma-pool"; 92*90e9de1dSWillie Thai reusable; 93*90e9de1dSWillie Thai }; 94*90e9de1dSWillie Thai 95*90e9de1dSWillie Thai video_engine_memory: jpegbuffer { 96*90e9de1dSWillie Thai size = <0x02000000>; /* 32M */ 97*90e9de1dSWillie Thai alignment = <0x01000000>; 98*90e9de1dSWillie Thai compatible = "shared-dma-pool"; 99*90e9de1dSWillie Thai reusable; 100*90e9de1dSWillie Thai }; 101*90e9de1dSWillie Thai }; 102*90e9de1dSWillie Thai 103*90e9de1dSWillie Thai leds { 104*90e9de1dSWillie Thai compatible = "gpio-leds"; 105*90e9de1dSWillie Thai led-0 { 106*90e9de1dSWillie Thai label = "uid_led"; 107*90e9de1dSWillie Thai gpios = <&sgpiom0 27 GPIO_ACTIVE_LOW>; 108*90e9de1dSWillie Thai }; 109*90e9de1dSWillie Thai led-1 { 110*90e9de1dSWillie Thai label = "fault_led"; 111*90e9de1dSWillie Thai gpios = <&sgpiom0 29 GPIO_ACTIVE_LOW>; 112*90e9de1dSWillie Thai }; 113*90e9de1dSWillie Thai led-2 { 114*90e9de1dSWillie Thai label = "power_led"; 115*90e9de1dSWillie Thai gpios = <&sgpiom0 31 GPIO_ACTIVE_LOW>; 116*90e9de1dSWillie Thai }; 117*90e9de1dSWillie Thai }; 118*90e9de1dSWillie Thai 119*90e9de1dSWillie Thai buttons { 120*90e9de1dSWillie Thai button-power { 121*90e9de1dSWillie Thai label = "power-btn"; 122*90e9de1dSWillie Thai gpio = <&sgpiom0 156 GPIO_ACTIVE_LOW>; 123*90e9de1dSWillie Thai }; 124*90e9de1dSWillie Thai button-uid { 125*90e9de1dSWillie Thai label = "uid-btn"; 126*90e9de1dSWillie Thai gpio = <&sgpiom0 154 GPIO_ACTIVE_LOW>; 127*90e9de1dSWillie Thai }; 128*90e9de1dSWillie Thai }; 129*90e9de1dSWillie Thai}; 130*90e9de1dSWillie Thai 131*90e9de1dSWillie Thai// Enable Primary flash on FMC for bring up activity 132*90e9de1dSWillie Thai&fmc { 133*90e9de1dSWillie Thai status = "okay"; 134*90e9de1dSWillie Thai flash@0 { 135*90e9de1dSWillie Thai status = "okay"; 136*90e9de1dSWillie Thai compatible = "jedec,spi-nor"; 137*90e9de1dSWillie Thai label = "bmc"; 138*90e9de1dSWillie Thai spi-max-frequency = <50000000>; 139*90e9de1dSWillie Thai partitions { 140*90e9de1dSWillie Thai compatible = "fixed-partitions"; 141*90e9de1dSWillie Thai #address-cells = <1>; 142*90e9de1dSWillie Thai #size-cells = <1>; 143*90e9de1dSWillie Thai 144*90e9de1dSWillie Thai u-boot@0 { 145*90e9de1dSWillie Thai // 896KB 146*90e9de1dSWillie Thai reg = <0x0 0xe0000>; 147*90e9de1dSWillie Thai label = "u-boot"; 148*90e9de1dSWillie Thai }; 149*90e9de1dSWillie Thai 150*90e9de1dSWillie Thai kernel@100000 { 151*90e9de1dSWillie Thai // 9MB 152*90e9de1dSWillie Thai reg = <0x100000 0x900000>; 153*90e9de1dSWillie Thai label = "kernel"; 154*90e9de1dSWillie Thai }; 155*90e9de1dSWillie Thai 156*90e9de1dSWillie Thai rofs@a00000 { 157*90e9de1dSWillie Thai // 55292KB (extends to end of 64MB SPI - 4KB) 158*90e9de1dSWillie Thai reg = <0xa00000 0x35FF000>; 159*90e9de1dSWillie Thai label = "rofs"; 160*90e9de1dSWillie Thai }; 161*90e9de1dSWillie Thai }; 162*90e9de1dSWillie Thai }; 163*90e9de1dSWillie Thai}; 164*90e9de1dSWillie Thai 165*90e9de1dSWillie Thai&spi2 { 166*90e9de1dSWillie Thai status = "okay"; 167*90e9de1dSWillie Thai pinctrl-names = "default"; 168*90e9de1dSWillie Thai pinctrl-0 = <&pinctrl_spi2_default>; 169*90e9de1dSWillie Thai 170*90e9de1dSWillie Thai // Data SPI is 64MB in size 171*90e9de1dSWillie Thai flash@0 { 172*90e9de1dSWillie Thai status = "okay"; 173*90e9de1dSWillie Thai label = "config"; 174*90e9de1dSWillie Thai spi-max-frequency = <50000000>; 175*90e9de1dSWillie Thai partitions { 176*90e9de1dSWillie Thai compatible = "fixed-partitions"; 177*90e9de1dSWillie Thai #address-cells = <1>; 178*90e9de1dSWillie Thai #size-cells = <1>; 179*90e9de1dSWillie Thai 180*90e9de1dSWillie Thai u-boot-env@0 { 181*90e9de1dSWillie Thai // 256KB 182*90e9de1dSWillie Thai reg = <0x0 0x40000>; 183*90e9de1dSWillie Thai label = "u-boot-env"; 184*90e9de1dSWillie Thai }; 185*90e9de1dSWillie Thai 186*90e9de1dSWillie Thai rwfs@40000 { 187*90e9de1dSWillie Thai // 16MB 188*90e9de1dSWillie Thai reg = <0x40000 0x1000000>; 189*90e9de1dSWillie Thai label = "rwfs"; 190*90e9de1dSWillie Thai }; 191*90e9de1dSWillie Thai 192*90e9de1dSWillie Thai log@1040000 { 193*90e9de1dSWillie Thai // 40MB 194*90e9de1dSWillie Thai reg = <0x1040000 0x2800000>; 195*90e9de1dSWillie Thai label = "log"; 196*90e9de1dSWillie Thai }; 197*90e9de1dSWillie Thai }; 198*90e9de1dSWillie Thai }; 199*90e9de1dSWillie Thai}; 200*90e9de1dSWillie Thai 201*90e9de1dSWillie Thai&uart1 { 202*90e9de1dSWillie Thai status = "okay"; 203*90e9de1dSWillie Thai}; 204*90e9de1dSWillie Thai 205*90e9de1dSWillie Thai&uart3 { 206*90e9de1dSWillie Thai // Enabling SOL 207*90e9de1dSWillie Thai status = "okay"; 208*90e9de1dSWillie Thai}; 209*90e9de1dSWillie Thai 210*90e9de1dSWillie Thai&uart5 { 211*90e9de1dSWillie Thai // BMC Debug Console 212*90e9de1dSWillie Thai status = "okay"; 213*90e9de1dSWillie Thai}; 214*90e9de1dSWillie Thai 215*90e9de1dSWillie Thai&uart_routing { 216*90e9de1dSWillie Thai status = "okay"; 217*90e9de1dSWillie Thai}; 218*90e9de1dSWillie Thai 219*90e9de1dSWillie Thai&mac2 { 220*90e9de1dSWillie Thai status = "okay"; 221*90e9de1dSWillie Thai phy-mode = "rmii"; 222*90e9de1dSWillie Thai use-ncsi; 223*90e9de1dSWillie Thai pinctrl-names = "default"; 224*90e9de1dSWillie Thai pinctrl-0 = <&pinctrl_rmii3_default>; 225*90e9de1dSWillie Thai}; 226*90e9de1dSWillie Thai 227*90e9de1dSWillie Thai/* 228*90e9de1dSWillie Thai * Enable USB port A as device (via the virtual hub) to host 229*90e9de1dSWillie Thai */ 230*90e9de1dSWillie Thai&vhub { 231*90e9de1dSWillie Thai status = "okay"; 232*90e9de1dSWillie Thai}; 233*90e9de1dSWillie Thai 234*90e9de1dSWillie Thai&video { 235*90e9de1dSWillie Thai status = "okay"; 236*90e9de1dSWillie Thai memory-region = <&video_engine_memory>; 237*90e9de1dSWillie Thai}; 238*90e9de1dSWillie Thai 239*90e9de1dSWillie Thai// USB 2.0 to HMC, on USB Port B 240*90e9de1dSWillie Thai&ehci1 { 241*90e9de1dSWillie Thai status = "okay"; 242*90e9de1dSWillie Thai}; 243*90e9de1dSWillie Thai 244*90e9de1dSWillie Thai// USB 1.0 245*90e9de1dSWillie Thai&uhci { 246*90e9de1dSWillie Thai status = "okay"; 247*90e9de1dSWillie Thai}; 248*90e9de1dSWillie Thai 249*90e9de1dSWillie Thai&sgpiom0 { 250*90e9de1dSWillie Thai status="okay"; 251*90e9de1dSWillie Thai ngpios = <128>; 252*90e9de1dSWillie Thai gpio-line-names = 253*90e9de1dSWillie Thai "","", 254*90e9de1dSWillie Thai "","", 255*90e9de1dSWillie Thai "","", 256*90e9de1dSWillie Thai "","", 257*90e9de1dSWillie Thai "","", 258*90e9de1dSWillie Thai "","", 259*90e9de1dSWillie Thai "","", 260*90e9de1dSWillie Thai "","", 261*90e9de1dSWillie Thai "RUN_POWER_FAULT_L-I","SYS_RST_IN_L-O", 262*90e9de1dSWillie Thai "RUN_POWER_PG-I","PWR_BRAKE_L-O", 263*90e9de1dSWillie Thai "SYS_RST_OUT_L-I","RUN_POWER_EN-O", 264*90e9de1dSWillie Thai "L0L1_RST_REQ_OUT_L-I","SHDN_FORCE_L-O", 265*90e9de1dSWillie Thai "L2_RST_REQ_OUT_L-I","SHDN_REQ_L-O", 266*90e9de1dSWillie Thai "SHDN_OK_L-I","UID_LED_N-O", 267*90e9de1dSWillie Thai "BMC_I2C1_FPGA_ALERT_L-I","SYS_FAULT_LED_N-O", 268*90e9de1dSWillie Thai "BMC_I2C0_FPGA_ALERT_L-I","PWR_LED_N-O", 269*90e9de1dSWillie Thai "FPGA_RSVD_FFU3-I","", 270*90e9de1dSWillie Thai "FPGA_RSVD_FFU2-I","", 271*90e9de1dSWillie Thai "FPGA_RSVD_FFU1-I","", 272*90e9de1dSWillie Thai "FPGA_RSVD_FFU0-I","BMC_I2C_SSIF_ALERT_L-O", 273*90e9de1dSWillie Thai "CPU_BOOT_DONE-I","JTAG_MUX_SELECT-O", 274*90e9de1dSWillie Thai "SPI_BMC_FPGA_INT_L-I","RTC_CLR_L-O", 275*90e9de1dSWillie Thai "THERM_BB_WARN_L-I","UART_MUX_SEL-O", 276*90e9de1dSWillie Thai "THERM_BB_OVERT_L-I","", 277*90e9de1dSWillie Thai "CPU0_UPHY3_PRSNT1_L-I","IOBRD0_RUN_POWER_EN-O", 278*90e9de1dSWillie Thai "CPU0_UPHY3_PRSNT0_L-I","IOBRD1_RUN_POWER_EN-O", 279*90e9de1dSWillie Thai "CPU0_UPHY2_PRSNT1_L-I","FPGA_RSVD_FFU4-O", 280*90e9de1dSWillie Thai "CPU0_UPHY2_PRSNT0_L-I","FPGA_RSVD_FFU5-O", 281*90e9de1dSWillie Thai "CPU0_UPHY1_PRSNT1_L-I","FPGA_RSVD_FFU6-O", 282*90e9de1dSWillie Thai "CPU0_UPHY1_PRSNT0_L-I","FPGA_RSVD_FFU7-O", 283*90e9de1dSWillie Thai "CPU0_UPHY0_PRSNT1_L-I","RSVD_NV_PLT_DETECT-O", 284*90e9de1dSWillie Thai "CPU0_UPHY0_PRSNT0_L-I","SPI1_INT_L-O", 285*90e9de1dSWillie Thai "CPU1_UPHY3_PRSNT1_L-I","", 286*90e9de1dSWillie Thai "CPU1_UPHY3_PRSNT0_L-I","HMC_EROT_MUX_STATUS", 287*90e9de1dSWillie Thai "CPU1_UPHY2_PRSNT1_L-I","", 288*90e9de1dSWillie Thai "CPU1_UPHY2_PRSNT0_L-I","", 289*90e9de1dSWillie Thai "CPU1_UPHY1_PRSNT1_L-I","", 290*90e9de1dSWillie Thai "CPU1_UPHY1_PRSNT0_L-I","", 291*90e9de1dSWillie Thai "CPU1_UPHY0_PRSNT1_L-I","", 292*90e9de1dSWillie Thai "CPU1_UPHY0_PRSNT0_L-I","", 293*90e9de1dSWillie Thai "FAN1_PRESENT_L-I","", 294*90e9de1dSWillie Thai "FAN0_PRESENT_L-I","", 295*90e9de1dSWillie Thai "","", 296*90e9de1dSWillie Thai "IPEX_CABLE_PRSNT_L-I","", 297*90e9de1dSWillie Thai "M2_1_PRSNT_L-I","", 298*90e9de1dSWillie Thai "M2_0_PRSNT_L-I","", 299*90e9de1dSWillie Thai "CPU1_UPHY4_PRSNT1_L-I","", 300*90e9de1dSWillie Thai "CPU0_UPHY4_PRSNT0_L-I","", 301*90e9de1dSWillie Thai "","", 302*90e9de1dSWillie Thai "I2C_RTC_ALERT_L-I","", 303*90e9de1dSWillie Thai "FAN7_PRESENT_L-I","", 304*90e9de1dSWillie Thai "FAN6_PRESENT_L-I","", 305*90e9de1dSWillie Thai "FAN5_PRESENT_L-I","", 306*90e9de1dSWillie Thai "FAN4_PRESENT_L-I","", 307*90e9de1dSWillie Thai "FAN3_PRESENT_L-I","", 308*90e9de1dSWillie Thai "FAN2_PRESENT_L-I","", 309*90e9de1dSWillie Thai "IOBRD0_IOX_INT_L-I","", 310*90e9de1dSWillie Thai "IOBRD1_PRSNT_L-I","", 311*90e9de1dSWillie Thai "IOBRD0_PRSNT_L-I","", 312*90e9de1dSWillie Thai "IOBRD1_PWR_GOOD-I","", 313*90e9de1dSWillie Thai "IOBRD0_PWR_GOOD-I","", 314*90e9de1dSWillie Thai "","", 315*90e9de1dSWillie Thai "","", 316*90e9de1dSWillie Thai "FAN_FAIL_IN_L-I","", 317*90e9de1dSWillie Thai "","", 318*90e9de1dSWillie Thai "","", 319*90e9de1dSWillie Thai "","", 320*90e9de1dSWillie Thai "PDB_CABLE_PRESENT_L-I","", 321*90e9de1dSWillie Thai "","", 322*90e9de1dSWillie Thai "CHASSIS_PWR_BRK_L-I","", 323*90e9de1dSWillie Thai "","", 324*90e9de1dSWillie Thai "IOBRD1_IOX_INT_L-I","", 325*90e9de1dSWillie Thai "10GBE_SMBALRT_L-I","", 326*90e9de1dSWillie Thai "PCIE_WAKE_L-I","", 327*90e9de1dSWillie Thai "I2C_M21_ALERT_L-I","", 328*90e9de1dSWillie Thai "I2C_M20_ALERT_L-I","", 329*90e9de1dSWillie Thai "TRAY_FAST_SHDN_L-I","", 330*90e9de1dSWillie Thai "UID_BTN_N-I","", 331*90e9de1dSWillie Thai "PWR_BTN_L-I","", 332*90e9de1dSWillie Thai "PSU_SMB_ALERT_L-I","", 333*90e9de1dSWillie Thai "","", 334*90e9de1dSWillie Thai "","", 335*90e9de1dSWillie Thai "NODE_LOC_ID[0]-I","", 336*90e9de1dSWillie Thai "NODE_LOC_ID[1]-I","", 337*90e9de1dSWillie Thai "NODE_LOC_ID[2]-I","", 338*90e9de1dSWillie Thai "NODE_LOC_ID[3]-I","", 339*90e9de1dSWillie Thai "NODE_LOC_ID[4]-I","", 340*90e9de1dSWillie Thai "NODE_LOC_ID[5]-I","", 341*90e9de1dSWillie Thai "FAN10_PRESENT_L-I","", 342*90e9de1dSWillie Thai "FAN9_PRESENT_L-I","", 343*90e9de1dSWillie Thai "FAN8_PRESENT_L-I","", 344*90e9de1dSWillie Thai "FPGA1_READY_HMC-I","", 345*90e9de1dSWillie Thai "DP_HPD-I","", 346*90e9de1dSWillie Thai "HMC_I2C3_FPGA_ALERT_L-I","", 347*90e9de1dSWillie Thai "HMC_I2C2_FPGA_ALERT_L-I","", 348*90e9de1dSWillie Thai "FPGA0_READY_HMC-I","", 349*90e9de1dSWillie Thai "","", 350*90e9de1dSWillie Thai "","", 351*90e9de1dSWillie Thai "","", 352*90e9de1dSWillie Thai "","", 353*90e9de1dSWillie Thai "LEAK_DETECT_ALERT_L-I","", 354*90e9de1dSWillie Thai "MOD1_B2B_CABLE_PRESENT_L-I","", 355*90e9de1dSWillie Thai "MOD1_CLINK_CABLE_PRESENT_L-I","", 356*90e9de1dSWillie Thai "FAN11_PRESENT_L-I","", 357*90e9de1dSWillie Thai "","", 358*90e9de1dSWillie Thai "","", 359*90e9de1dSWillie Thai "","", 360*90e9de1dSWillie Thai "","", 361*90e9de1dSWillie Thai "","", 362*90e9de1dSWillie Thai "","", 363*90e9de1dSWillie Thai "","", 364*90e9de1dSWillie Thai "","", 365*90e9de1dSWillie Thai "","", 366*90e9de1dSWillie Thai "","", 367*90e9de1dSWillie Thai "","", 368*90e9de1dSWillie Thai "","", 369*90e9de1dSWillie Thai "","", 370*90e9de1dSWillie Thai "","", 371*90e9de1dSWillie Thai "","", 372*90e9de1dSWillie Thai "","", 373*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[0]","RSVD_SGPIO_O_CRC[7]", 374*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[1]","RSVD_SGPIO_O_CRC[6]", 375*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[2]","RSVD_SGPIO_O_CRC[5]", 376*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[3]","RSVD_SGPIO_O_CRC[4]", 377*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[4]","RSVD_SGPIO_O_CRC[3]", 378*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[5]","RSVD_SGPIO_O_CRC[2]", 379*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[6]","RSVD_SGPIO_O_CRC[1]", 380*90e9de1dSWillie Thai "RSVD_SGPIO_IN_CRC[7]","RSVD_SGPIO_O_CRC[0]"; 381*90e9de1dSWillie Thai}; 382*90e9de1dSWillie Thai 383*90e9de1dSWillie Thai// I2C1, SSIF IPMI interface 384*90e9de1dSWillie Thai&i2c0 { 385*90e9de1dSWillie Thai status = "okay"; 386*90e9de1dSWillie Thai clock-frequency = <400000>; 387*90e9de1dSWillie Thai 388*90e9de1dSWillie Thai ssif-bmc@10 { 389*90e9de1dSWillie Thai compatible = "ssif-bmc"; 390*90e9de1dSWillie Thai reg = <0x10>; 391*90e9de1dSWillie Thai }; 392*90e9de1dSWillie Thai}; 393*90e9de1dSWillie Thai 394*90e9de1dSWillie Thai// I2C2 395*90e9de1dSWillie Thai// BMC_I2C1_FPGA - Secondary FPGA 396*90e9de1dSWillie Thai// HMC EROT 397*90e9de1dSWillie Thai&i2c1 { 398*90e9de1dSWillie Thai status = "okay"; 399*90e9de1dSWillie Thai clock-frequency = <400000>; 400*90e9de1dSWillie Thai multi-master; 401*90e9de1dSWillie Thai}; 402*90e9de1dSWillie Thai 403*90e9de1dSWillie Thai// I2C3 404*90e9de1dSWillie Thai// BMC_I2C0_FPGA - Primary FPGA 405*90e9de1dSWillie Thai// HMC FRU EEPROM 406*90e9de1dSWillie Thai&i2c2 { 407*90e9de1dSWillie Thai status = "okay"; 408*90e9de1dSWillie Thai clock-frequency = <400000>; 409*90e9de1dSWillie Thai multi-master; 410*90e9de1dSWillie Thai}; 411*90e9de1dSWillie Thai 412*90e9de1dSWillie Thai// I2C4 413*90e9de1dSWillie Thai&i2c3 { 414*90e9de1dSWillie Thai status = "disabled"; 415*90e9de1dSWillie Thai}; 416*90e9de1dSWillie Thai 417*90e9de1dSWillie Thai// I2C5 418*90e9de1dSWillie Thai// RTC Driver 419*90e9de1dSWillie Thai// IO Expander 420*90e9de1dSWillie Thai&i2c4 { 421*90e9de1dSWillie Thai status = "okay"; 422*90e9de1dSWillie Thai clock-frequency = <400000>; 423*90e9de1dSWillie Thai 424*90e9de1dSWillie Thai // Module 0, Expander @0x21 425*90e9de1dSWillie Thai exp4: gpio@21 { 426*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 427*90e9de1dSWillie Thai reg = <0x21>; 428*90e9de1dSWillie Thai gpio-controller; 429*90e9de1dSWillie Thai #gpio-cells = <2>; 430*90e9de1dSWillie Thai interrupt-controller; 431*90e9de1dSWillie Thai #interrupt-cells = <2>; 432*90e9de1dSWillie Thai interrupt-parent = <&gpio1>; 433*90e9de1dSWillie Thai interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>; 434*90e9de1dSWillie Thai gpio-line-names = 435*90e9de1dSWillie Thai "RTC_MUX_SEL-O", 436*90e9de1dSWillie Thai "PCI_MUX_SEL-O", 437*90e9de1dSWillie Thai "TPM_MUX_SEL-O", 438*90e9de1dSWillie Thai "FAN_MUX-SEL-O", 439*90e9de1dSWillie Thai "SGMII_MUX_SEL-O", 440*90e9de1dSWillie Thai "DP_MUX_SEL-O", 441*90e9de1dSWillie Thai "UPHY3_USB_SEL-O", 442*90e9de1dSWillie Thai "NCSI_MUX_SEL-O", 443*90e9de1dSWillie Thai "BMC_PHY_RST-O", 444*90e9de1dSWillie Thai "RTC_CLR_L-O", 445*90e9de1dSWillie Thai "BMC_12V_CTRL-O", 446*90e9de1dSWillie Thai "PS_RUN_IO0_PG-I", 447*90e9de1dSWillie Thai "", 448*90e9de1dSWillie Thai "", 449*90e9de1dSWillie Thai "", 450*90e9de1dSWillie Thai ""; 451*90e9de1dSWillie Thai }; 452*90e9de1dSWillie Thai}; 453*90e9de1dSWillie Thai 454*90e9de1dSWillie Thai// I2C6 455*90e9de1dSWillie Thai// Module 0/1 I2C MUX x3 456*90e9de1dSWillie Thai&i2c5 { 457*90e9de1dSWillie Thai status = "okay"; 458*90e9de1dSWillie Thai clock-frequency = <400000>; 459*90e9de1dSWillie Thai multi-master; 460*90e9de1dSWillie Thai 461*90e9de1dSWillie Thai i2c-mux@71 { 462*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 463*90e9de1dSWillie Thai #address-cells = <1>; 464*90e9de1dSWillie Thai #size-cells = <0>; 465*90e9de1dSWillie Thai reg = <0x71>; 466*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 467*90e9de1dSWillie Thai 468*90e9de1dSWillie Thai imux16: i2c@0 { 469*90e9de1dSWillie Thai #address-cells = <1>; 470*90e9de1dSWillie Thai #size-cells = <0>; 471*90e9de1dSWillie Thai reg = <0>; 472*90e9de1dSWillie Thai }; 473*90e9de1dSWillie Thai 474*90e9de1dSWillie Thai imux17: i2c@1 { 475*90e9de1dSWillie Thai #address-cells = <1>; 476*90e9de1dSWillie Thai #size-cells = <0>; 477*90e9de1dSWillie Thai reg = <1>; 478*90e9de1dSWillie Thai 479*90e9de1dSWillie Thai i2c-mux@74 { 480*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 481*90e9de1dSWillie Thai #address-cells = <1>; 482*90e9de1dSWillie Thai #size-cells = <0>; 483*90e9de1dSWillie Thai reg = <0x74>; 484*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 485*90e9de1dSWillie Thai 486*90e9de1dSWillie Thai i2c17mux0: i2c@0 { 487*90e9de1dSWillie Thai #address-cells = <1>; 488*90e9de1dSWillie Thai #size-cells = <0>; 489*90e9de1dSWillie Thai reg = <0>; 490*90e9de1dSWillie Thai }; 491*90e9de1dSWillie Thai 492*90e9de1dSWillie Thai i2c17mux1: i2c@1 { 493*90e9de1dSWillie Thai #address-cells = <1>; 494*90e9de1dSWillie Thai #size-cells = <0>; 495*90e9de1dSWillie Thai reg = <1>; 496*90e9de1dSWillie Thai }; 497*90e9de1dSWillie Thai 498*90e9de1dSWillie Thai i2c17mux2: i2c@2 { 499*90e9de1dSWillie Thai #address-cells = <1>; 500*90e9de1dSWillie Thai #size-cells = <0>; 501*90e9de1dSWillie Thai reg = <2>; 502*90e9de1dSWillie Thai }; 503*90e9de1dSWillie Thai 504*90e9de1dSWillie Thai i2c17mux3: i2c@3 { 505*90e9de1dSWillie Thai #address-cells = <1>; 506*90e9de1dSWillie Thai #size-cells = <0>; 507*90e9de1dSWillie Thai reg = <3>; 508*90e9de1dSWillie Thai }; 509*90e9de1dSWillie Thai }; 510*90e9de1dSWillie Thai }; 511*90e9de1dSWillie Thai 512*90e9de1dSWillie Thai imux18: i2c@2 { 513*90e9de1dSWillie Thai #address-cells = <1>; 514*90e9de1dSWillie Thai #size-cells = <0>; 515*90e9de1dSWillie Thai reg = <2>; 516*90e9de1dSWillie Thai }; 517*90e9de1dSWillie Thai 518*90e9de1dSWillie Thai imux19: i2c@3 { 519*90e9de1dSWillie Thai #address-cells = <1>; 520*90e9de1dSWillie Thai #size-cells = <0>; 521*90e9de1dSWillie Thai reg = <3>; 522*90e9de1dSWillie Thai }; 523*90e9de1dSWillie Thai }; 524*90e9de1dSWillie Thai 525*90e9de1dSWillie Thai i2c-mux@72 { 526*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 527*90e9de1dSWillie Thai #address-cells = <1>; 528*90e9de1dSWillie Thai #size-cells = <0>; 529*90e9de1dSWillie Thai reg = <0x72>; 530*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 531*90e9de1dSWillie Thai 532*90e9de1dSWillie Thai imux20: i2c@0 { 533*90e9de1dSWillie Thai #address-cells = <1>; 534*90e9de1dSWillie Thai #size-cells = <0>; 535*90e9de1dSWillie Thai reg = <0>; 536*90e9de1dSWillie Thai }; 537*90e9de1dSWillie Thai 538*90e9de1dSWillie Thai imux21: i2c@1 { 539*90e9de1dSWillie Thai #address-cells = <1>; 540*90e9de1dSWillie Thai #size-cells = <0>; 541*90e9de1dSWillie Thai reg = <1>; 542*90e9de1dSWillie Thai 543*90e9de1dSWillie Thai gpio@21 { 544*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 545*90e9de1dSWillie Thai reg = <0x21>; 546*90e9de1dSWillie Thai gpio-controller; 547*90e9de1dSWillie Thai #gpio-cells = <2>; 548*90e9de1dSWillie Thai gpio-line-names = 549*90e9de1dSWillie Thai "RST_CX_0_L-O", 550*90e9de1dSWillie Thai "RST_CX_1_L-O", 551*90e9de1dSWillie Thai "CX0_SSD0_PRSNT_L-I", 552*90e9de1dSWillie Thai "CX1_SSD1_PRSNT_L-I", 553*90e9de1dSWillie Thai "CX_BOOT_CMPLT_CX0-I", 554*90e9de1dSWillie Thai "CX_BOOT_CMPLT_CX1-I", 555*90e9de1dSWillie Thai "CX_TWARN_CX0_L-I", 556*90e9de1dSWillie Thai "CX_TWARN_CX1_L-I", 557*90e9de1dSWillie Thai "CX_OVT_SHDN_CX0-I", 558*90e9de1dSWillie Thai "CX_OVT_SHDN_CX1-I", 559*90e9de1dSWillie Thai "FNP_L_CX0-O", 560*90e9de1dSWillie Thai "FNP_L_CX1-O", 561*90e9de1dSWillie Thai "", 562*90e9de1dSWillie Thai "MCU_GPIO-I", 563*90e9de1dSWillie Thai "MCU_RST_N-O", 564*90e9de1dSWillie Thai "MCU_RECOVERY_N-O"; 565*90e9de1dSWillie Thai }; 566*90e9de1dSWillie Thai }; 567*90e9de1dSWillie Thai 568*90e9de1dSWillie Thai imux22: i2c@2 { 569*90e9de1dSWillie Thai #address-cells = <1>; 570*90e9de1dSWillie Thai #size-cells = <0>; 571*90e9de1dSWillie Thai reg = <2>; 572*90e9de1dSWillie Thai }; 573*90e9de1dSWillie Thai 574*90e9de1dSWillie Thai imux23: i2c@3 { 575*90e9de1dSWillie Thai #address-cells = <1>; 576*90e9de1dSWillie Thai #size-cells = <0>; 577*90e9de1dSWillie Thai reg = <3>; 578*90e9de1dSWillie Thai }; 579*90e9de1dSWillie Thai }; 580*90e9de1dSWillie Thai 581*90e9de1dSWillie Thai i2c-mux@73 { 582*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 583*90e9de1dSWillie Thai #address-cells = <1>; 584*90e9de1dSWillie Thai #size-cells = <0>; 585*90e9de1dSWillie Thai reg = <0x73>; 586*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 587*90e9de1dSWillie Thai 588*90e9de1dSWillie Thai imux24: i2c@0 { 589*90e9de1dSWillie Thai #address-cells = <1>; 590*90e9de1dSWillie Thai #size-cells = <0>; 591*90e9de1dSWillie Thai reg = <0>; 592*90e9de1dSWillie Thai }; 593*90e9de1dSWillie Thai 594*90e9de1dSWillie Thai imux25: i2c@1 { 595*90e9de1dSWillie Thai #address-cells = <1>; 596*90e9de1dSWillie Thai #size-cells = <0>; 597*90e9de1dSWillie Thai reg = <1>; 598*90e9de1dSWillie Thai 599*90e9de1dSWillie Thai i2c-mux@70 { 600*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 601*90e9de1dSWillie Thai #address-cells = <1>; 602*90e9de1dSWillie Thai #size-cells = <0>; 603*90e9de1dSWillie Thai reg = <0x70>; 604*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 605*90e9de1dSWillie Thai 606*90e9de1dSWillie Thai i2c25mux0: i2c@0 { 607*90e9de1dSWillie Thai #address-cells = <1>; 608*90e9de1dSWillie Thai #size-cells = <0>; 609*90e9de1dSWillie Thai reg = <0>; 610*90e9de1dSWillie Thai }; 611*90e9de1dSWillie Thai 612*90e9de1dSWillie Thai i2c25mux1: i2c@1 { 613*90e9de1dSWillie Thai #address-cells = <1>; 614*90e9de1dSWillie Thai #size-cells = <0>; 615*90e9de1dSWillie Thai reg = <1>; 616*90e9de1dSWillie Thai }; 617*90e9de1dSWillie Thai 618*90e9de1dSWillie Thai i2c25mux2: i2c@2 { 619*90e9de1dSWillie Thai #address-cells = <1>; 620*90e9de1dSWillie Thai #size-cells = <0>; 621*90e9de1dSWillie Thai reg = <2>; 622*90e9de1dSWillie Thai }; 623*90e9de1dSWillie Thai 624*90e9de1dSWillie Thai i2c25mux3: i2c@3 { 625*90e9de1dSWillie Thai #address-cells = <1>; 626*90e9de1dSWillie Thai #size-cells = <0>; 627*90e9de1dSWillie Thai reg = <3>; 628*90e9de1dSWillie Thai }; 629*90e9de1dSWillie Thai }; 630*90e9de1dSWillie Thai }; 631*90e9de1dSWillie Thai 632*90e9de1dSWillie Thai imux26: i2c@2 { 633*90e9de1dSWillie Thai #address-cells = <1>; 634*90e9de1dSWillie Thai #size-cells = <0>; 635*90e9de1dSWillie Thai reg = <2>; 636*90e9de1dSWillie Thai }; 637*90e9de1dSWillie Thai 638*90e9de1dSWillie Thai imux27: i2c@3 { 639*90e9de1dSWillie Thai #address-cells = <1>; 640*90e9de1dSWillie Thai #size-cells = <0>; 641*90e9de1dSWillie Thai reg = <3>; 642*90e9de1dSWillie Thai }; 643*90e9de1dSWillie Thai }; 644*90e9de1dSWillie Thai 645*90e9de1dSWillie Thai i2c-mux@75 { 646*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 647*90e9de1dSWillie Thai #address-cells = <1>; 648*90e9de1dSWillie Thai #size-cells = <0>; 649*90e9de1dSWillie Thai reg = <0x75>; 650*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 651*90e9de1dSWillie Thai 652*90e9de1dSWillie Thai imux28: i2c@0 { 653*90e9de1dSWillie Thai #address-cells = <1>; 654*90e9de1dSWillie Thai #size-cells = <0>; 655*90e9de1dSWillie Thai reg = <0>; 656*90e9de1dSWillie Thai }; 657*90e9de1dSWillie Thai 658*90e9de1dSWillie Thai imux29: i2c@1 { 659*90e9de1dSWillie Thai #address-cells = <1>; 660*90e9de1dSWillie Thai #size-cells = <0>; 661*90e9de1dSWillie Thai reg = <1>; 662*90e9de1dSWillie Thai 663*90e9de1dSWillie Thai i2c-mux@74 { 664*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 665*90e9de1dSWillie Thai #address-cells = <1>; 666*90e9de1dSWillie Thai #size-cells = <0>; 667*90e9de1dSWillie Thai reg = <0x74>; 668*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 669*90e9de1dSWillie Thai 670*90e9de1dSWillie Thai i2c29mux0: i2c@0 { 671*90e9de1dSWillie Thai #address-cells = <1>; 672*90e9de1dSWillie Thai #size-cells = <0>; 673*90e9de1dSWillie Thai reg = <0>; 674*90e9de1dSWillie Thai }; 675*90e9de1dSWillie Thai 676*90e9de1dSWillie Thai i2c29mux1: i2c@1 { 677*90e9de1dSWillie Thai #address-cells = <1>; 678*90e9de1dSWillie Thai #size-cells = <0>; 679*90e9de1dSWillie Thai reg = <1>; 680*90e9de1dSWillie Thai }; 681*90e9de1dSWillie Thai 682*90e9de1dSWillie Thai i2c29mux2: i2c@2 { 683*90e9de1dSWillie Thai #address-cells = <1>; 684*90e9de1dSWillie Thai #size-cells = <0>; 685*90e9de1dSWillie Thai reg = <2>; 686*90e9de1dSWillie Thai }; 687*90e9de1dSWillie Thai 688*90e9de1dSWillie Thai i2c29mux3: i2c@3 { 689*90e9de1dSWillie Thai #address-cells = <1>; 690*90e9de1dSWillie Thai #size-cells = <0>; 691*90e9de1dSWillie Thai reg = <3>; 692*90e9de1dSWillie Thai }; 693*90e9de1dSWillie Thai }; 694*90e9de1dSWillie Thai }; 695*90e9de1dSWillie Thai 696*90e9de1dSWillie Thai imux30: i2c@2 { 697*90e9de1dSWillie Thai #address-cells = <1>; 698*90e9de1dSWillie Thai #size-cells = <0>; 699*90e9de1dSWillie Thai reg = <2>; 700*90e9de1dSWillie Thai }; 701*90e9de1dSWillie Thai 702*90e9de1dSWillie Thai imux31: i2c@3 { 703*90e9de1dSWillie Thai #address-cells = <1>; 704*90e9de1dSWillie Thai #size-cells = <0>; 705*90e9de1dSWillie Thai reg = <3>; 706*90e9de1dSWillie Thai }; 707*90e9de1dSWillie Thai }; 708*90e9de1dSWillie Thai 709*90e9de1dSWillie Thai i2c-mux@76 { 710*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 711*90e9de1dSWillie Thai #address-cells = <1>; 712*90e9de1dSWillie Thai #size-cells = <0>; 713*90e9de1dSWillie Thai reg = <0x76>; 714*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 715*90e9de1dSWillie Thai 716*90e9de1dSWillie Thai imux32: i2c@0 { 717*90e9de1dSWillie Thai #address-cells = <1>; 718*90e9de1dSWillie Thai #size-cells = <0>; 719*90e9de1dSWillie Thai reg = <0>; 720*90e9de1dSWillie Thai }; 721*90e9de1dSWillie Thai 722*90e9de1dSWillie Thai imux33: i2c@1 { 723*90e9de1dSWillie Thai #address-cells = <1>; 724*90e9de1dSWillie Thai #size-cells = <0>; 725*90e9de1dSWillie Thai reg = <1>; 726*90e9de1dSWillie Thai 727*90e9de1dSWillie Thai gpio@21 { 728*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 729*90e9de1dSWillie Thai reg = <0x21>; 730*90e9de1dSWillie Thai gpio-controller; 731*90e9de1dSWillie Thai #gpio-cells = <2>; 732*90e9de1dSWillie Thai gpio-line-names = 733*90e9de1dSWillie Thai "SEC_RST_CX_0_L-O", 734*90e9de1dSWillie Thai "SEC_RST_CX_1_L-O", 735*90e9de1dSWillie Thai "SEC_CX0_SSD0_PRSNT_L-I", 736*90e9de1dSWillie Thai "SEC_CX1_SSD1_PRSNT_L-I", 737*90e9de1dSWillie Thai "SEC_CX_BOOT_CMPLT_CX0-I", 738*90e9de1dSWillie Thai "SEC_CX_BOOT_CMPLT_CX1-I", 739*90e9de1dSWillie Thai "SEC_CX_TWARN_CX0_L-I", 740*90e9de1dSWillie Thai "SEC_CX_TWARN_CX1_L-I", 741*90e9de1dSWillie Thai "SEC_CX_OVT_SHDN_CX0-I", 742*90e9de1dSWillie Thai "SEC_CX_OVT_SHDN_CX1-I", 743*90e9de1dSWillie Thai "SEC_FNP_L_CX0-O", 744*90e9de1dSWillie Thai "SEC_FNP_L_CX1-O", 745*90e9de1dSWillie Thai "", 746*90e9de1dSWillie Thai "SEC_MCU_GPIO-I", 747*90e9de1dSWillie Thai "SEC_MCU_RST_N-O", 748*90e9de1dSWillie Thai "SEC_MCU_RECOVERY_N-O"; 749*90e9de1dSWillie Thai }; 750*90e9de1dSWillie Thai }; 751*90e9de1dSWillie Thai 752*90e9de1dSWillie Thai imux34: i2c@2 { 753*90e9de1dSWillie Thai #address-cells = <1>; 754*90e9de1dSWillie Thai #size-cells = <0>; 755*90e9de1dSWillie Thai reg = <2>; 756*90e9de1dSWillie Thai }; 757*90e9de1dSWillie Thai 758*90e9de1dSWillie Thai imux35: i2c@3 { 759*90e9de1dSWillie Thai #address-cells = <1>; 760*90e9de1dSWillie Thai #size-cells = <0>; 761*90e9de1dSWillie Thai reg = <3>; 762*90e9de1dSWillie Thai }; 763*90e9de1dSWillie Thai }; 764*90e9de1dSWillie Thai 765*90e9de1dSWillie Thai i2c-mux@77 { 766*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 767*90e9de1dSWillie Thai #address-cells = <1>; 768*90e9de1dSWillie Thai #size-cells = <0>; 769*90e9de1dSWillie Thai reg = <0x77>; 770*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 771*90e9de1dSWillie Thai 772*90e9de1dSWillie Thai imux36: i2c@0 { 773*90e9de1dSWillie Thai #address-cells = <1>; 774*90e9de1dSWillie Thai #size-cells = <0>; 775*90e9de1dSWillie Thai reg = <0>; 776*90e9de1dSWillie Thai }; 777*90e9de1dSWillie Thai 778*90e9de1dSWillie Thai imux37: i2c@1 { 779*90e9de1dSWillie Thai #address-cells = <1>; 780*90e9de1dSWillie Thai #size-cells = <0>; 781*90e9de1dSWillie Thai reg = <1>; 782*90e9de1dSWillie Thai }; 783*90e9de1dSWillie Thai 784*90e9de1dSWillie Thai imux38: i2c@2 { 785*90e9de1dSWillie Thai #address-cells = <1>; 786*90e9de1dSWillie Thai #size-cells = <0>; 787*90e9de1dSWillie Thai reg = <2>; 788*90e9de1dSWillie Thai }; 789*90e9de1dSWillie Thai 790*90e9de1dSWillie Thai imux39: i2c@3 { 791*90e9de1dSWillie Thai #address-cells = <1>; 792*90e9de1dSWillie Thai #size-cells = <0>; 793*90e9de1dSWillie Thai reg = <3>; 794*90e9de1dSWillie Thai }; 795*90e9de1dSWillie Thai }; 796*90e9de1dSWillie Thai}; 797*90e9de1dSWillie Thai 798*90e9de1dSWillie Thai// I2C7 799*90e9de1dSWillie Thai// Module 0/1 Leak Sensors 800*90e9de1dSWillie Thai// Module 0/1 Fan Controllers 801*90e9de1dSWillie Thai&i2c6 { 802*90e9de1dSWillie Thai status = "okay"; 803*90e9de1dSWillie Thai clock-frequency = <400000>; 804*90e9de1dSWillie Thai 805*90e9de1dSWillie Thai pmic@12 { 806*90e9de1dSWillie Thai compatible = "ti,lm5066i"; 807*90e9de1dSWillie Thai reg = <0x12>; 808*90e9de1dSWillie Thai shunt-resistor-micro-ohms = <190>; 809*90e9de1dSWillie Thai status = "okay"; 810*90e9de1dSWillie Thai }; 811*90e9de1dSWillie Thai 812*90e9de1dSWillie Thai pmic@14 { 813*90e9de1dSWillie Thai compatible = "ti,lm5066i"; 814*90e9de1dSWillie Thai reg = <0x14>; 815*90e9de1dSWillie Thai shunt-resistor-micro-ohms = <190>; 816*90e9de1dSWillie Thai status = "okay"; 817*90e9de1dSWillie Thai }; 818*90e9de1dSWillie Thai 819*90e9de1dSWillie Thai pwm@20 { 820*90e9de1dSWillie Thai compatible = "maxim,max31790"; 821*90e9de1dSWillie Thai reg = <0x20>; 822*90e9de1dSWillie Thai }; 823*90e9de1dSWillie Thai 824*90e9de1dSWillie Thai pwm@23 { 825*90e9de1dSWillie Thai compatible = "maxim,max31790"; 826*90e9de1dSWillie Thai reg = <0x23>; 827*90e9de1dSWillie Thai }; 828*90e9de1dSWillie Thai 829*90e9de1dSWillie Thai pwm@2c { 830*90e9de1dSWillie Thai compatible = "maxim,max31790"; 831*90e9de1dSWillie Thai reg = <0x2c>; 832*90e9de1dSWillie Thai }; 833*90e9de1dSWillie Thai 834*90e9de1dSWillie Thai pwm@2f { 835*90e9de1dSWillie Thai compatible = "maxim,max31790"; 836*90e9de1dSWillie Thai reg = <0x2f>; 837*90e9de1dSWillie Thai }; 838*90e9de1dSWillie Thai}; 839*90e9de1dSWillie Thai 840*90e9de1dSWillie Thai// I2C9 841*90e9de1dSWillie Thai// M.2 842*90e9de1dSWillie Thai&i2c8 { 843*90e9de1dSWillie Thai status = "okay"; 844*90e9de1dSWillie Thai clock-frequency = <400000>; 845*90e9de1dSWillie Thai multi-master; 846*90e9de1dSWillie Thai}; 847*90e9de1dSWillie Thai 848*90e9de1dSWillie Thai// I2C10 849*90e9de1dSWillie Thai// HMC IO Expander 850*90e9de1dSWillie Thai// Module 0/1 IO Expanders 851*90e9de1dSWillie Thai&i2c9 { 852*90e9de1dSWillie Thai status = "okay"; 853*90e9de1dSWillie Thai clock-frequency = <400000>; 854*90e9de1dSWillie Thai 855*90e9de1dSWillie Thai // Module 0, Expander @0x20 856*90e9de1dSWillie Thai exp0: gpio@20 { 857*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 858*90e9de1dSWillie Thai reg = <0x20>; 859*90e9de1dSWillie Thai gpio-controller; 860*90e9de1dSWillie Thai #gpio-cells = <2>; 861*90e9de1dSWillie Thai interrupt-controller; 862*90e9de1dSWillie Thai #interrupt-cells = <2>; 863*90e9de1dSWillie Thai interrupt-parent = <&gpio1>; 864*90e9de1dSWillie Thai interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>; 865*90e9de1dSWillie Thai gpio-line-names = 866*90e9de1dSWillie Thai "FPGA_THERM_OVERT_L-I", 867*90e9de1dSWillie Thai "FPGA_READY_BMC-I", 868*90e9de1dSWillie Thai "HMC_BMC_DETECT-O", 869*90e9de1dSWillie Thai "HMC_PGOOD-O", 870*90e9de1dSWillie Thai "", 871*90e9de1dSWillie Thai "BMC_STBY_CYCLE-O", 872*90e9de1dSWillie Thai "FPGA_EROT_FATAL_ERROR_L-I", 873*90e9de1dSWillie Thai "WP_HW_EXT_CTRL_L-O", 874*90e9de1dSWillie Thai "EROT_FPGA_RST_L-O", 875*90e9de1dSWillie Thai "FPGA_EROT_RECOVERY_L-O", 876*90e9de1dSWillie Thai "BMC_EROT_FPGA_SPI_MUX_SEL-O", 877*90e9de1dSWillie Thai "USB_HUB_RESET_L-O", 878*90e9de1dSWillie Thai "NCSI_CS1_SEL-O", 879*90e9de1dSWillie Thai "SGPIO_EN_L-O", 880*90e9de1dSWillie Thai "B2B_IOEXP_INT_L-I", 881*90e9de1dSWillie Thai "I2C_BUS_MUX_RESET_L-O"; 882*90e9de1dSWillie Thai }; 883*90e9de1dSWillie Thai 884*90e9de1dSWillie Thai // Module 1, Expander @0x21 885*90e9de1dSWillie Thai exp1: gpio@21 { 886*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 887*90e9de1dSWillie Thai reg = <0x21>; 888*90e9de1dSWillie Thai gpio-controller; 889*90e9de1dSWillie Thai #gpio-cells = <2>; 890*90e9de1dSWillie Thai interrupt-controller; 891*90e9de1dSWillie Thai #interrupt-cells = <2>; 892*90e9de1dSWillie Thai interrupt-parent = <&gpio1>; 893*90e9de1dSWillie Thai interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>; 894*90e9de1dSWillie Thai gpio-line-names = 895*90e9de1dSWillie Thai "SEC_FPGA_THERM_OVERT_L-I", 896*90e9de1dSWillie Thai "SEC_FPGA_READY_BMC-I", 897*90e9de1dSWillie Thai "", 898*90e9de1dSWillie Thai "", 899*90e9de1dSWillie Thai "", 900*90e9de1dSWillie Thai "", 901*90e9de1dSWillie Thai "SEC_FPGA_EROT_FATAL_ERROR_L-I", 902*90e9de1dSWillie Thai "SEC_WP_HW_EXT_CTRL_L-O", 903*90e9de1dSWillie Thai "SEC_EROT_FPGA_RST_L-O", 904*90e9de1dSWillie Thai "SEC_FPGA_EROT_RECOVERY_L-O", 905*90e9de1dSWillie Thai "SEC_BMC_EROT_FPGA_SPI_MUX_SEL-O", 906*90e9de1dSWillie Thai "SEC_USB2_HUB_RST_L-O", 907*90e9de1dSWillie Thai "", 908*90e9de1dSWillie Thai "", 909*90e9de1dSWillie Thai "", 910*90e9de1dSWillie Thai "SEC_I2C_BUS_MUX_RESET_L-O"; 911*90e9de1dSWillie Thai }; 912*90e9de1dSWillie Thai 913*90e9de1dSWillie Thai // HMC Expander @0x27 914*90e9de1dSWillie Thai exp2: gpio@27 { 915*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 916*90e9de1dSWillie Thai reg = <0x27>; 917*90e9de1dSWillie Thai gpio-controller; 918*90e9de1dSWillie Thai #gpio-cells = <2>; 919*90e9de1dSWillie Thai interrupt-controller; 920*90e9de1dSWillie Thai #interrupt-cells = <2>; 921*90e9de1dSWillie Thai interrupt-parent = <&gpio1>; 922*90e9de1dSWillie Thai interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>; 923*90e9de1dSWillie Thai gpio-line-names = 924*90e9de1dSWillie Thai "HMC_PRSNT_L-I", 925*90e9de1dSWillie Thai "HMC_READY-I", 926*90e9de1dSWillie Thai "HMC_EROT_FATAL_ERROR_L-I", 927*90e9de1dSWillie Thai "I2C_MUX_SEL-O", 928*90e9de1dSWillie Thai "HMC_EROT_SPI_MUX_SEL-O", 929*90e9de1dSWillie Thai "HMC_EROT_RECOVERY_L-O", 930*90e9de1dSWillie Thai "HMC_EROT_RST_L-O", 931*90e9de1dSWillie Thai "GLOBAL_WP_HMC-O", 932*90e9de1dSWillie Thai "FPGA_RST_L-O", 933*90e9de1dSWillie Thai "USB2_HUB_RST-O", 934*90e9de1dSWillie Thai "CPU_UART_MUX_SEL-O", 935*90e9de1dSWillie Thai "", 936*90e9de1dSWillie Thai "", 937*90e9de1dSWillie Thai "", 938*90e9de1dSWillie Thai "", 939*90e9de1dSWillie Thai ""; 940*90e9de1dSWillie Thai }; 941*90e9de1dSWillie Thai 942*90e9de1dSWillie Thai // HMC Expander @0x74 943*90e9de1dSWillie Thai exp3: gpio@74 { 944*90e9de1dSWillie Thai compatible = "nxp,pca9555"; 945*90e9de1dSWillie Thai reg = <0x74>; 946*90e9de1dSWillie Thai gpio-controller; 947*90e9de1dSWillie Thai #gpio-cells = <2>; 948*90e9de1dSWillie Thai interrupt-controller; 949*90e9de1dSWillie Thai #interrupt-cells = <2>; 950*90e9de1dSWillie Thai interrupt-parent = <&gpio1>; 951*90e9de1dSWillie Thai interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>; 952*90e9de1dSWillie Thai gpio-line-names = 953*90e9de1dSWillie Thai "IOB_PRSNT_L", 954*90e9de1dSWillie Thai "IOB_DP_HPD", 955*90e9de1dSWillie Thai "IOX_BMC_RESET", 956*90e9de1dSWillie Thai "IOB_IOEXP_INT_L", 957*90e9de1dSWillie Thai "IOB_UID_LED_L", 958*90e9de1dSWillie Thai "IOB_UID_BTN_L", 959*90e9de1dSWillie Thai "IOB_SYS_RST_BTN_L", 960*90e9de1dSWillie Thai "IOB_PWR_LED_L", 961*90e9de1dSWillie Thai "IOB_PWR_BTN_L", 962*90e9de1dSWillie Thai "IOB_PHY_RST", 963*90e9de1dSWillie Thai "CPLD_JTAG_MUX_SEL", 964*90e9de1dSWillie Thai "", 965*90e9de1dSWillie Thai "", 966*90e9de1dSWillie Thai "", 967*90e9de1dSWillie Thai "", 968*90e9de1dSWillie Thai ""; 969*90e9de1dSWillie Thai }; 970*90e9de1dSWillie Thai}; 971*90e9de1dSWillie Thai 972*90e9de1dSWillie Thai// I2C11 973*90e9de1dSWillie Thai// BMC FRU EEPROM 974*90e9de1dSWillie Thai// BMC Temp Sensor 975*90e9de1dSWillie Thai&i2c10 { 976*90e9de1dSWillie Thai status = "okay"; 977*90e9de1dSWillie Thai clock-frequency = <400000>; 978*90e9de1dSWillie Thai 979*90e9de1dSWillie Thai // BMC FRU EEPROM - 256 bytes 980*90e9de1dSWillie Thai eeprom@50 { 981*90e9de1dSWillie Thai compatible = "atmel,24c02"; 982*90e9de1dSWillie Thai reg = <0x50>; 983*90e9de1dSWillie Thai pagesize = <8>; 984*90e9de1dSWillie Thai }; 985*90e9de1dSWillie Thai}; 986*90e9de1dSWillie Thai 987*90e9de1dSWillie Thai// I2C12 988*90e9de1dSWillie Thai&i2c11 { 989*90e9de1dSWillie Thai status = "disabled"; 990*90e9de1dSWillie Thai}; 991*90e9de1dSWillie Thai 992*90e9de1dSWillie Thai// I2C13 993*90e9de1dSWillie Thai&i2c12 { 994*90e9de1dSWillie Thai status = "disabled"; 995*90e9de1dSWillie Thai}; 996*90e9de1dSWillie Thai 997*90e9de1dSWillie Thai// I2C14 998*90e9de1dSWillie Thai// Module 0 UPHY3 SMBus 999*90e9de1dSWillie Thai&i2c13 { 1000*90e9de1dSWillie Thai status = "disabled"; 1001*90e9de1dSWillie Thai}; 1002*90e9de1dSWillie Thai 1003*90e9de1dSWillie Thai// I2C15 1004*90e9de1dSWillie Thai// Module 1 UPHY3 SMBus 1005*90e9de1dSWillie Thai&i2c14 { 1006*90e9de1dSWillie Thai status = "okay"; 1007*90e9de1dSWillie Thai clock-frequency = <100000>; 1008*90e9de1dSWillie Thai multi-master; 1009*90e9de1dSWillie Thai 1010*90e9de1dSWillie Thai //E1.S drive slot 0-3 1011*90e9de1dSWillie Thai i2c-mux@77 { 1012*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 1013*90e9de1dSWillie Thai #address-cells = <1>; 1014*90e9de1dSWillie Thai #size-cells = <0>; 1015*90e9de1dSWillie Thai reg = <0x77>; 1016*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 1017*90e9de1dSWillie Thai 1018*90e9de1dSWillie Thai e1si2c0: i2c@0 { 1019*90e9de1dSWillie Thai #address-cells = <1>; 1020*90e9de1dSWillie Thai #size-cells = <0>; 1021*90e9de1dSWillie Thai reg = <0>; 1022*90e9de1dSWillie Thai }; 1023*90e9de1dSWillie Thai 1024*90e9de1dSWillie Thai e1si2c1: i2c@1 { 1025*90e9de1dSWillie Thai #address-cells = <1>; 1026*90e9de1dSWillie Thai #size-cells = <0>; 1027*90e9de1dSWillie Thai reg = <1>; 1028*90e9de1dSWillie Thai }; 1029*90e9de1dSWillie Thai 1030*90e9de1dSWillie Thai e1si2c2: i2c@2 { 1031*90e9de1dSWillie Thai #address-cells = <1>; 1032*90e9de1dSWillie Thai #size-cells = <0>; 1033*90e9de1dSWillie Thai reg = <2>; 1034*90e9de1dSWillie Thai }; 1035*90e9de1dSWillie Thai 1036*90e9de1dSWillie Thai e1si2c3: i2c@3 { 1037*90e9de1dSWillie Thai #address-cells = <1>; 1038*90e9de1dSWillie Thai #size-cells = <0>; 1039*90e9de1dSWillie Thai reg = <3>; 1040*90e9de1dSWillie Thai }; 1041*90e9de1dSWillie Thai }; 1042*90e9de1dSWillie Thai}; 1043*90e9de1dSWillie Thai 1044*90e9de1dSWillie Thai// I2C16 1045*90e9de1dSWillie Thai&i2c15 { 1046*90e9de1dSWillie Thai status = "okay"; 1047*90e9de1dSWillie Thai clock-frequency = <100000>; 1048*90e9de1dSWillie Thai multi-master; 1049*90e9de1dSWillie Thai 1050*90e9de1dSWillie Thai //E1.S drive slot 4-7 1051*90e9de1dSWillie Thai i2c-mux@77 { 1052*90e9de1dSWillie Thai compatible = "nxp,pca9546"; 1053*90e9de1dSWillie Thai #address-cells = <1>; 1054*90e9de1dSWillie Thai #size-cells = <0>; 1055*90e9de1dSWillie Thai reg = <0x77>; 1056*90e9de1dSWillie Thai i2c-mux-idle-disconnect; 1057*90e9de1dSWillie Thai 1058*90e9de1dSWillie Thai e1si2c4: i2c@0 { 1059*90e9de1dSWillie Thai #address-cells = <1>; 1060*90e9de1dSWillie Thai #size-cells = <0>; 1061*90e9de1dSWillie Thai reg = <0>; 1062*90e9de1dSWillie Thai }; 1063*90e9de1dSWillie Thai 1064*90e9de1dSWillie Thai e1si2c5: i2c@1 { 1065*90e9de1dSWillie Thai #address-cells = <1>; 1066*90e9de1dSWillie Thai #size-cells = <0>; 1067*90e9de1dSWillie Thai reg = <1>; 1068*90e9de1dSWillie Thai }; 1069*90e9de1dSWillie Thai 1070*90e9de1dSWillie Thai e1si2c6: i2c@2 { 1071*90e9de1dSWillie Thai #address-cells = <1>; 1072*90e9de1dSWillie Thai #size-cells = <0>; 1073*90e9de1dSWillie Thai reg = <2>; 1074*90e9de1dSWillie Thai }; 1075*90e9de1dSWillie Thai 1076*90e9de1dSWillie Thai e1si2c7: i2c@3 { 1077*90e9de1dSWillie Thai #address-cells = <1>; 1078*90e9de1dSWillie Thai #size-cells = <0>; 1079*90e9de1dSWillie Thai reg = <3>; 1080*90e9de1dSWillie Thai }; 1081*90e9de1dSWillie Thai }; 1082*90e9de1dSWillie Thai}; 1083*90e9de1dSWillie Thai 1084*90e9de1dSWillie Thai&rng { 1085*90e9de1dSWillie Thai status = "okay"; 1086*90e9de1dSWillie Thai}; 1087*90e9de1dSWillie Thai 1088*90e9de1dSWillie Thai&gpio0 { 1089*90e9de1dSWillie Thai gpio-line-names = 1090*90e9de1dSWillie Thai /*A0-A7*/ "", "", "", "", "", "", "", "", 1091*90e9de1dSWillie Thai /*B0-B7*/ "", "", "", "", "", "", "", "", 1092*90e9de1dSWillie Thai /*C0-C7*/ "SGPIO_I2C_MUX_SEL-O", "", "", "", "", "", "", "", 1093*90e9de1dSWillie Thai /*D0-D7*/ "", "", "", "UART1_MUX_SEL-O", "", "FPGA_PEX_RST_L-O", "", "", 1094*90e9de1dSWillie Thai /*E0-E7*/ "RTL8221_PHY_RST_L-O", "RTL8211_PHY_INT_L-I", "", "UART3_MUX_SEL-O", 1095*90e9de1dSWillie Thai "", "", "", "SGPIO_BMC_EN-O", 1096*90e9de1dSWillie Thai /*F0-F7*/ "", "", "", "", "", "", "", "", 1097*90e9de1dSWillie Thai /*G0-G7*/ "", "", "", "", "", "", "", "", 1098*90e9de1dSWillie Thai /*H0-H7*/ "", "", "", "", "", "", "", "", 1099*90e9de1dSWillie Thai /*I0-I7*/ "", "", "", "", "", "QSPI2_RST_L-O", "GLOBAL_WP_BMC-O", "BMC_DDR4_TEN-O", 1100*90e9de1dSWillie Thai /*J0-J7*/ "", "", "", "", "", "", "", "", 1101*90e9de1dSWillie Thai /*K0-K7*/ "", "", "", "", "", "", "", "", 1102*90e9de1dSWillie Thai /*L0-L7*/ "", "", "", "", "", "", "", "", 1103*90e9de1dSWillie Thai /*M0-M7*/ "PCIE_EP_RST_EN-O", "BMC_FRU_WP-O", "HMC_RESET_L-O", "STBY_POWER_EN-O", 1104*90e9de1dSWillie Thai "STBY_POWER_PG-I", "PCIE_EP_RST_L-O", "", "", 1105*90e9de1dSWillie Thai /*N0-N7*/ "", "", "", "", "", "", "", "", 1106*90e9de1dSWillie Thai /*O0-O7*/ "", "", "", "", "", "", "", "", 1107*90e9de1dSWillie Thai /*P0-P7*/ "", "", "", "", "", "", "", "", 1108*90e9de1dSWillie Thai /*Q0-Q7*/ "", "", "", "", "", "", "", "", 1109*90e9de1dSWillie Thai /*R0-R7*/ "", "", "", "", "", "", "", "", 1110*90e9de1dSWillie Thai /*S0-S7*/ "", "", "", "", "", "", "", "", 1111*90e9de1dSWillie Thai /*T0-T7*/ "", "", "", "", "", "", "", "", 1112*90e9de1dSWillie Thai /*U0-U7*/ "", "", "", "", "", "", "", "", 1113*90e9de1dSWillie Thai /*V0-V7*/ "AP_EROT_REQ-O", "EROT_AP_GNT-I", "", "","PCB_TEMP_ALERT-I", "","", "", 1114*90e9de1dSWillie Thai /*W0-W7*/ "", "", "", "", "", "", "", "", 1115*90e9de1dSWillie Thai /*X0-X7*/ "", "", "TPM_MUX_SEL-O", "", "", "", "", "", 1116*90e9de1dSWillie Thai /*Y0-Y7*/ "", "", "", "EMMC_RST-O", "","", "", "", 1117*90e9de1dSWillie Thai /*Z0-Z7*/ "BMC_READY-O","", "", "", "", "", "", ""; 1118*90e9de1dSWillie Thai}; 1119*90e9de1dSWillie Thai 1120*90e9de1dSWillie Thai&gpio1 { 1121*90e9de1dSWillie Thai /* 36 1.8V GPIOs */ 1122*90e9de1dSWillie Thai gpio-line-names = 1123*90e9de1dSWillie Thai /*A0-A7*/ "", "", "", "", "", "", "", "", 1124*90e9de1dSWillie Thai /*B0-B7*/ "", "", "", "", "", "", "IO_EXPANDER_INT_L-I","", 1125*90e9de1dSWillie Thai /*C0-C7*/ "", "", "", "", "", "", "", "", 1126*90e9de1dSWillie Thai /*D0-D7*/ "", "", "", "", "", "", "SPI_HOST_TPM_RST_L-O", "SPI_BMC_FPGA_INT_L-I", 1127*90e9de1dSWillie Thai /*E0-E7*/ "", "", "", "", "", "", "", ""; 1128*90e9de1dSWillie Thai}; 1129