Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: aspeed: Add Power9 and Power9 CFAM description

To be used by the OpenPower BMC machines.

This provides proper chip IDs but also adds the various sub-devices
necessary for the future OCC driver among other. All the added nodes
comply with the existing upstream FSI bindings.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Benjamin Herrenschmidt and committed by
Joel Stanley
8bc7d3ed 459a6a2f

+278
+2
arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dts
··· 322 322 &adc { 323 323 status = "okay"; 324 324 }; 325 + 326 + #include "ibm-power9-dual.dtsi"
+22
arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
··· 347 347 line-name = "BMC_TPM_INT_N"; 348 348 }; 349 349 }; 350 + 351 + &fsi { 352 + cfam@0,0 { 353 + reg = <0 0>; 354 + #address-cells = <1>; 355 + #size-cells = <1>; 356 + chip-id = <0>; 357 + 358 + scom@1000 { 359 + compatible = "ibm,fsi2pib"; 360 + reg = <0x1000 0x400>; 361 + }; 362 + 363 + fsi_hub0: hub@3400 { 364 + compatible = "ibm,fsi-master-hub"; 365 + reg = <0x3400 0x400>; 366 + #address-cells = <2>; 367 + #size-cells = <0>; 368 + no-scan-on-init; 369 + }; 370 + }; 371 + };
+2
arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
··· 304 304 &adc { 305 305 status = "okay"; 306 306 }; 307 + 308 + #include "ibm-power9-dual.dtsi"
+2
arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
··· 640 640 &vhub { 641 641 status = "okay"; 642 642 }; 643 + 644 + #include "ibm-power9-dual.dtsi"
+2
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
··· 435 435 &ibt { 436 436 status = "okay"; 437 437 }; 438 + 439 + #include "ibm-power9-dual.dtsi"
+248
arch/arm/boot/dts/ibm-power9-dual.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + // Copyright 2018 IBM Corp 3 + 4 + &fsi { 5 + cfam@0,0 { 6 + reg = <0 0>; 7 + #address-cells = <1>; 8 + #size-cells = <1>; 9 + chip-id = <0>; 10 + 11 + scom@1000 { 12 + compatible = "ibm,fsi2pib"; 13 + reg = <0x1000 0x400>; 14 + }; 15 + 16 + i2c@1800 { 17 + compatible = "ibm,fsi-i2c-master"; 18 + reg = <0x1800 0x400>; 19 + #address-cells = <1>; 20 + #size-cells = <0>; 21 + 22 + cfam0_i2c0: i2c-bus@0 { 23 + reg = <0>; 24 + }; 25 + 26 + cfam0_i2c1: i2c-bus@1 { 27 + reg = <1>; 28 + }; 29 + 30 + cfam0_i2c2: i2c-bus@2 { 31 + reg = <2>; 32 + }; 33 + 34 + cfam0_i2c3: i2c-bus@3 { 35 + reg = <3>; 36 + }; 37 + 38 + cfam0_i2c4: i2c-bus@4 { 39 + reg = <4>; 40 + }; 41 + 42 + cfam0_i2c5: i2c-bus@5 { 43 + reg = <5>; 44 + }; 45 + 46 + cfam0_i2c6: i2c-bus@6 { 47 + reg = <6>; 48 + }; 49 + 50 + cfam0_i2c7: i2c-bus@7 { 51 + reg = <7>; 52 + }; 53 + 54 + cfam0_i2c8: i2c-bus@8 { 55 + reg = <8>; 56 + }; 57 + 58 + cfam0_i2c9: i2c-bus@9 { 59 + reg = <9>; 60 + }; 61 + 62 + cfam0_i2c10: i2c-bus@a { 63 + reg = <10>; 64 + }; 65 + 66 + cfam0_i2c11: i2c-bus@b { 67 + reg = <11>; 68 + }; 69 + 70 + cfam0_i2c12: i2c-bus@c { 71 + reg = <12>; 72 + }; 73 + 74 + cfam0_i2c13: i2c-bus@d { 75 + reg = <13>; 76 + }; 77 + 78 + cfam0_i2c14: i2c-bus@e { 79 + reg = <14>; 80 + }; 81 + }; 82 + 83 + sbefifo@2400 { 84 + compatible = "ibm,p9-sbefifo"; 85 + reg = <0x2400 0x400>; 86 + #address-cells = <1>; 87 + #size-cells = <0>; 88 + 89 + fsi_occ0: occ { 90 + compatible = "ibm,p9-occ"; 91 + }; 92 + }; 93 + 94 + fsi_hub0: hub@3400 { 95 + compatible = "fsi-master-hub"; 96 + reg = <0x3400 0x400>; 97 + #address-cells = <2>; 98 + #size-cells = <0>; 99 + 100 + no-scan-on-init; 101 + }; 102 + }; 103 + }; 104 + 105 + &fsi_hub0 { 106 + cfam@1,0 { 107 + reg = <1 0>; 108 + #address-cells = <1>; 109 + #size-cells = <1>; 110 + chip-id = <1>; 111 + 112 + scom@1000 { 113 + compatible = "ibm,fsi2pib"; 114 + reg = <0x1000 0x400>; 115 + }; 116 + 117 + i2c@1800 { 118 + compatible = "ibm,fsi-i2c-master"; 119 + reg = <0x1800 0x400>; 120 + #address-cells = <1>; 121 + #size-cells = <0>; 122 + 123 + cfam1_i2c0: i2c-bus@0 { 124 + reg = <0>; 125 + }; 126 + 127 + cfam1_i2c1: i2c-bus@1 { 128 + reg = <1>; 129 + }; 130 + 131 + cfam1_i2c2: i2c-bus@2 { 132 + reg = <2>; 133 + }; 134 + 135 + cfam1_i2c3: i2c-bus@3 { 136 + reg = <3>; 137 + }; 138 + 139 + cfam1_i2c4: i2c-bus@4 { 140 + reg = <4>; 141 + }; 142 + 143 + cfam1_i2c5: i2c-bus@5 { 144 + reg = <5>; 145 + }; 146 + 147 + cfam1_i2c6: i2c-bus@6 { 148 + reg = <6>; 149 + }; 150 + 151 + cfam1_i2c7: i2c-bus@7 { 152 + reg = <7>; 153 + }; 154 + 155 + cfam1_i2c8: i2c-bus@8 { 156 + reg = <8>; 157 + }; 158 + 159 + cfam1_i2c9: i2c-bus@9 { 160 + reg = <9>; 161 + }; 162 + 163 + cfam1_i2c10: i2c-bus@a { 164 + reg = <10>; 165 + }; 166 + 167 + cfam1_i2c11: i2c-bus@b { 168 + reg = <11>; 169 + }; 170 + 171 + cfam1_i2c12: i2c-bus@c { 172 + reg = <12>; 173 + }; 174 + 175 + cfam1_i2c13: i2c-bus@d { 176 + reg = <13>; 177 + }; 178 + 179 + cfam1_i2c14: i2c-bus@e { 180 + reg = <14>; 181 + }; 182 + }; 183 + 184 + sbefifo@2400 { 185 + compatible = "ibm,p9-sbefifo"; 186 + reg = <0x2400 0x400>; 187 + #address-cells = <1>; 188 + #size-cells = <0>; 189 + 190 + fsi_occ1: occ { 191 + compatible = "ibm,p9-occ"; 192 + }; 193 + }; 194 + 195 + fsi_hub1: hub@3400 { 196 + compatible = "fsi-master-hub"; 197 + reg = <0x3400 0x400>; 198 + #address-cells = <2>; 199 + #size-cells = <0>; 200 + 201 + no-scan-on-init; 202 + }; 203 + }; 204 + }; 205 + 206 + /* Legacy OCC numbering (to get rid of when userspace is fixed) */ 207 + &fsi_occ0 { 208 + reg = <1>; 209 + }; 210 + 211 + &fsi_occ1 { 212 + reg = <2>; 213 + }; 214 + 215 + / { 216 + aliases { 217 + i2c100 = &cfam0_i2c0; 218 + i2c101 = &cfam0_i2c1; 219 + i2c102 = &cfam0_i2c2; 220 + i2c103 = &cfam0_i2c3; 221 + i2c104 = &cfam0_i2c4; 222 + i2c105 = &cfam0_i2c5; 223 + i2c106 = &cfam0_i2c6; 224 + i2c107 = &cfam0_i2c7; 225 + i2c108 = &cfam0_i2c8; 226 + i2c109 = &cfam0_i2c9; 227 + i2c110 = &cfam0_i2c10; 228 + i2c111 = &cfam0_i2c11; 229 + i2c112 = &cfam0_i2c12; 230 + i2c113 = &cfam0_i2c13; 231 + i2c114 = &cfam0_i2c14; 232 + i2c200 = &cfam1_i2c0; 233 + i2c201 = &cfam1_i2c1; 234 + i2c202 = &cfam1_i2c2; 235 + i2c203 = &cfam1_i2c3; 236 + i2c204 = &cfam1_i2c4; 237 + i2c205 = &cfam1_i2c5; 238 + i2c206 = &cfam1_i2c6; 239 + i2c207 = &cfam1_i2c7; 240 + i2c208 = &cfam1_i2c8; 241 + i2c209 = &cfam1_i2c9; 242 + i2c210 = &cfam1_i2c10; 243 + i2c211 = &cfam1_i2c11; 244 + i2c212 = &cfam1_i2c12; 245 + i2c213 = &cfam1_i2c13; 246 + i2c214 = &cfam1_i2c14; 247 + }; 248 + };