| .. | .. |
|---|
| 1 | 1 | // SPDX-License-Identifier: GPL-2.0+ |
|---|
| 2 | 2 | #include <dt-bindings/clock/aspeed-clock.h> |
|---|
| 3 | +#include <dt-bindings/interrupt-controller/aspeed-scu-ic.h> |
|---|
| 3 | 4 | |
|---|
| 4 | 5 | / { |
|---|
| 5 | 6 | model = "Aspeed BMC"; |
|---|
| .. | .. |
|---|
| 53 | 54 | #size-cells = <1>; |
|---|
| 54 | 55 | ranges; |
|---|
| 55 | 56 | |
|---|
| 56 | | - fmc: flash-controller@1e620000 { |
|---|
| 57 | + fmc: spi@1e620000 { |
|---|
| 57 | 58 | reg = < 0x1e620000 0xc4 |
|---|
| 58 | 59 | 0x20000000 0x10000000 >; |
|---|
| 59 | 60 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 65 | 66 | flash@0 { |
|---|
| 66 | 67 | reg = < 0 >; |
|---|
| 67 | 68 | compatible = "jedec,spi-nor"; |
|---|
| 69 | + spi-max-frequency = <50000000>; |
|---|
| 68 | 70 | status = "disabled"; |
|---|
| 69 | 71 | }; |
|---|
| 70 | 72 | flash@1 { |
|---|
| 71 | 73 | reg = < 1 >; |
|---|
| 72 | 74 | compatible = "jedec,spi-nor"; |
|---|
| 75 | + spi-max-frequency = <50000000>; |
|---|
| 73 | 76 | status = "disabled"; |
|---|
| 74 | 77 | }; |
|---|
| 75 | 78 | flash@2 { |
|---|
| 76 | 79 | reg = < 2 >; |
|---|
| 77 | 80 | compatible = "jedec,spi-nor"; |
|---|
| 81 | + spi-max-frequency = <50000000>; |
|---|
| 78 | 82 | status = "disabled"; |
|---|
| 79 | 83 | }; |
|---|
| 80 | 84 | }; |
|---|
| 81 | 85 | |
|---|
| 82 | | - spi1: flash-controller@1e630000 { |
|---|
| 86 | + spi1: spi@1e630000 { |
|---|
| 83 | 87 | reg = < 0x1e630000 0xc4 |
|---|
| 84 | 88 | 0x30000000 0x08000000 >; |
|---|
| 85 | 89 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 90 | 94 | flash@0 { |
|---|
| 91 | 95 | reg = < 0 >; |
|---|
| 92 | 96 | compatible = "jedec,spi-nor"; |
|---|
| 97 | + spi-max-frequency = <50000000>; |
|---|
| 93 | 98 | status = "disabled"; |
|---|
| 94 | 99 | }; |
|---|
| 95 | 100 | flash@1 { |
|---|
| 96 | 101 | reg = < 1 >; |
|---|
| 97 | 102 | compatible = "jedec,spi-nor"; |
|---|
| 103 | + spi-max-frequency = <50000000>; |
|---|
| 98 | 104 | status = "disabled"; |
|---|
| 99 | 105 | }; |
|---|
| 100 | 106 | }; |
|---|
| 101 | 107 | |
|---|
| 102 | | - spi2: flash-controller@1e631000 { |
|---|
| 108 | + spi2: spi@1e631000 { |
|---|
| 103 | 109 | reg = < 0x1e631000 0xc4 |
|---|
| 104 | 110 | 0x38000000 0x08000000 >; |
|---|
| 105 | 111 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 110 | 116 | flash@0 { |
|---|
| 111 | 117 | reg = < 0 >; |
|---|
| 112 | 118 | compatible = "jedec,spi-nor"; |
|---|
| 119 | + spi-max-frequency = <50000000>; |
|---|
| 113 | 120 | status = "disabled"; |
|---|
| 114 | 121 | }; |
|---|
| 115 | 122 | flash@1 { |
|---|
| 116 | 123 | reg = < 1 >; |
|---|
| 117 | 124 | compatible = "jedec,spi-nor"; |
|---|
| 125 | + spi-max-frequency = <50000000>; |
|---|
| 118 | 126 | status = "disabled"; |
|---|
| 119 | 127 | }; |
|---|
| 120 | 128 | }; |
|---|
| .. | .. |
|---|
| 188 | 196 | reg = <0x1e6a0000 0x300>; |
|---|
| 189 | 197 | interrupts = <5>; |
|---|
| 190 | 198 | clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>; |
|---|
| 199 | + aspeed,vhub-downstream-ports = <5>; |
|---|
| 200 | + aspeed,vhub-generic-endpoints = <15>; |
|---|
| 191 | 201 | pinctrl-names = "default"; |
|---|
| 192 | 202 | pinctrl-0 = <&pinctrl_usb2ad_default>; |
|---|
| 193 | 203 | status = "disabled"; |
|---|
| .. | .. |
|---|
| 199 | 209 | #size-cells = <1>; |
|---|
| 200 | 210 | ranges; |
|---|
| 201 | 211 | |
|---|
| 212 | + edac: memory-controller@1e6e0000 { |
|---|
| 213 | + compatible = "aspeed,ast2500-sdram-edac"; |
|---|
| 214 | + reg = <0x1e6e0000 0x174>; |
|---|
| 215 | + interrupts = <0>; |
|---|
| 216 | + status = "disabled"; |
|---|
| 217 | + }; |
|---|
| 218 | + |
|---|
| 202 | 219 | syscon: syscon@1e6e2000 { |
|---|
| 203 | 220 | compatible = "aspeed,ast2500-scu", "syscon", "simple-mfd"; |
|---|
| 204 | 221 | reg = <0x1e6e2000 0x1a8>; |
|---|
| 205 | 222 | #address-cells = <1>; |
|---|
| 206 | | - #size-cells = <0>; |
|---|
| 223 | + #size-cells = <1>; |
|---|
| 224 | + ranges = <0 0x1e6e2000 0x1000>; |
|---|
| 207 | 225 | #clock-cells = <1>; |
|---|
| 208 | 226 | #reset-cells = <1>; |
|---|
| 209 | 227 | |
|---|
| 210 | | - pinctrl: pinctrl { |
|---|
| 211 | | - compatible = "aspeed,g5-pinctrl"; |
|---|
| 212 | | - aspeed,external-nodes = <&gfx &lhc>; |
|---|
| 228 | + scu_ic: interrupt-controller@18 { |
|---|
| 229 | + #interrupt-cells = <1>; |
|---|
| 230 | + compatible = "aspeed,ast2500-scu-ic"; |
|---|
| 231 | + reg = <0x18 0x4>; |
|---|
| 232 | + interrupts = <21>; |
|---|
| 233 | + interrupt-controller; |
|---|
| 234 | + }; |
|---|
| 213 | 235 | |
|---|
| 236 | + p2a: p2a-control@2c { |
|---|
| 237 | + compatible = "aspeed,ast2500-p2a-ctrl"; |
|---|
| 238 | + reg = <0x2c 0x4>; |
|---|
| 239 | + status = "disabled"; |
|---|
| 240 | + }; |
|---|
| 241 | + |
|---|
| 242 | + pinctrl: pinctrl@80 { |
|---|
| 243 | + compatible = "aspeed,ast2500-pinctrl"; |
|---|
| 244 | + reg = <0x80 0x18>, <0xa0 0x10>; |
|---|
| 245 | + aspeed,external-nodes = <&gfx>, <&lhc>; |
|---|
| 214 | 246 | }; |
|---|
| 215 | 247 | }; |
|---|
| 216 | 248 | |
|---|
| .. | .. |
|---|
| 225 | 257 | compatible = "aspeed,ast2500-gfx", "syscon"; |
|---|
| 226 | 258 | reg = <0x1e6e6000 0x1000>; |
|---|
| 227 | 259 | reg-io-width = <4>; |
|---|
| 260 | + clocks = <&syscon ASPEED_CLK_GATE_D1CLK>; |
|---|
| 261 | + resets = <&syscon ASPEED_RESET_CRT1>; |
|---|
| 262 | + status = "disabled"; |
|---|
| 263 | + interrupts = <0x19>; |
|---|
| 264 | + }; |
|---|
| 265 | + |
|---|
| 266 | + xdma: xdma@1e6e7000 { |
|---|
| 267 | + compatible = "aspeed,ast2500-xdma"; |
|---|
| 268 | + reg = <0x1e6e7000 0x100>; |
|---|
| 269 | + clocks = <&syscon ASPEED_CLK_GATE_BCLK>; |
|---|
| 270 | + resets = <&syscon ASPEED_RESET_XDMA>; |
|---|
| 271 | + interrupts-extended = <&vic 6>, <&scu_ic ASPEED_AST2500_SCU_IC_PCIE_RESET_LO_TO_HI>; |
|---|
| 272 | + aspeed,pcie-device = "bmc"; |
|---|
| 273 | + aspeed,scu = <&syscon>; |
|---|
| 274 | + status = "disabled"; |
|---|
| 228 | 275 | }; |
|---|
| 229 | 276 | |
|---|
| 230 | 277 | adc: adc@1e6e9000 { |
|---|
| .. | .. |
|---|
| 236 | 283 | status = "disabled"; |
|---|
| 237 | 284 | }; |
|---|
| 238 | 285 | |
|---|
| 286 | + video: video@1e700000 { |
|---|
| 287 | + compatible = "aspeed,ast2500-video-engine"; |
|---|
| 288 | + reg = <0x1e700000 0x1000>; |
|---|
| 289 | + clocks = <&syscon ASPEED_CLK_GATE_VCLK>, |
|---|
| 290 | + <&syscon ASPEED_CLK_GATE_ECLK>; |
|---|
| 291 | + clock-names = "vclk", "eclk"; |
|---|
| 292 | + interrupts = <7>; |
|---|
| 293 | + status = "disabled"; |
|---|
| 294 | + }; |
|---|
| 295 | + |
|---|
| 239 | 296 | sram: sram@1e720000 { |
|---|
| 240 | 297 | compatible = "mmio-sram"; |
|---|
| 241 | 298 | reg = <0x1e720000 0x9000>; // 36K |
|---|
| 299 | + }; |
|---|
| 300 | + |
|---|
| 301 | + sdmmc: sd-controller@1e740000 { |
|---|
| 302 | + compatible = "aspeed,ast2500-sd-controller"; |
|---|
| 303 | + reg = <0x1e740000 0x100>; |
|---|
| 304 | + #address-cells = <1>; |
|---|
| 305 | + #size-cells = <1>; |
|---|
| 306 | + ranges = <0 0x1e740000 0x10000>; |
|---|
| 307 | + clocks = <&syscon ASPEED_CLK_GATE_SDCLK>; |
|---|
| 308 | + status = "disabled"; |
|---|
| 309 | + |
|---|
| 310 | + sdhci0: sdhci@100 { |
|---|
| 311 | + compatible = "aspeed,ast2500-sdhci"; |
|---|
| 312 | + reg = <0x100 0x100>; |
|---|
| 313 | + interrupts = <26>; |
|---|
| 314 | + sdhci,auto-cmd12; |
|---|
| 315 | + clocks = <&syscon ASPEED_CLK_SDIO>; |
|---|
| 316 | + status = "disabled"; |
|---|
| 317 | + }; |
|---|
| 318 | + |
|---|
| 319 | + sdhci1: sdhci@200 { |
|---|
| 320 | + compatible = "aspeed,ast2500-sdhci"; |
|---|
| 321 | + reg = <0x200 0x100>; |
|---|
| 322 | + interrupts = <26>; |
|---|
| 323 | + sdhci,auto-cmd12; |
|---|
| 324 | + clocks = <&syscon ASPEED_CLK_SDIO>; |
|---|
| 325 | + status = "disabled"; |
|---|
| 326 | + }; |
|---|
| 242 | 327 | }; |
|---|
| 243 | 328 | |
|---|
| 244 | 329 | gpio: gpio@1e780000 { |
|---|
| 245 | 330 | #gpio-cells = <2>; |
|---|
| 246 | 331 | gpio-controller; |
|---|
| 247 | 332 | compatible = "aspeed,ast2500-gpio"; |
|---|
| 248 | | - reg = <0x1e780000 0x1000>; |
|---|
| 333 | + reg = <0x1e780000 0x200>; |
|---|
| 249 | 334 | interrupts = <20>; |
|---|
| 250 | 335 | gpio-ranges = <&pinctrl 0 0 232>; |
|---|
| 251 | 336 | clocks = <&syscon ASPEED_CLK_APB>; |
|---|
| 252 | 337 | interrupt-controller; |
|---|
| 338 | + #interrupt-cells = <2>; |
|---|
| 339 | + }; |
|---|
| 340 | + |
|---|
| 341 | + sgpio: sgpio@1e780200 { |
|---|
| 342 | + #gpio-cells = <2>; |
|---|
| 343 | + compatible = "aspeed,ast2500-sgpio"; |
|---|
| 344 | + gpio-controller; |
|---|
| 345 | + interrupts = <40>; |
|---|
| 346 | + reg = <0x1e780200 0x0100>; |
|---|
| 347 | + clocks = <&syscon ASPEED_CLK_APB>; |
|---|
| 348 | + interrupt-controller; |
|---|
| 349 | + ngpios = <8>; |
|---|
| 350 | + bus-frequency = <12000000>; |
|---|
| 351 | + pinctrl-names = "default"; |
|---|
| 352 | + pinctrl-0 = <&pinctrl_sgpm_default>; |
|---|
| 353 | + status = "disabled"; |
|---|
| 354 | + }; |
|---|
| 355 | + |
|---|
| 356 | + rtc: rtc@1e781000 { |
|---|
| 357 | + compatible = "aspeed,ast2500-rtc"; |
|---|
| 358 | + reg = <0x1e781000 0x18>; |
|---|
| 359 | + status = "disabled"; |
|---|
| 253 | 360 | }; |
|---|
| 254 | 361 | |
|---|
| 255 | 362 | timer: timer@1e782000 { |
|---|
| .. | .. |
|---|
| 330 | 437 | ranges = <0x0 0x1e789000 0x1000>; |
|---|
| 331 | 438 | |
|---|
| 332 | 439 | lpc_bmc: lpc-bmc@0 { |
|---|
| 333 | | - compatible = "aspeed,ast2500-lpc-bmc"; |
|---|
| 440 | + compatible = "aspeed,ast2500-lpc-bmc", "simple-mfd", "syscon"; |
|---|
| 334 | 441 | reg = <0x0 0x80>; |
|---|
| 442 | + reg-io-width = <4>; |
|---|
| 443 | + |
|---|
| 444 | + #address-cells = <1>; |
|---|
| 445 | + #size-cells = <1>; |
|---|
| 446 | + ranges = <0x0 0x0 0x80>; |
|---|
| 447 | + |
|---|
| 448 | + kcs1: kcs@24 { |
|---|
| 449 | + compatible = "aspeed,ast2500-kcs-bmc-v2"; |
|---|
| 450 | + reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; |
|---|
| 451 | + interrupts = <8>; |
|---|
| 452 | + status = "disabled"; |
|---|
| 453 | + }; |
|---|
| 454 | + kcs2: kcs@28 { |
|---|
| 455 | + compatible = "aspeed,ast2500-kcs-bmc-v2"; |
|---|
| 456 | + reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>; |
|---|
| 457 | + interrupts = <8>; |
|---|
| 458 | + status = "disabled"; |
|---|
| 459 | + }; |
|---|
| 460 | + kcs3: kcs@2c { |
|---|
| 461 | + compatible = "aspeed,ast2500-kcs-bmc-v2"; |
|---|
| 462 | + reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>; |
|---|
| 463 | + interrupts = <8>; |
|---|
| 464 | + status = "disabled"; |
|---|
| 465 | + }; |
|---|
| 335 | 466 | }; |
|---|
| 336 | 467 | |
|---|
| 337 | 468 | lpc_host: lpc-host@80 { |
|---|
| .. | .. |
|---|
| 343 | 474 | #size-cells = <1>; |
|---|
| 344 | 475 | ranges = <0x0 0x80 0x1e0>; |
|---|
| 345 | 476 | |
|---|
| 346 | | - lpc_ctrl: lpc-ctrl@0 { |
|---|
| 347 | | - compatible = "aspeed,ast2500-lpc-ctrl"; |
|---|
| 348 | | - reg = <0x0 0x80>; |
|---|
| 349 | | - clocks = <&syscon ASPEED_CLK_GATE_LCLK>; |
|---|
| 350 | | - status = "disabled"; |
|---|
| 351 | | - }; |
|---|
| 352 | | - |
|---|
| 353 | | - lpc_snoop: lpc-snoop@0 { |
|---|
| 354 | | - compatible = "aspeed,ast2500-lpc-snoop"; |
|---|
| 355 | | - reg = <0x0 0x80>; |
|---|
| 477 | + kcs4: kcs@94 { |
|---|
| 478 | + compatible = "aspeed,ast2500-kcs-bmc-v2"; |
|---|
| 479 | + reg = <0x94 0x1>, <0x98 0x1>, <0x9c 0x1>; |
|---|
| 356 | 480 | interrupts = <8>; |
|---|
| 357 | 481 | status = "disabled"; |
|---|
| 358 | 482 | }; |
|---|
| 359 | 483 | |
|---|
| 360 | | - lhc: lhc@20 { |
|---|
| 361 | | - compatible = "aspeed,ast2500-lhc"; |
|---|
| 362 | | - reg = <0x20 0x24 0x48 0x8>; |
|---|
| 484 | + lpc_ctrl: lpc-ctrl@0 { |
|---|
| 485 | + compatible = "aspeed,ast2500-lpc-ctrl"; |
|---|
| 486 | + reg = <0x0 0x10>; |
|---|
| 487 | + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; |
|---|
| 488 | + status = "disabled"; |
|---|
| 489 | + }; |
|---|
| 490 | + |
|---|
| 491 | + lpc_snoop: lpc-snoop@10 { |
|---|
| 492 | + compatible = "aspeed,ast2500-lpc-snoop"; |
|---|
| 493 | + reg = <0x10 0x8>; |
|---|
| 494 | + interrupts = <8>; |
|---|
| 495 | + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; |
|---|
| 496 | + status = "disabled"; |
|---|
| 363 | 497 | }; |
|---|
| 364 | 498 | |
|---|
| 365 | 499 | lpc_reset: reset-controller@18 { |
|---|
| .. | .. |
|---|
| 368 | 502 | #reset-cells = <1>; |
|---|
| 369 | 503 | }; |
|---|
| 370 | 504 | |
|---|
| 505 | + lhc: lhc@20 { |
|---|
| 506 | + compatible = "aspeed,ast2500-lhc"; |
|---|
| 507 | + reg = <0x20 0x24 0x48 0x8>; |
|---|
| 508 | + }; |
|---|
| 509 | + |
|---|
| 510 | + |
|---|
| 371 | 511 | ibt: ibt@c0 { |
|---|
| 372 | 512 | compatible = "aspeed,ast2500-ibt-bmc"; |
|---|
| 373 | 513 | reg = <0xc0 0x18>; |
|---|
| 374 | 514 | interrupts = <8>; |
|---|
| 375 | | - clocks = <&syscon ASPEED_CLK_GATE_LCLK>; |
|---|
| 376 | 515 | status = "disabled"; |
|---|
| 377 | 516 | }; |
|---|
| 378 | 517 | }; |
|---|
| .. | .. |
|---|
| 1283 | 1422 | groups = "SDA2"; |
|---|
| 1284 | 1423 | }; |
|---|
| 1285 | 1424 | |
|---|
| 1425 | + pinctrl_sgpm_default: sgpm_default { |
|---|
| 1426 | + function = "SGPM"; |
|---|
| 1427 | + groups = "SGPM"; |
|---|
| 1428 | + }; |
|---|
| 1429 | + |
|---|
| 1286 | 1430 | pinctrl_sgps1_default: sgps1_default { |
|---|
| 1287 | 1431 | function = "SGPS1"; |
|---|
| 1288 | 1432 | groups = "SGPS1"; |
|---|