// SPDX-License-Identifier: GPL-2.0-or-later // Copyright 2023 IBM Corp. &fsim0 { status = "okay"; #address-cells = <2>; #size-cells = <0>; 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>; cfam0_i2c0: i2c-bus@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; /* OMI01 */ }; cfam0_i2c1: i2c-bus@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; /* OMI23 */ }; cfam0_i2c10: i2c-bus@a { #address-cells = <1>; #size-cells = <0>; reg = <10>; /* OP3A */ }; cfam0_i2c11: i2c-bus@b { #address-cells = <1>; #size-cells = <0>; reg = <11>; /* OP3B */ }; cfam0_i2c12: i2c-bus@c { #address-cells = <1>; #size-cells = <0>; reg = <12>; /* OP4A */ }; cfam0_i2c13: i2c-bus@d { #address-cells = <1>; #size-cells = <0>; reg = <13>; /* OP4B */ }; cfam0_i2c14: i2c-bus@e { #address-cells = <1>; #size-cells = <0>; reg = <14>; /* OP5A */ }; cfam0_i2c15: i2c-bus@f { #address-cells = <1>; #size-cells = <0>; reg = <15>; /* OP5B */ }; }; 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>; compatible = "ibm,fsi2spi"; #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>; compatible = "ibm,fsi2spi"; #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"; occ-hwmon { compatible = "ibm,p10-occ-hwmon"; ibm,no-poll-on-init; }; }; }; fsi_hub0: hub@3400 { compatible = "fsi-master-hub"; reg = <0x3400 0x400>; #address-cells = <2>; #size-cells = <0>; }; }; }; &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>; cfam1_i2c2: i2c-bus@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; /* OMI45 */ }; cfam1_i2c3: i2c-bus@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; /* OMI67 */ }; cfam1_i2c10: i2c-bus@a { #address-cells = <1>; #size-cells = <0>; reg = <10>; /* OP3A */ }; cfam1_i2c11: i2c-bus@b { #address-cells = <1>; #size-cells = <0>; reg = <11>; /* OP3B */ }; cfam1_i2c14: i2c-bus@e { #address-cells = <1>; #size-cells = <0>; reg = <14>; /* OP5A */ }; cfam1_i2c15: i2c-bus@f { #address-cells = <1>; #size-cells = <0>; reg = <15>; /* OP5B */ }; cfam1_i2c16: i2c-bus@10 { #address-cells = <1>; #size-cells = <0>; reg = <16>; /* OP6A */ }; cfam1_i2c17: i2c-bus@11 { #address-cells = <1>; #size-cells = <0>; reg = <17>; /* OP6B */ }; }; 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>; compatible = "ibm,fsi2spi"; #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>; compatible = "ibm,fsi2spi"; #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"; occ-hwmon { compatible = "ibm,p10-occ-hwmon"; ibm,no-poll-on-init; }; }; }; fsi_hub1: 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>; }; / { aliases { i2c100 = &cfam0_i2c0; i2c101 = &cfam0_i2c1; i2c110 = &cfam0_i2c10; i2c111 = &cfam0_i2c11; i2c112 = &cfam0_i2c12; i2c113 = &cfam0_i2c13; i2c114 = &cfam0_i2c14; i2c115 = &cfam0_i2c15; i2c202 = &cfam1_i2c2; i2c203 = &cfam1_i2c3; i2c210 = &cfam1_i2c10; i2c211 = &cfam1_i2c11; i2c214 = &cfam1_i2c14; i2c215 = &cfam1_i2c15; i2c216 = &cfam1_i2c16; i2c217 = &cfam1_i2c17; spi10 = &cfam0_spi0; spi11 = &cfam0_spi1; spi12 = &cfam0_spi2; spi13 = &cfam0_spi3; spi20 = &cfam1_spi0; spi21 = &cfam1_spi1; spi22 = &cfam1_spi2; spi23 = &cfam1_spi3; }; };