1ad1d7d7cSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 2317bf653SNate Case/* 3317bf653SNate Case * Copyright (C) 2009 Extreme Engineering Solutions, Inc. 4317bf653SNate Case * Based on TQM8548 device tree 5317bf653SNate Case * 6317bf653SNate Case * XPedite5200 PrPMC/XMC module based on MPC8548E 7317bf653SNate Case */ 8317bf653SNate Case 9317bf653SNate Case/dts-v1/; 10317bf653SNate Case 11317bf653SNate Case/ { 12317bf653SNate Case model = "xes,xpedite5200"; 13317bf653SNate Case compatible = "xes,xpedite5200", "xes,MPC8548"; 14317bf653SNate Case #address-cells = <1>; 15317bf653SNate Case #size-cells = <1>; 16317bf653SNate Case 17317bf653SNate Case aliases { 18317bf653SNate Case ethernet0 = &enet0; 19317bf653SNate Case ethernet1 = &enet1; 20317bf653SNate Case ethernet2 = &enet2; 21317bf653SNate Case ethernet3 = &enet3; 22317bf653SNate Case 23317bf653SNate Case serial0 = &serial0; 24317bf653SNate Case serial1 = &serial1; 25317bf653SNate Case pci0 = &pci0; 26317bf653SNate Case }; 27317bf653SNate Case 28317bf653SNate Case cpus { 29317bf653SNate Case #address-cells = <1>; 30317bf653SNate Case #size-cells = <0>; 31317bf653SNate Case 32317bf653SNate Case PowerPC,8548@0 { 33317bf653SNate Case device_type = "cpu"; 34317bf653SNate Case reg = <0>; 35317bf653SNate Case d-cache-line-size = <32>; // 32 bytes 36317bf653SNate Case i-cache-line-size = <32>; // 32 bytes 37317bf653SNate Case d-cache-size = <0x8000>; // L1, 32K 38317bf653SNate Case i-cache-size = <0x8000>; // L1, 32K 39317bf653SNate Case next-level-cache = <&L2>; 40317bf653SNate Case }; 41317bf653SNate Case }; 42317bf653SNate Case 43317bf653SNate Case memory { 44317bf653SNate Case device_type = "memory"; 45317bf653SNate Case reg = <0x0 0x0>; // Filled in by U-Boot 46317bf653SNate Case }; 47317bf653SNate Case 48317bf653SNate Case soc@ef000000 { 49317bf653SNate Case #address-cells = <1>; 50317bf653SNate Case #size-cells = <1>; 51317bf653SNate Case device_type = "soc"; 52317bf653SNate Case ranges = <0x0 0xef000000 0x100000>; 53317bf653SNate Case bus-frequency = <0>; 54317bf653SNate Case compatible = "fsl,mpc8548-immr", "simple-bus"; 55317bf653SNate Case 56317bf653SNate Case ecm-law@0 { 57317bf653SNate Case compatible = "fsl,ecm-law"; 58317bf653SNate Case reg = <0x0 0x1000>; 59317bf653SNate Case fsl,num-laws = <12>; 60317bf653SNate Case }; 61317bf653SNate Case 62317bf653SNate Case ecm@1000 { 63317bf653SNate Case compatible = "fsl,mpc8548-ecm", "fsl,ecm"; 64317bf653SNate Case reg = <0x1000 0x1000>; 65317bf653SNate Case interrupts = <17 2>; 66317bf653SNate Case interrupt-parent = <&mpic>; 67317bf653SNate Case }; 68317bf653SNate Case 69317bf653SNate Case memory-controller@2000 { 70317bf653SNate Case compatible = "fsl,mpc8548-memory-controller"; 71317bf653SNate Case reg = <0x2000 0x1000>; 72317bf653SNate Case interrupt-parent = <&mpic>; 73317bf653SNate Case interrupts = <18 2>; 74317bf653SNate Case }; 75317bf653SNate Case 76317bf653SNate Case L2: l2-cache-controller@20000 { 77317bf653SNate Case compatible = "fsl,mpc8548-l2-cache-controller"; 78317bf653SNate Case reg = <0x20000 0x1000>; 79317bf653SNate Case cache-line-size = <32>; // 32 bytes 80317bf653SNate Case cache-size = <0x80000>; // L2, 512K 81317bf653SNate Case interrupt-parent = <&mpic>; 82317bf653SNate Case interrupts = <16 2>; 83317bf653SNate Case }; 84317bf653SNate Case 85317bf653SNate Case /* On-card I2C */ 86317bf653SNate Case i2c@3000 { 87317bf653SNate Case #address-cells = <1>; 88317bf653SNate Case #size-cells = <0>; 89317bf653SNate Case cell-index = <0>; 90317bf653SNate Case compatible = "fsl-i2c"; 91317bf653SNate Case reg = <0x3000 0x100>; 92317bf653SNate Case interrupts = <43 2>; 93317bf653SNate Case interrupt-parent = <&mpic>; 94317bf653SNate Case dfsrr; 95317bf653SNate Case 96317bf653SNate Case /* 97317bf653SNate Case * Board GPIO: 98317bf653SNate Case * 0: BRD_CFG0 (1: P14 IO present) 99317bf653SNate Case * 1: BRD_CFG1 (1: FP ethernet present) 100317bf653SNate Case * 2: BRD_CFG2 (1: XMC IO present) 101317bf653SNate Case * 3: XMC root complex indicator 102317bf653SNate Case * 4: Flash boot device indicator 103317bf653SNate Case * 5: Flash write protect enable 104317bf653SNate Case * 6: PMC monarch indicator 105317bf653SNate Case * 7: PMC EREADY 106317bf653SNate Case */ 107317bf653SNate Case gpio1: gpio@18 { 108317bf653SNate Case compatible = "nxp,pca9556"; 109317bf653SNate Case reg = <0x18>; 110317bf653SNate Case #gpio-cells = <2>; 111317bf653SNate Case gpio-controller; 112317bf653SNate Case polarity = <0x00>; 113317bf653SNate Case }; 114317bf653SNate Case 115317bf653SNate Case /* P14 GPIO */ 116317bf653SNate Case gpio2: gpio@19 { 117317bf653SNate Case compatible = "nxp,pca9556"; 118317bf653SNate Case reg = <0x19>; 119317bf653SNate Case #gpio-cells = <2>; 120317bf653SNate Case gpio-controller; 121317bf653SNate Case polarity = <0x00>; 122317bf653SNate Case }; 123317bf653SNate Case 124317bf653SNate Case eeprom@50 { 125317bf653SNate Case compatible = "atmel,at24c16"; 126317bf653SNate Case reg = <0x50>; 127317bf653SNate Case }; 128317bf653SNate Case 129317bf653SNate Case rtc@68 { 1305edc2aaeSStefan Agner compatible = "st,m41t00", 131317bf653SNate Case "dallas,ds1338"; 132317bf653SNate Case reg = <0x68>; 133317bf653SNate Case }; 134317bf653SNate Case 135*d5342fddSThierry Reding dtt@34 { 136317bf653SNate Case compatible = "maxim,max1237"; 137317bf653SNate Case reg = <0x34>; 138317bf653SNate Case }; 139317bf653SNate Case }; 140317bf653SNate Case 141317bf653SNate Case /* Off-card I2C */ 142317bf653SNate Case i2c@3100 { 143317bf653SNate Case #address-cells = <1>; 144317bf653SNate Case #size-cells = <0>; 145317bf653SNate Case cell-index = <1>; 146317bf653SNate Case compatible = "fsl-i2c"; 147317bf653SNate Case reg = <0x3100 0x100>; 148317bf653SNate Case interrupts = <43 2>; 149317bf653SNate Case interrupt-parent = <&mpic>; 150317bf653SNate Case dfsrr; 151317bf653SNate Case }; 152317bf653SNate Case 153317bf653SNate Case dma@21300 { 154317bf653SNate Case #address-cells = <1>; 155317bf653SNate Case #size-cells = <1>; 156317bf653SNate Case compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; 157317bf653SNate Case reg = <0x21300 0x4>; 158317bf653SNate Case ranges = <0x0 0x21100 0x200>; 159317bf653SNate Case cell-index = <0>; 160317bf653SNate Case dma-channel@0 { 161317bf653SNate Case compatible = "fsl,mpc8548-dma-channel", 162317bf653SNate Case "fsl,eloplus-dma-channel"; 163317bf653SNate Case reg = <0x0 0x80>; 164317bf653SNate Case cell-index = <0>; 165317bf653SNate Case interrupt-parent = <&mpic>; 166317bf653SNate Case interrupts = <20 2>; 167317bf653SNate Case }; 168317bf653SNate Case dma-channel@80 { 169317bf653SNate Case compatible = "fsl,mpc8548-dma-channel", 170317bf653SNate Case "fsl,eloplus-dma-channel"; 171317bf653SNate Case reg = <0x80 0x80>; 172317bf653SNate Case cell-index = <1>; 173317bf653SNate Case interrupt-parent = <&mpic>; 174317bf653SNate Case interrupts = <21 2>; 175317bf653SNate Case }; 176317bf653SNate Case dma-channel@100 { 177317bf653SNate Case compatible = "fsl,mpc8548-dma-channel", 178317bf653SNate Case "fsl,eloplus-dma-channel"; 179317bf653SNate Case reg = <0x100 0x80>; 180317bf653SNate Case cell-index = <2>; 181317bf653SNate Case interrupt-parent = <&mpic>; 182317bf653SNate Case interrupts = <22 2>; 183317bf653SNate Case }; 184317bf653SNate Case dma-channel@180 { 185317bf653SNate Case compatible = "fsl,mpc8548-dma-channel", 186317bf653SNate Case "fsl,eloplus-dma-channel"; 187317bf653SNate Case reg = <0x180 0x80>; 188317bf653SNate Case cell-index = <3>; 189317bf653SNate Case interrupt-parent = <&mpic>; 190317bf653SNate Case interrupts = <23 2>; 191317bf653SNate Case }; 192317bf653SNate Case }; 193317bf653SNate Case 194317bf653SNate Case /* eTSEC1: Front panel port 0 */ 195317bf653SNate Case enet0: ethernet@24000 { 196317bf653SNate Case #address-cells = <1>; 197317bf653SNate Case #size-cells = <1>; 198317bf653SNate Case cell-index = <0>; 199317bf653SNate Case device_type = "network"; 200317bf653SNate Case model = "eTSEC"; 201317bf653SNate Case compatible = "gianfar"; 202317bf653SNate Case reg = <0x24000 0x1000>; 203317bf653SNate Case ranges = <0x0 0x24000 0x1000>; 204317bf653SNate Case local-mac-address = [ 00 00 00 00 00 00 ]; 205317bf653SNate Case interrupts = <29 2 30 2 34 2>; 206317bf653SNate Case interrupt-parent = <&mpic>; 207317bf653SNate Case tbi-handle = <&tbi0>; 208317bf653SNate Case phy-handle = <&phy0>; 209317bf653SNate Case 210317bf653SNate Case mdio@520 { 211317bf653SNate Case #address-cells = <1>; 212317bf653SNate Case #size-cells = <0>; 213317bf653SNate Case compatible = "fsl,gianfar-mdio"; 214317bf653SNate Case reg = <0x520 0x20>; 215317bf653SNate Case 216317bf653SNate Case phy0: ethernet-phy@1 { 217317bf653SNate Case interrupt-parent = <&mpic>; 218317bf653SNate Case interrupts = <8 1>; 219317bf653SNate Case reg = <0x1>; 220317bf653SNate Case }; 221317bf653SNate Case phy1: ethernet-phy@2 { 222317bf653SNate Case interrupt-parent = <&mpic>; 223317bf653SNate Case interrupts = <8 1>; 224317bf653SNate Case reg = <0x2>; 225317bf653SNate Case }; 226317bf653SNate Case phy2: ethernet-phy@3 { 227317bf653SNate Case interrupt-parent = <&mpic>; 228317bf653SNate Case interrupts = <8 1>; 229317bf653SNate Case reg = <0x3>; 230317bf653SNate Case }; 231317bf653SNate Case phy3: ethernet-phy@4 { 232317bf653SNate Case interrupt-parent = <&mpic>; 233317bf653SNate Case interrupts = <8 1>; 234317bf653SNate Case reg = <0x4>; 235317bf653SNate Case }; 236317bf653SNate Case tbi0: tbi-phy@11 { 237317bf653SNate Case reg = <0x11>; 238317bf653SNate Case device_type = "tbi-phy"; 239317bf653SNate Case }; 240317bf653SNate Case }; 241317bf653SNate Case }; 242317bf653SNate Case 243317bf653SNate Case /* eTSEC2: Front panel port 1 */ 244317bf653SNate Case enet1: ethernet@25000 { 245317bf653SNate Case #address-cells = <1>; 246317bf653SNate Case #size-cells = <1>; 247317bf653SNate Case cell-index = <1>; 248317bf653SNate Case device_type = "network"; 249317bf653SNate Case model = "eTSEC"; 250317bf653SNate Case compatible = "gianfar"; 251317bf653SNate Case reg = <0x25000 0x1000>; 252317bf653SNate Case ranges = <0x0 0x25000 0x1000>; 253317bf653SNate Case local-mac-address = [ 00 00 00 00 00 00 ]; 254317bf653SNate Case interrupts = <35 2 36 2 40 2>; 255317bf653SNate Case interrupt-parent = <&mpic>; 256317bf653SNate Case tbi-handle = <&tbi1>; 257317bf653SNate Case phy-handle = <&phy1>; 258317bf653SNate Case 259317bf653SNate Case mdio@520 { 260317bf653SNate Case #address-cells = <1>; 261317bf653SNate Case #size-cells = <0>; 262317bf653SNate Case compatible = "fsl,gianfar-tbi"; 263317bf653SNate Case reg = <0x520 0x20>; 264317bf653SNate Case 265317bf653SNate Case tbi1: tbi-phy@11 { 266317bf653SNate Case reg = <0x11>; 267317bf653SNate Case device_type = "tbi-phy"; 268317bf653SNate Case }; 269317bf653SNate Case }; 270317bf653SNate Case }; 271317bf653SNate Case 272317bf653SNate Case /* eTSEC3: Rear panel port 2 */ 273317bf653SNate Case enet2: ethernet@26000 { 274317bf653SNate Case #address-cells = <1>; 275317bf653SNate Case #size-cells = <1>; 276317bf653SNate Case cell-index = <2>; 277317bf653SNate Case device_type = "network"; 278317bf653SNate Case model = "eTSEC"; 279317bf653SNate Case compatible = "gianfar"; 280317bf653SNate Case reg = <0x26000 0x1000>; 281317bf653SNate Case ranges = <0x0 0x26000 0x1000>; 282317bf653SNate Case local-mac-address = [ 00 00 00 00 00 00 ]; 283317bf653SNate Case interrupts = <31 2 32 2 33 2>; 284317bf653SNate Case interrupt-parent = <&mpic>; 285317bf653SNate Case tbi-handle = <&tbi2>; 286317bf653SNate Case phy-handle = <&phy2>; 287317bf653SNate Case 288317bf653SNate Case mdio@520 { 289317bf653SNate Case #address-cells = <1>; 290317bf653SNate Case #size-cells = <0>; 291317bf653SNate Case compatible = "fsl,gianfar-tbi"; 292317bf653SNate Case reg = <0x520 0x20>; 293317bf653SNate Case 294317bf653SNate Case tbi2: tbi-phy@11 { 295317bf653SNate Case reg = <0x11>; 296317bf653SNate Case device_type = "tbi-phy"; 297317bf653SNate Case }; 298317bf653SNate Case }; 299317bf653SNate Case }; 300317bf653SNate Case 301317bf653SNate Case /* eTSEC4: Rear panel port 3 */ 302317bf653SNate Case enet3: ethernet@27000 { 303317bf653SNate Case #address-cells = <1>; 304317bf653SNate Case #size-cells = <1>; 305317bf653SNate Case cell-index = <3>; 306317bf653SNate Case device_type = "network"; 307317bf653SNate Case model = "eTSEC"; 308317bf653SNate Case compatible = "gianfar"; 309317bf653SNate Case reg = <0x27000 0x1000>; 310317bf653SNate Case ranges = <0x0 0x27000 0x1000>; 311317bf653SNate Case local-mac-address = [ 00 00 00 00 00 00 ]; 312317bf653SNate Case interrupts = <37 2 38 2 39 2>; 313317bf653SNate Case interrupt-parent = <&mpic>; 314317bf653SNate Case tbi-handle = <&tbi3>; 315317bf653SNate Case phy-handle = <&phy3>; 316317bf653SNate Case 317317bf653SNate Case mdio@520 { 318317bf653SNate Case #address-cells = <1>; 319317bf653SNate Case #size-cells = <0>; 320317bf653SNate Case compatible = "fsl,gianfar-tbi"; 321317bf653SNate Case reg = <0x520 0x20>; 322317bf653SNate Case 323317bf653SNate Case tbi3: tbi-phy@11 { 324317bf653SNate Case reg = <0x11>; 325317bf653SNate Case device_type = "tbi-phy"; 326317bf653SNate Case }; 327317bf653SNate Case }; 328317bf653SNate Case }; 329317bf653SNate Case 330317bf653SNate Case serial0: serial@4500 { 331317bf653SNate Case cell-index = <0>; 332317bf653SNate Case device_type = "serial"; 333f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 334317bf653SNate Case reg = <0x4500 0x100>; 335317bf653SNate Case clock-frequency = <0>; 336317bf653SNate Case current-speed = <115200>; 337317bf653SNate Case interrupts = <42 2>; 338317bf653SNate Case interrupt-parent = <&mpic>; 339317bf653SNate Case }; 340317bf653SNate Case 341317bf653SNate Case serial1: serial@4600 { 342317bf653SNate Case cell-index = <1>; 343317bf653SNate Case device_type = "serial"; 344f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 345317bf653SNate Case reg = <0x4600 0x100>; 346317bf653SNate Case clock-frequency = <0>; 347317bf653SNate Case current-speed = <115200>; 348317bf653SNate Case interrupts = <42 2>; 349317bf653SNate Case interrupt-parent = <&mpic>; 350317bf653SNate Case }; 351317bf653SNate Case 352317bf653SNate Case global-utilities@e0000 { // global utilities reg 353317bf653SNate Case compatible = "fsl,mpc8548-guts"; 354317bf653SNate Case reg = <0xe0000 0x1000>; 355317bf653SNate Case fsl,has-rstcr; 356317bf653SNate Case }; 357317bf653SNate Case 358317bf653SNate Case mpic: pic@40000 { 359317bf653SNate Case interrupt-controller; 360317bf653SNate Case #address-cells = <0>; 361317bf653SNate Case #interrupt-cells = <2>; 362317bf653SNate Case reg = <0x40000 0x40000>; 363317bf653SNate Case compatible = "chrp,open-pic"; 364317bf653SNate Case device_type = "open-pic"; 365317bf653SNate Case }; 366317bf653SNate Case }; 367317bf653SNate Case 368317bf653SNate Case localbus@ef005000 { 369317bf653SNate Case compatible = "fsl,mpc8548-localbus", "fsl,pq3-localbus", 370317bf653SNate Case "simple-bus"; 371317bf653SNate Case #address-cells = <2>; 372317bf653SNate Case #size-cells = <1>; 373317bf653SNate Case reg = <0xef005000 0x100>; // BRx, ORx, etc. 374c0f58950SDmitry Eremin-Solenikov interrupt-parent = <&mpic>; 375c0f58950SDmitry Eremin-Solenikov interrupts = <19 2>; 376317bf653SNate Case 377317bf653SNate Case ranges = < 378317bf653SNate Case 0 0x0 0xfc000000 0x04000000 // NOR boot flash 379317bf653SNate Case 1 0x0 0xf8000000 0x04000000 // NOR expansion flash 380317bf653SNate Case 2 0x0 0xef800000 0x00010000 // NAND CE1 381317bf653SNate Case 3 0x0 0xef840000 0x00010000 // NAND CE2 382317bf653SNate Case >; 383317bf653SNate Case 384317bf653SNate Case nor-boot@0,0 { 385317bf653SNate Case #address-cells = <1>; 386317bf653SNate Case #size-cells = <1>; 387317bf653SNate Case compatible = "cfi-flash"; 388317bf653SNate Case reg = <0 0x0 0x4000000>; 389317bf653SNate Case bank-width = <2>; 390317bf653SNate Case 391317bf653SNate Case partition@0 { 392317bf653SNate Case label = "Primary OS"; 393317bf653SNate Case reg = <0x00000000 0x180000>; 394317bf653SNate Case }; 395317bf653SNate Case partition@180000 { 396317bf653SNate Case label = "Secondary OS"; 397317bf653SNate Case reg = <0x00180000 0x180000>; 398317bf653SNate Case }; 399317bf653SNate Case partition@300000 { 400317bf653SNate Case label = "User"; 401317bf653SNate Case reg = <0x00300000 0x3c80000>; 402317bf653SNate Case }; 403317bf653SNate Case partition@3f80000 { 404317bf653SNate Case label = "Boot firmware"; 405317bf653SNate Case reg = <0x03f80000 0x80000>; 406317bf653SNate Case }; 407317bf653SNate Case }; 408317bf653SNate Case 409317bf653SNate Case nor-alternate@1,0 { 410317bf653SNate Case #address-cells = <1>; 411317bf653SNate Case #size-cells = <1>; 412317bf653SNate Case compatible = "cfi-flash"; 413317bf653SNate Case reg = <1 0x0 0x4000000>; 414317bf653SNate Case bank-width = <2>; 415317bf653SNate Case 416317bf653SNate Case partition@0 { 417317bf653SNate Case label = "Filesystem"; 418317bf653SNate Case reg = <0x00000000 0x3f80000>; 419317bf653SNate Case }; 420317bf653SNate Case partition@3f80000 { 421317bf653SNate Case label = "Alternate boot firmware"; 422317bf653SNate Case reg = <0x03f80000 0x80000>; 423317bf653SNate Case }; 424317bf653SNate Case }; 425317bf653SNate Case 426317bf653SNate Case nand@2,0 { 427317bf653SNate Case #address-cells = <1>; 428317bf653SNate Case #size-cells = <1>; 429317bf653SNate Case compatible = "xes,address-ctl-nand"; 430317bf653SNate Case reg = <2 0x0 0x10000>; 431317bf653SNate Case cle-line = <0x8>; /* CLE tied to A3 */ 432317bf653SNate Case ale-line = <0x10>; /* ALE tied to A4 */ 433317bf653SNate Case 434317bf653SNate Case /* U-Boot should fix this up */ 435317bf653SNate Case partition@0 { 436317bf653SNate Case label = "NAND Filesystem"; 437317bf653SNate Case reg = <0 0x40000000>; 438317bf653SNate Case }; 439317bf653SNate Case }; 440317bf653SNate Case }; 441317bf653SNate Case 442317bf653SNate Case /* PMC interface */ 443317bf653SNate Case pci0: pci@ef008000 { 444317bf653SNate Case #interrupt-cells = <1>; 445317bf653SNate Case #size-cells = <2>; 446317bf653SNate Case #address-cells = <3>; 447317bf653SNate Case compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 448317bf653SNate Case device_type = "pci"; 449317bf653SNate Case reg = <0xef008000 0x1000>; 450317bf653SNate Case clock-frequency = <33333333>; 451317bf653SNate Case interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 452317bf653SNate Case interrupt-map = < 453317bf653SNate Case /* IDSEL */ 454317bf653SNate Case 0xe000 0 0 1 &mpic 2 1 455317bf653SNate Case 0xe000 0 0 2 &mpic 3 1>; 456317bf653SNate Case 457317bf653SNate Case interrupt-parent = <&mpic>; 458317bf653SNate Case interrupts = <24 2>; 459317bf653SNate Case bus-range = <0 0>; 460317bf653SNate Case ranges = <0x02000000 0 0x80000000 0x80000000 0 0x40000000 461317bf653SNate Case 0x01000000 0 0x00000000 0xe8000000 0 0x00800000>; 462317bf653SNate Case }; 463317bf653SNate Case 464317bf653SNate Case /* XMC PCIe is not yet enabled in U-Boot on XPedite5200 */ 465317bf653SNate Case}; 466