ARM: dts: aspeed: rainier: Add additional processor CFAMs
authorEddie James <eajames@linux.ibm.com>
Mon, 29 Mar 2021 15:00:02 +0000 (10:00 -0500)
committerJoel Stanley <joel@jms.id.au>
Thu, 8 Apr 2021 01:37:42 +0000 (11:07 +0930)
Rainier has two dual-chip modules and therefore four CFAMs with their
associated engines. Add these to the devicetree with the i2c busses
that have devices on them.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210329150020.13632-5-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dts

index b57b24e..f7e9596 100644 (file)
        compatible = "ibm,rainier-bmc", "aspeed,ast2600";
 
        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;
+               i2c300 = &cfam2_i2c0;
+               i2c301 = &cfam2_i2c1;
+               i2c310 = &cfam2_i2c10;
+               i2c311 = &cfam2_i2c11;
+               i2c312 = &cfam2_i2c12;
+               i2c313 = &cfam2_i2c13;
+               i2c314 = &cfam2_i2c14;
+               i2c315 = &cfam2_i2c15;
+               i2c402 = &cfam3_i2c2;
+               i2c403 = &cfam3_i2c3;
+               i2c410 = &cfam3_i2c10;
+               i2c411 = &cfam3_i2c11;
+               i2c414 = &cfam3_i2c14;
+               i2c415 = &cfam3_i2c15;
+               i2c416 = &cfam3_i2c16;
+               i2c417 = &cfam3_i2c17;
+
                serial4 = &uart5;
                i2c16 = &i2c2mux0;
                i2c17 = &i2c2mux1;
                spi31 = &cfam2_spi1;
                spi32 = &cfam2_spi2;
                spi33 = &cfam2_spi3;
+               spi40 = &cfam3_spi0;
+               spi41 = &cfam3_spi1;
+               spi42 = &cfam3_spi2;
+               spi43 = &cfam3_spi3;
        };
 
        chosen {
                        reg = <0x1800 0x400>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+
+                       cfam0_i2c0: i2c-bus@0 {
+                               reg = <0>;      /* OMI01 */
+                       };
+
+                       cfam0_i2c1: i2c-bus@1 {
+                               reg = <1>;      /* OMI23 */
+                       };
+
+                       cfam0_i2c10: i2c-bus@a {
+                               reg = <10>;     /* OP3A */
+                       };
+
+                       cfam0_i2c11: i2c-bus@b {
+                               reg = <11>;     /* OP3B */
+                       };
+
+                       cfam0_i2c12: i2c-bus@c {
+                               reg = <12>;     /* OP4A */
+                       };
+
+                       cfam0_i2c13: i2c-bus@d {
+                               reg = <13>;     /* OP4B */
+                       };
+
+                       cfam0_i2c14: i2c-bus@e {
+                               reg = <14>;     /* OP5A */
+                       };
+
+                       cfam0_i2c15: i2c-bus@f {
+                               reg = <15>;     /* OP5B */
+                       };
                };
 
                fsi2spi@1c00 {
                        reg = <0x3400 0x400>;
                        #address-cells = <2>;
                        #size-cells = <0>;
-
-                       no-scan-on-init;
                };
        };
 };
                        reg = <0x1800 0x400>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+
+                       cfam1_i2c2: i2c-bus@2 {
+                               reg = <2>;      /* OMI45 */
+                       };
+
+                       cfam1_i2c3: i2c-bus@3 {
+                               reg = <3>;      /* OMI67 */
+                       };
+
+                       cfam1_i2c10: i2c-bus@a {
+                               reg = <10>;     /* OP3A */
+                       };
+
+                       cfam1_i2c11: i2c-bus@b {
+                               reg = <11>;     /* OP3B */
+                       };
+
+                       cfam1_i2c14: i2c-bus@e {
+                               reg = <14>;     /* OP5A */
+                       };
+
+                       cfam1_i2c15: i2c-bus@f {
+                               reg = <15>;     /* OP5B */
+                       };
+
+                       cfam1_i2c16: i2c-bus@10 {
+                               reg = <16>;     /* OP6A */
+                       };
+
+                       cfam1_i2c17: i2c-bus@11 {
+                               reg = <17>;     /* OP6B */
+                       };
                };
 
                fsi2spi@1c00 {
                        reg = <0x1800 0x400>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+
+                       cfam2_i2c0: i2c-bus@0 {
+                               reg = <0>;      /* OM01 */
+                       };
+
+                       cfam2_i2c1: i2c-bus@1 {
+                               reg = <1>;      /* OM23 */
+                       };
+
+                       cfam2_i2c10: i2c-bus@a {
+                               reg = <10>;     /* OP3A */
+                       };
+
+                       cfam2_i2c11: i2c-bus@b {
+                               reg = <11>;     /* OP3B */
+                       };
+
+                       cfam2_i2c12: i2c-bus@c {
+                               reg = <12>;     /* OP4A */
+                       };
+
+                       cfam2_i2c13: i2c-bus@d {
+                               reg = <13>;     /* OP4B */
+                       };
+
+                       cfam2_i2c14: i2c-bus@e {
+                               reg = <14>;     /* OP5A */
+                       };
+
+                       cfam2_i2c15: i2c-bus@f {
+                               reg = <15>;     /* OP5B */
+                       };
                };
 
                fsi2spi@1c00 {
                        no-scan-on-init;
                };
        };
+
+       cfam@3,0 {
+               reg = <3 0>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               chip-id = <3>;
+
+               scom@1000 {
+                       compatible = "ibm,fsi2pib";
+                       reg = <0x1000 0x400>;
+               };
+
+               i2c@1800 {
+                       compatible = "ibm,fsi-i2c-master";
+                       reg = <0x1800 0x400>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       cfam3_i2c2: i2c-bus@2 {
+                               reg = <2>;      /* OM45 */
+                       };
+
+                       cfam3_i2c3: i2c-bus@3 {
+                               reg = <3>;      /* OM67 */
+                       };
+
+                       cfam3_i2c10: i2c-bus@a {
+                               reg = <10>;     /* OP3A */
+                       };
+
+                       cfam3_i2c11: i2c-bus@b {
+                               reg = <11>;     /* OP3B */
+                       };
+
+                       cfam3_i2c14: i2c-bus@e {
+                               reg = <14>;     /* OP5A */
+                       };
+
+                       cfam3_i2c15: i2c-bus@f {
+                               reg = <15>;     /* OP5B */
+                       };
+
+                       cfam3_i2c16: i2c-bus@10 {
+                               reg = <16>;     /* OP6A */
+                       };
+
+                       cfam3_i2c17: i2c-bus@11 {
+                               reg = <17>;     /* OP6B */
+                       };
+               };
+
+               fsi2spi@1c00 {
+                       compatible = "ibm,fsi2spi";
+                       reg = <0x1c00 0x400>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       cfam3_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>;
+                               };
+                       };
+
+                       cfam3_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>;
+                               };
+                       };
+
+                       cfam3_spi2: spi@40 {
+                               reg = <0x40>;
+                               compatible = "ibm,fsi2spi-restricted";
+                               #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>;
+                               };
+                       };
+
+                       cfam3_spi3: spi@60 {
+                               reg = <0x60>;
+                               compatible = "ibm,fsi2spi-restricted";
+                               #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_occ3: occ {
+                               compatible = "ibm,p10-occ";
+                       };
+               };
+
+               fsi_hub3: 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) */
        reg = <3>;
 };
 
+&fsi_occ3 {
+       reg = <4>;
+};
+
 &ibt {
        status = "okay";
 };