// SPDX-License-Identifier: GPL-2.0-or-later // Copyright 2019 IBM Corp. /dts-v1/; #include "aspeed-g6.dtsi" #include #include #include / { model = "Rainier"; compatible = "ibm,rainier-bmc", "aspeed,ast2600"; aliases { serial4 = &uart5; i2c16 = &i2c2mux0; i2c17 = &i2c2mux1; i2c18 = &i2c2mux2; i2c19 = &i2c2mux3; spi10 = &cfam0_spi0; spi11 = &cfam0_spi1; spi12 = &cfam0_spi2; spi13 = &cfam0_spi3; spi20 = &cfam1_spi0; spi21 = &cfam1_spi1; spi22 = &cfam1_spi2; spi23 = &cfam1_spi3; spi30 = &cfam2_spi0; spi31 = &cfam2_spi1; spi32 = &cfam2_spi2; spi33 = &cfam2_spi3; }; chosen { stdout-path = &uart5; bootargs = "console=ttyS4,115200n8"; }; memory@80000000 { device_type = "memory"; reg = <0x80000000 0x40000000>; }; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; flash_memory: region@B8000000 { no-map; reg = <0xB8000000 0x04000000>; /* 64M */ }; vga_memory: region@bf000000 { no-map; compatible = "shared-dma-pool"; reg = <0xbf000000 0x01000000>; /* 16M */ }; }; gpio-keys { compatible = "gpio-keys"; ps0-presence { label = "ps0-presence"; gpios = <&gpio0 ASPEED_GPIO(S, 0) GPIO_ACTIVE_LOW>; linux,code = ; }; ps1-presence { label = "ps1-presence"; gpios = <&gpio0 ASPEED_GPIO(S, 1) GPIO_ACTIVE_LOW>; linux,code = ; }; ps2-presence { label = "ps2-presence"; gpios = <&gpio0 ASPEED_GPIO(S, 2) GPIO_ACTIVE_LOW>; linux,code = ; }; ps3-presence { label = "ps3-presence"; gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_LOW>; linux,code = ; }; }; i2c2mux: i2cmux { compatible = "i2c-mux-gpio"; #address-cells = <1>; #size-cells = <0>; status = "okay"; i2c-parent = <&i2c2>; mux-gpios = <&gpio0 ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>, <&gpio0 ASPEED_GPIO(G, 5) GPIO_ACTIVE_HIGH>; idle-state = <0>; i2c2mux0: i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; i2c2mux1: i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; }; i2c2mux2: i2c@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; }; i2c2mux3: i2c@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; }; }; }; &ehci1 { status = "okay"; }; &gpio0 { gpio-line-names = /*A0-A7*/ "","","","","","","","", /*B0-B7*/ "","","","","","","checkstop","", /*C0-C7*/ "","","","","","","","", /*D0-D7*/ "","","","","","","","", /*E0-E7*/ "","","","","","","","", /*F0-F7*/ "","","","","","","","", /*G0-G7*/ "","","","","","","","", /*H0-H7*/ "","","","","","","","", /*I0-I7*/ "","","","","","","","", /*J0-J7*/ "","","","","","","","", /*K0-K7*/ "","","","","","","","", /*L0-L7*/ "","","","","","","","", /*M0-M7*/ "","","","","","","","", /*N0-N7*/ "","","","","","","","", /*O0-O7*/ "","","","usb-power","","","","", /*P0-P7*/ "","","","","","","","", /*Q0-Q7*/ "cfam-reset","","","","","","","", /*R0-R7*/ "","","","","","","","", /*S0-S7*/ "presence-ps0","presence-ps1","presence-ps2","presence-ps3", "","","","", /*T0-T7*/ "","","","","","","","", /*U0-U7*/ "","","","","","","","", /*V0-V7*/ "","","","","","","","", /*W0-W7*/ "","","","","","","","", /*X0-X7*/ "","","","","","","","", /*Y0-Y7*/ "","","","","","","","", /*Z0-Z7*/ "","","","","","","","", /*AA0-AA7*/ "","","","","","","","", /*AB0-AB7*/ "","","","","","","","", /*AC0-AC7*/ "","","","","","","",""; pin_mclr_vpp { gpio-hog; gpios = ; output-high; line-name = "mclr_vpp"; }; i2c3_mux_oe_n { gpio-hog; gpios = ; output-high; line-name = "I2C3_MUX_OE_N"; }; }; &emmc_controller { status = "okay"; }; &pinctrl_emmc_default { bias-disable; }; &emmc { status = "okay"; }; &fsim0 { status = "okay"; #address-cells = <2>; #size-cells = <0>; /* * CFAM Reset is supposed to be active low but pass1 hardware is wired * active high. */ cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_HIGH>; cfam@0,0 { reg = <0 0>; #address-cells = <1>; #size-cells = <1>; chip-id = <0>; scom@1000 { compatible = "ibm,fsi2pib"; reg = <0x1000 0x400>; }; i2c@1800 { compatible = "ibm,fsi-i2c-master"; reg = <0x1800 0x400>; #address-cells = <1>; #size-cells = <0>; }; fsi2spi@1c00 { compatible = "ibm,fsi2spi"; reg = <0x1c00 0x400>; #address-cells = <1>; #size-cells = <0>; cfam0_spi0: spi@0 { reg = <0x0>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam0_spi1: spi@20 { reg = <0x20>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam0_spi2: spi@40 { reg = <0x40>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam0_spi3: spi@60 { reg = <0x60>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; }; sbefifo@2400 { compatible = "ibm,p9-sbefifo"; reg = <0x2400 0x400>; #address-cells = <1>; #size-cells = <0>; fsi_occ0: occ { compatible = "ibm,p10-occ"; }; }; fsi_hub0: hub@3400 { compatible = "fsi-master-hub"; reg = <0x3400 0x400>; #address-cells = <2>; #size-cells = <0>; no-scan-on-init; }; }; }; &fsi_hub0 { cfam@1,0 { reg = <1 0>; #address-cells = <1>; #size-cells = <1>; chip-id = <1>; scom@1000 { compatible = "ibm,fsi2pib"; reg = <0x1000 0x400>; }; i2c@1800 { compatible = "ibm,fsi-i2c-master"; reg = <0x1800 0x400>; #address-cells = <1>; #size-cells = <0>; }; fsi2spi@1c00 { compatible = "ibm,fsi2spi"; reg = <0x1c00 0x400>; #address-cells = <1>; #size-cells = <0>; cfam1_spi0: spi@0 { reg = <0x0>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam1_spi1: spi@20 { reg = <0x20>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam1_spi2: spi@40 { reg = <0x40>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam1_spi3: spi@60 { reg = <0x60>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; }; sbefifo@2400 { compatible = "ibm,p9-sbefifo"; reg = <0x2400 0x400>; #address-cells = <1>; #size-cells = <0>; fsi_occ1: occ { compatible = "ibm,p10-occ"; }; }; fsi_hub1: hub@3400 { compatible = "fsi-master-hub"; reg = <0x3400 0x400>; #address-cells = <2>; #size-cells = <0>; no-scan-on-init; }; }; cfam@2,0 { reg = <2 0>; #address-cells = <1>; #size-cells = <1>; chip-id = <2>; scom@1000 { compatible = "ibm,fsi2pib"; reg = <0x1000 0x400>; }; i2c@1800 { compatible = "ibm,fsi-i2c-master"; reg = <0x1800 0x400>; #address-cells = <1>; #size-cells = <0>; }; fsi2spi@1c00 { compatible = "ibm,fsi2spi"; reg = <0x1c00 0x400>; #address-cells = <1>; #size-cells = <0>; cfam2_spi0: spi@0 { reg = <0x0>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam2_spi1: spi@20 { reg = <0x20>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam2_spi2: spi@40 { reg = <0x40>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; cfam2_spi3: spi@60 { reg = <0x60>; #address-cells = <1>; #size-cells = <0>; eeprom@0 { at25,byte-len = <0x80000>; at25,addr-mode = <4>; at25,page-size = <256>; compatible = "atmel,at25"; reg = <0>; spi-max-frequency = <1000000>; }; }; }; sbefifo@2400 { compatible = "ibm,p9-sbefifo"; reg = <0x2400 0x400>; #address-cells = <1>; #size-cells = <0>; fsi_occ2: occ { compatible = "ibm,p10-occ"; }; }; fsi_hub2: hub@3400 { compatible = "fsi-master-hub"; reg = <0x3400 0x400>; #address-cells = <2>; #size-cells = <0>; no-scan-on-init; }; }; }; /* Legacy OCC numbering (to get rid of when userspace is fixed) */ &fsi_occ0 { reg = <1>; }; &fsi_occ1 { reg = <2>; }; &fsi_occ2 { reg = <3>; }; &ibt { status = "okay"; }; &i2c0 { status = "okay"; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; tca9554@40 { compatible = "ti,tca9554"; reg = <0x40>; gpio-controller; #gpio-cells = <2>; smbus0 { gpio-hog; gpios = <4 GPIO_ACTIVE_HIGH>; output-high; line-name = "smbus0"; }; }; }; &i2c1 { status = "okay"; }; &i2c2 { status = "okay"; }; &i2c3 { status = "okay"; power-supply@68 { compatible = "ibm,cffps"; reg = <0x68>; }; power-supply@69 { compatible = "ibm,cffps"; reg = <0x69>; }; power-supply@6a { compatible = "ibm,cffps"; reg = <0x6a>; }; power-supply@6b { compatible = "ibm,cffps"; reg = <0x6b>; }; }; &i2c4 { status = "okay"; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; tmp275@49 { compatible = "ti,tmp275"; reg = <0x49>; }; tmp275@4a { compatible = "ti,tmp275"; reg = <0x4a>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; eeprom@52 { compatible = "atmel,24c64"; reg = <0x52>; }; }; &i2c5 { status = "okay"; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; tmp275@49 { compatible = "ti,tmp275"; reg = <0x49>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; }; &i2c6 { status = "okay"; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; tmp275@4a { compatible = "ti,tmp275"; reg = <0x4a>; }; tmp275@4b { compatible = "ti,tmp275"; reg = <0x4b>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; eeprom@52 { compatible = "atmel,24c64"; reg = <0x52>; }; eeprom@53 { compatible = "atmel,24c64"; reg = <0x53>; }; }; &i2c7 { multi-master; status = "okay"; si7021-a20@20 { compatible = "silabs,si7020"; reg = <0x20>; }; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; max31785@52 { compatible = "maxim,max31785a"; reg = <0x52>; #address-cells = <1>; #size-cells = <0>; fan@0 { compatible = "pmbus-fan"; reg = <0>; tach-pulses = <2>; }; fan@1 { compatible = "pmbus-fan"; reg = <1>; tach-pulses = <2>; }; fan@2 { compatible = "pmbus-fan"; reg = <2>; tach-pulses = <2>; }; fan@3 { compatible = "pmbus-fan"; reg = <3>; tach-pulses = <2>; }; }; pca0: pca9552@61 { compatible = "nxp,pca9552"; reg = <0x61>; #address-cells = <1>; #size-cells = <0>; gpio-controller; #gpio-cells = <2>; gpio@0 { reg = <0>; type = ; }; gpio@1 { reg = <1>; type = ; }; gpio@2 { reg = <2>; type = ; }; gpio@3 { reg = <3>; type = ; }; gpio@4 { reg = <4>; type = ; }; gpio@5 { reg = <5>; type = ; }; gpio@6 { reg = <6>; type = ; }; gpio@7 { reg = <7>; type = ; }; gpio@8 { reg = <8>; type = ; }; gpio@9 { reg = <9>; type = ; }; gpio@10 { reg = <10>; type = ; }; gpio@11 { reg = <11>; type = ; }; gpio@12 { reg = <12>; type = ; }; gpio@13 { reg = <13>; type = ; }; gpio@14 { reg = <14>; type = ; }; gpio@15 { reg = <15>; type = ; }; }; ibm-panel@62 { compatible = "ibm,op-panel"; reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>; }; dps: dps310@76 { compatible = "infineon,dps310"; reg = <0x76>; #io-channel-cells = <0>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; }; &i2c8 { status = "okay"; ucd90320@11 { compatible = "ti,ucd90320"; reg = <0x11>; }; rtc@32 { compatible = "epson,rx8900"; reg = <0x32>; }; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; tmp275@4a { compatible = "ti,tmp275"; reg = <0x4a>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; pca1: pca9552@61 { compatible = "nxp,pca9552"; reg = <0x61>; #address-cells = <1>; #size-cells = <0>; gpio-controller; #gpio-cells = <2>; gpio@0 { reg = <0>; type = ; }; gpio@1 { reg = <1>; type = ; }; gpio@2 { reg = <2>; type = ; }; gpio@3 { reg = <3>; type = ; }; gpio@4 { reg = <4>; type = ; }; gpio@5 { reg = <5>; type = ; }; gpio@6 { reg = <6>; type = ; }; gpio@7 { reg = <7>; type = ; }; gpio@8 { reg = <8>; type = ; }; gpio@9 { reg = <9>; type = ; }; gpio@10 { reg = <10>; type = ; }; gpio@11 { reg = <11>; type = ; }; gpio@12 { reg = <12>; type = ; }; gpio@13 { reg = <13>; type = ; }; gpio@14 { reg = <14>; type = ; }; gpio@15 { reg = <15>; type = ; }; }; }; &i2c9 { status = "okay"; tmp423a@4c { compatible = "ti,tmp423"; reg = <0x4c>; }; tmp423b@4d { compatible = "ti,tmp423"; reg = <0x4d>; }; eeprom@50 { compatible = "atmel,24c128"; reg = <0x50>; }; }; &i2c10 { status = "okay"; tmp423a@4c { compatible = "ti,tmp423"; reg = <0x4c>; }; tmp423b@4d { compatible = "ti,tmp423"; reg = <0x4d>; }; eeprom@50 { compatible = "atmel,24c128"; reg = <0x50>; }; }; &i2c11 { status = "okay"; tmp275@48 { compatible = "ti,tmp275"; reg = <0x48>; }; tmp275@49 { compatible = "ti,tmp275"; reg = <0x49>; }; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; eeprom@51 { compatible = "atmel,24c64"; reg = <0x51>; }; }; &i2c12 { status = "okay"; }; &i2c13 { status = "okay"; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; }; &i2c14 { status = "okay"; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; }; &i2c15 { status = "okay"; eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; }; }; &vuart1 { status = "okay"; }; &vuart2 { status = "okay"; }; &lpc_ctrl { status = "okay"; memory-region = <&flash_memory>; }; &mac2 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rmii3_default>; clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>, <&syscon ASPEED_CLK_MAC3RCLK>; clock-names = "MACCLK", "RCLK"; use-ncsi; }; &mac3 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rmii4_default>; clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>, <&syscon ASPEED_CLK_MAC4RCLK>; clock-names = "MACCLK", "RCLK"; use-ncsi; }; &fmc { status = "okay"; flash@0 { status = "okay"; m25p,fast-read; label = "bmc"; spi-max-frequency = <50000000>; #include "openbmc-flash-layout-128.dtsi" }; }; &spi1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_spi1_default>; flash@0 { status = "okay"; m25p,fast-read; label = "pnor"; spi-max-frequency = <100000000>; }; }; &xdma { status = "okay"; memory-region = <&vga_memory>; };