1// SPDX-License-Identifier: GPL-2.0+ 2// Copyright (c) 2018 Facebook Inc. 3/dts-v1/; 4 5#include "aspeed-g5.dtsi" 6 7/ { 8 model = "Facebook Backpack CMM BMC"; 9 compatible = "facebook,cmm-bmc", "aspeed,ast2500"; 10 11 aliases { 12 /* 13 * Override the default uart aliases to avoid breaking 14 * the legacy applications. 15 */ 16 serial0 = &uart5; 17 serial1 = &uart1; 18 serial2 = &uart3; 19 serial3 = &uart4; 20 21 /* 22 * Hardcode the bus number of i2c switches' channels to 23 * avoid breaking the legacy applications. 24 */ 25 i2c16 = &imux16; 26 i2c17 = &imux17; 27 i2c18 = &imux18; 28 i2c19 = &imux19; 29 i2c20 = &imux20; 30 i2c21 = &imux21; 31 i2c22 = &imux22; 32 i2c23 = &imux23; 33 i2c24 = &imux24; 34 i2c25 = &imux25; 35 i2c26 = &imux26; 36 i2c27 = &imux27; 37 i2c28 = &imux28; 38 i2c29 = &imux29; 39 i2c30 = &imux30; 40 i2c31 = &imux31; 41 i2c32 = &imux32; 42 i2c33 = &imux33; 43 i2c34 = &imux34; 44 i2c35 = &imux35; 45 i2c36 = &imux36; 46 i2c37 = &imux37; 47 i2c38 = &imux38; 48 i2c39 = &imux39; 49 }; 50 51 chosen { 52 stdout-path = &uart1; 53 bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlyprintk"; 54 }; 55 56 memory@80000000 { 57 reg = <0x80000000 0x20000000>; 58 }; 59}; 60 61&pinctrl { 62 aspeed,external-nodes = <&gfx &lhc>; 63}; 64 65/* 66 * Update reset type to "system" (full chip) to fix warm reboot hang issue 67 * when reset type is set to default ("soc", gated by reset mask registers). 68 */ 69&wdt1 { 70 status = "okay"; 71 aspeed,reset-type = "system"; 72}; 73 74/* 75 * wdt2 is not used by Backpack CMM. 76 */ 77&wdt2 { 78 status = "disabled"; 79}; 80 81&fmc { 82 status = "okay"; 83 flash@0 { 84 status = "okay"; 85 m25p,fast-read; 86 label = "bmc"; 87#include "facebook-bmc-flash-layout.dtsi" 88 }; 89}; 90 91&uart1 { 92 status = "okay"; 93 pinctrl-names = "default"; 94 pinctrl-0 = <&pinctrl_txd1_default 95 &pinctrl_rxd1_default 96 &pinctrl_ncts1_default 97 &pinctrl_ndcd1_default 98 &pinctrl_ndsr1_default 99 &pinctrl_ndtr1_default 100 &pinctrl_nrts1_default>; 101}; 102 103&uart3 { 104 status = "okay"; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&pinctrl_txd3_default 107 &pinctrl_rxd3_default 108 &pinctrl_ncts3_default 109 &pinctrl_ndcd3_default 110 &pinctrl_nri3_default>; 111}; 112 113&uart4 { 114 status = "okay"; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&pinctrl_txd4_default 117 &pinctrl_rxd4_default>; 118}; 119 120&uart5 { 121 status = "okay"; 122}; 123 124&mac1 { 125 status = "okay"; 126 no-hw-checksum; 127 pinctrl-names = "default"; 128 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>; 129}; 130 131/* 132 * I2C bus reserved for communication with COM-E. 133 */ 134&i2c0 { 135 status = "okay"; 136}; 137 138/* 139 * I2C bus to Line Cards and Fabric Cards. 140 */ 141&i2c1 { 142 status = "okay"; 143 144 i2c-switch@77 { 145 compatible = "nxp,pca9548"; 146 #address-cells = <1>; 147 #size-cells = <0>; 148 reg = <0x77>; 149 150 imux16: i2c@0 { 151 #address-cells = <1>; 152 #size-cells = <0>; 153 reg = <0>; 154 }; 155 156 imux17: i2c@1 { 157 #address-cells = <1>; 158 #size-cells = <0>; 159 reg = <1>; 160 }; 161 162 imux18: i2c@2 { 163 #address-cells = <1>; 164 #size-cells = <0>; 165 reg = <2>; 166 }; 167 168 imux19: i2c@3 { 169 #address-cells = <1>; 170 #size-cells = <0>; 171 reg = <3>; 172 }; 173 174 imux20: i2c@4 { 175 #address-cells = <1>; 176 #size-cells = <0>; 177 reg = <4>; 178 }; 179 180 imux21: i2c@5 { 181 #address-cells = <1>; 182 #size-cells = <0>; 183 reg = <5>; 184 }; 185 186 imux22: i2c@6 { 187 #address-cells = <1>; 188 #size-cells = <0>; 189 reg = <6>; 190 }; 191 192 imux23: i2c@7 { 193 #address-cells = <1>; 194 #size-cells = <0>; 195 reg = <7>; 196 }; 197 }; 198}; 199 200/* 201 * I2C bus to Power Distribution Board. 202 */ 203&i2c2 { 204 status = "okay"; 205 206 i2c-switch@71 { 207 compatible = "nxp,pca9548"; 208 #address-cells = <1>; 209 #size-cells = <0>; 210 reg = <0x71>; 211 212 imux24: i2c@0 { 213 #address-cells = <1>; 214 #size-cells = <0>; 215 reg = <0>; 216 }; 217 218 imux25: i2c@1 { 219 #address-cells = <1>; 220 #size-cells = <0>; 221 reg = <1>; 222 }; 223 224 imux26: i2c@2 { 225 #address-cells = <1>; 226 #size-cells = <0>; 227 reg = <2>; 228 }; 229 230 imux27: i2c@3 { 231 #address-cells = <1>; 232 #size-cells = <0>; 233 reg = <3>; 234 }; 235 236 imux28: i2c@4 { 237 #address-cells = <1>; 238 #size-cells = <0>; 239 reg = <4>; 240 }; 241 242 imux29: i2c@5 { 243 #address-cells = <1>; 244 #size-cells = <0>; 245 reg = <5>; 246 }; 247 248 imux30: i2c@6 { 249 #address-cells = <1>; 250 #size-cells = <0>; 251 reg = <6>; 252 }; 253 254 imux31: i2c@7 { 255 #address-cells = <1>; 256 #size-cells = <0>; 257 reg = <7>; 258 }; 259 }; 260}; 261 262/* 263 * I2c bus connected with temperature sensors on CMM. 264 */ 265&i2c3 { 266 status = "okay"; 267}; 268 269/* 270 * I2C bus reserved for communication with COM-E. 271 */ 272&i2c4 { 273 status = "okay"; 274}; 275 276/* 277 * I2c bus connected with ADM1278. 278 */ 279&i2c5 { 280 status = "okay"; 281}; 282 283/* 284 * I2c bus connected with I/O Expander. 285 */ 286&i2c6 { 287 status = "okay"; 288}; 289 290/* 291 * I2c bus connected with I/O Expander and EPROMs. 292 */ 293&i2c7 { 294 status = "okay"; 295}; 296 297/* 298 * I2C bus to Fan Control Board. 299 */ 300&i2c8 { 301 status = "okay"; 302 303 i2c-switch@77 { 304 compatible = "nxp,pca9548"; 305 #address-cells = <1>; 306 #size-cells = <0>; 307 reg = <0x77>; 308 309 imux32: i2c@0 { 310 #address-cells = <1>; 311 #size-cells = <0>; 312 reg = <0>; 313 }; 314 315 imux33: i2c@1 { 316 #address-cells = <1>; 317 #size-cells = <0>; 318 reg = <1>; 319 }; 320 321 imux34: i2c@2 { 322 #address-cells = <1>; 323 #size-cells = <0>; 324 reg = <2>; 325 }; 326 327 imux35: i2c@3 { 328 #address-cells = <1>; 329 #size-cells = <0>; 330 reg = <3>; 331 }; 332 333 imux36: i2c@4 { 334 #address-cells = <1>; 335 #size-cells = <0>; 336 reg = <4>; 337 }; 338 339 imux37: i2c@5 { 340 #address-cells = <1>; 341 #size-cells = <0>; 342 reg = <5>; 343 }; 344 345 imux38: i2c@6 { 346 #address-cells = <1>; 347 #size-cells = <0>; 348 reg = <6>; 349 }; 350 351 imux39: i2c@7 { 352 #address-cells = <1>; 353 #size-cells = <0>; 354 reg = <7>; 355 }; 356 }; 357}; 358 359/* 360 * I2C bus to CMM CPLD. 361 */ 362&i2c13 { 363 status = "okay"; 364}; 365 366&adc { 367 status = "okay"; 368}; 369