| // SPDX-License-Identifier: GPL-2.0+ |
| // Copyright (c) 2018 Facebook Inc. |
| // Author: Vijay Khemka <vijaykhemka@fb.com> |
| /dts-v1/; |
| |
| #include "aspeed-g5.dtsi" |
| #include <dt-bindings/gpio/aspeed-gpio.h> |
| #include <dt-bindings/i2c/i2c.h> |
| |
| / { |
| model = "Facebook TiogaPass BMC"; |
| compatible = "facebook,tiogapass-bmc", "aspeed,ast2500"; |
| aliases { |
| serial0 = &uart1; |
| serial4 = &uart5; |
| |
| /* |
| * Hardcode the bus number of i2c switches' channels to |
| * avoid breaking the legacy applications. |
| */ |
| i2c16 = &imux16; |
| i2c17 = &imux17; |
| i2c18 = &imux18; |
| i2c19 = &imux19; |
| i2c20 = &imux20; |
| i2c21 = &imux21; |
| i2c22 = &imux22; |
| i2c23 = &imux23; |
| i2c24 = &imux24; |
| i2c25 = &imux25; |
| i2c26 = &imux26; |
| i2c27 = &imux27; |
| i2c28 = &imux28; |
| i2c29 = &imux29; |
| i2c30 = &imux30; |
| i2c31 = &imux31; |
| }; |
| chosen { |
| stdout-path = &uart5; |
| bootargs = "console=ttyS4,115200 earlyprintk"; |
| }; |
| |
| memory@80000000 { |
| reg = <0x80000000 0x20000000>; |
| }; |
| |
| iio-hwmon { |
| compatible = "iio-hwmon"; |
| io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, |
| <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>; |
| }; |
| |
| }; |
| |
| &fmc { |
| status = "okay"; |
| flash@0 { |
| status = "okay"; |
| m25p,fast-read; |
| #include "openbmc-flash-layout.dtsi" |
| }; |
| }; |
| |
| &spi1 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_spi1_default>; |
| flash@0 { |
| status = "okay"; |
| m25p,fast-read; |
| label = "pnor"; |
| }; |
| }; |
| |
| &lpc_snoop { |
| status = "okay"; |
| snoop-ports = <0x80>; |
| }; |
| |
| &lpc_ctrl { |
| // Enable lpc clock |
| status = "okay"; |
| }; |
| |
| &vuart { |
| // VUART Host Console |
| status = "okay"; |
| }; |
| |
| &uart1 { |
| // Host Console |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_txd1_default |
| &pinctrl_rxd1_default>; |
| }; |
| |
| &uart2 { |
| // SoL Host Console |
| status = "okay"; |
| }; |
| |
| &uart3 { |
| // SoL BMC Console |
| status = "okay"; |
| }; |
| |
| &uart5 { |
| // BMC Console |
| status = "okay"; |
| }; |
| |
| &kcs2 { |
| // BMC KCS channel 2 |
| status = "okay"; |
| aspeed,lpc-io-reg = <0xca8>; |
| }; |
| |
| &kcs3 { |
| // BMC KCS channel 3 |
| status = "okay"; |
| aspeed,lpc-io-reg = <0xca2>; |
| }; |
| |
| &gpio { |
| status = "okay"; |
| gpio-line-names = |
| /*A0-A7*/ "BMC_CPLD_FPGA_SEL","","","","","","","", |
| /*B0-B7*/ "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK", |
| "IRQ_PVDDQ_GHJ_VRHOT_LVT3", |
| /*C0-C7*/ "","","","","","","","", |
| /*D0-D7*/ "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","", |
| "BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2", |
| "CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC", |
| /*E0-E7*/ "RESET_BUTTON","RESET_OUT","POWER_BUTTON", |
| "POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC", |
| "CPU1_PROCHOT_LVT3_ BMC", |
| /*F0-F7*/ "IRQ_PVDDQ_ABC_VRHOT_LVT3","", |
| "IRQ_PVCCIN_CPU0_VRHOT_LVC3", |
| "IRQ_PVCCIN_CPU1_VRHOT_LVC3", |
| "IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","", |
| /*G0-G7*/ "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP", |
| "CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE", |
| /*H0-H7*/ "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2", |
| "LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5", |
| "LED_POST_CODE_6","LED_POST_CODE_7", |
| /*I0-I7*/ "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3", |
| "FORCE_ADR","UV_ADR_TRIGGER_EN","","","","", |
| /*J0-J7*/ "","","","","","","","", |
| /*K0-K7*/ "","","","","","","","", |
| /*L0-L7*/ "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","", |
| "MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","", |
| /*M0-M7*/ "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN", |
| "CPU0_THERMTRIP_LATCH_LVT3", |
| "CPU1_THERMTRIP_LATCH_LVT3","","", |
| /*N0-N7*/ "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","", |
| /*O0-O7*/ "","","","","","","","", |
| /*P0-P7*/ "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2", |
| "BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ", |
| "BMC_PWR_DEBUG","RST_RSMRST", |
| /*Q0-Q7*/ "","","","","UARTSW_LSB","UARTSW_MSB", |
| "POST_CARD_PRES_BMC","PE_BMC_WAKE", |
| /*R0-R7*/ "","","BMC_TCK_MUX_SEL","BMC_PRDY", |
| "BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0", |
| "SLT_CFG1", |
| /*S0-S7*/ "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","", |
| "","","", |
| /*T0-T7*/ "","","","","","","","", |
| /*U0-U7*/ "","","","","","BMC_FAULT","","", |
| /*V0-V7*/ "","","","FAST_PROCHOT_EN","","","","", |
| /*W0-W7*/ "","","","","","","","", |
| /*X0-X7*/ "","","","GLOBAL_RST_WARN", |
| "CPU0_MEMABC_MEMHOT_LVT3_BMC", |
| "CPU0_MEMDEF_MEMHOT_LVT3_BMC", |
| "CPU1_MEMGHJ_MEMHOT_LVT3_BMC", |
| "CPU1_MEMKLM_MEMHOT_LVT3_BMC", |
| /*Y0-Y7*/ "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","", |
| "","","", |
| /*Z0-Z7*/ "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","", |
| "","","","", |
| /*AA0-AA7*/ "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT", |
| "SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET", |
| "","POST_COMPLETE", |
| /*AB0-AB7*/ "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","", |
| /*AC0-AC7*/ "","","","","","","",""; |
| }; |
| |
| &mac0 { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rmii1_default>; |
| clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, |
| <&syscon ASPEED_CLK_MAC1RCLK>; |
| clock-names = "MACCLK", "RCLK"; |
| use-ncsi; |
| }; |
| |
| &adc { |
| status = "okay"; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| //Airmax Conn B, CPU0 PIROM, CPU1 PIROM |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| //X24 Riser |
| i2c-switch@71 { |
| compatible = "nxp,pca9544"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x71>; |
| |
| imux16: i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0>; |
| |
| ina230@45 { |
| compatible = "ti,ina230"; |
| reg = <0x45>; |
| }; |
| |
| tmp75@48 { |
| compatible = "ti,tmp75"; |
| reg = <0x48>; |
| }; |
| |
| tmp421@49 { |
| compatible = "ti,tmp75"; |
| reg = <0x49>; |
| }; |
| |
| eeprom@50 { |
| compatible = "atmel,24c64"; |
| reg = <0x50>; |
| pagesize = <32>; |
| }; |
| |
| i2c-switch@73 { |
| compatible = "nxp,pca9546"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x73>; |
| |
| imux20: i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0>; |
| }; |
| |
| imux21: i2c@1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <1>; |
| }; |
| |
| imux22: i2c@2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <2>; |
| }; |
| |
| imux23: i2c@3 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <3>; |
| }; |
| |
| }; |
| |
| }; |
| |
| imux17: i2c@1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <1>; |
| |
| ina230@45 { |
| compatible = "ti,ina230"; |
| reg = <0x45>; |
| }; |
| |
| tmp421@48 { |
| compatible = "ti,tmp75"; |
| reg = <0x48>; |
| }; |
| |
| tmp421@49 { |
| compatible = "ti,tmp75"; |
| reg = <0x49>; |
| }; |
| |
| eeprom@50 { |
| compatible = "atmel,24c64"; |
| reg = <0x50>; |
| pagesize = <32>; |
| }; |
| |
| i2c-switch@73 { |
| compatible = "nxp,pca9546"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x73>; |
| |
| imux24: i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0>; |
| }; |
| |
| imux25: i2c@1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <1>; |
| }; |
| |
| imux26: i2c@2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <2>; |
| }; |
| |
| imux27: i2c@3 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <3>; |
| }; |
| |
| }; |
| |
| }; |
| |
| imux18: i2c@2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <2>; |
| |
| ina230@45 { |
| compatible = "ti,ina230"; |
| reg = <0x45>; |
| }; |
| |
| tmp421@48 { |
| compatible = "ti,tmp75"; |
| reg = <0x48>; |
| }; |
| |
| tmp421@49 { |
| compatible = "ti,tmp75"; |
| reg = <0x49>; |
| }; |
| |
| eeprom@50 { |
| compatible = "atmel,24c64"; |
| reg = <0x50>; |
| pagesize = <32>; |
| }; |
| |
| i2c-switch@73 { |
| compatible = "nxp,pca9546"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x73>; |
| |
| imux28: i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0>; |
| }; |
| |
| imux29: i2c@1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <1>; |
| }; |
| |
| imux30: i2c@2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <2>; |
| }; |
| |
| imux31: i2c@3 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <3>; |
| }; |
| |
| }; |
| |
| }; |
| |
| imux19: i2c@3 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <3>; |
| |
| i2c-switch@40 { |
| compatible = "ti,ina230"; |
| reg = <0x40>; |
| }; |
| |
| i2c-switch@41 { |
| compatible = "ti,ina230"; |
| reg = <0x41>; |
| }; |
| |
| i2c-switch@45 { |
| compatible = "ti,ina230"; |
| reg = <0x45>; |
| }; |
| |
| }; |
| |
| }; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| // Mezz Management SMBus |
| }; |
| |
| &i2c3 { |
| status = "okay"; |
| // SMBus to Board ID EEPROM |
| }; |
| |
| &i2c4 { |
| status = "okay"; |
| // BMC Debug Header |
| ipmb0@10 { |
| compatible = "ipmb-dev"; |
| reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; |
| i2c-protocol; |
| }; |
| }; |
| |
| &i2c5 { |
| status = "okay"; |
| // CPU Voltage regulators |
| regulator@48 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x48>; |
| }; |
| regulator@4a { |
| compatible = "infineon,pxe1610"; |
| reg = <0x4a>; |
| }; |
| regulator@50 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x50>; |
| }; |
| regulator@52 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x52>; |
| }; |
| regulator@58 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x58>; |
| }; |
| regulator@5a { |
| compatible = "infineon,pxe1610"; |
| reg = <0x5a>; |
| }; |
| regulator@68 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x68>; |
| }; |
| regulator@70 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x70>; |
| }; |
| regulator@72 { |
| compatible = "infineon,pxe1610"; |
| reg = <0x72>; |
| }; |
| }; |
| |
| &i2c6 { |
| status = "okay"; |
| tpm@20 { |
| compatible = "infineon,slb9645tt"; |
| reg = <0x20>; |
| }; |
| tmp421@4e { |
| compatible = "ti,tmp421"; |
| reg = <0x4e>; |
| }; |
| tmp421@4f { |
| compatible = "ti,tmp421"; |
| reg = <0x4f>; |
| }; |
| eeprom@54 { |
| compatible = "atmel,24c64"; |
| reg = <0x54>; |
| pagesize = <32>; |
| }; |
| }; |
| |
| &i2c7 { |
| status = "okay"; |
| //HSC, AirMax Conn A |
| }; |
| |
| &i2c8 { |
| status = "okay"; |
| tmp421@1f { |
| compatible = "ti,tmp421"; |
| reg = <0x1f>; |
| }; |
| //Mezz Sensor SMBus |
| }; |
| |
| &i2c9 { |
| status = "okay"; |
| //USB Debug Connector |
| ipmb0@10 { |
| compatible = "ipmb-dev"; |
| reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; |
| i2c-protocol; |
| }; |
| }; |
| |
| &pwm_tacho { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; |
| fan@0 { |
| reg = <0x00>; |
| aspeed,fan-tach-ch = /bits/ 8 <0x00>; |
| }; |
| |
| fan@1 { |
| reg = <0x01>; |
| aspeed,fan-tach-ch = /bits/ 8 <0x02>; |
| }; |
| }; |