1*2874c5fdSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-or-later 2393adcacSWolfgang Grandegger/* 3393adcacSWolfgang Grandegger * Device Tree Source for the Socrates board (MPC8544). 4393adcacSWolfgang Grandegger * 5393adcacSWolfgang Grandegger * Copyright (c) 2008 Emcraft Systems. 6393adcacSWolfgang Grandegger * Sergei Poselenov, <sposelenov@emcraft.com> 7393adcacSWolfgang Grandegger */ 8393adcacSWolfgang Grandegger 9393adcacSWolfgang Grandegger/dts-v1/; 10393adcacSWolfgang Grandegger 11393adcacSWolfgang Grandegger/ { 12393adcacSWolfgang Grandegger model = "abb,socrates"; 13393adcacSWolfgang Grandegger compatible = "abb,socrates"; 14393adcacSWolfgang Grandegger #address-cells = <1>; 15393adcacSWolfgang Grandegger #size-cells = <1>; 16393adcacSWolfgang Grandegger 17393adcacSWolfgang Grandegger aliases { 18393adcacSWolfgang Grandegger ethernet0 = &enet0; 19393adcacSWolfgang Grandegger ethernet1 = &enet1; 20393adcacSWolfgang Grandegger serial0 = &serial0; 21393adcacSWolfgang Grandegger serial1 = &serial1; 22393adcacSWolfgang Grandegger pci0 = &pci0; 23393adcacSWolfgang Grandegger }; 24393adcacSWolfgang Grandegger 25393adcacSWolfgang Grandegger cpus { 26393adcacSWolfgang Grandegger #address-cells = <1>; 27393adcacSWolfgang Grandegger #size-cells = <0>; 28393adcacSWolfgang Grandegger 29393adcacSWolfgang Grandegger PowerPC,8544@0 { 30393adcacSWolfgang Grandegger device_type = "cpu"; 31393adcacSWolfgang Grandegger reg = <0>; 32393adcacSWolfgang Grandegger d-cache-line-size = <32>; 33393adcacSWolfgang Grandegger i-cache-line-size = <32>; 34393adcacSWolfgang Grandegger d-cache-size = <0x8000>; // L1, 32K 35393adcacSWolfgang Grandegger i-cache-size = <0x8000>; // L1, 32K 36393adcacSWolfgang Grandegger timebase-frequency = <0>; 37393adcacSWolfgang Grandegger bus-frequency = <0>; 38393adcacSWolfgang Grandegger clock-frequency = <0>; 39393adcacSWolfgang Grandegger next-level-cache = <&L2>; 40393adcacSWolfgang Grandegger }; 41393adcacSWolfgang Grandegger }; 42393adcacSWolfgang Grandegger 43393adcacSWolfgang Grandegger memory { 44393adcacSWolfgang Grandegger device_type = "memory"; 45393adcacSWolfgang Grandegger reg = <0x00000000 0x00000000>; // Filled in by U-Boot 46393adcacSWolfgang Grandegger }; 47393adcacSWolfgang Grandegger 48393adcacSWolfgang Grandegger soc8544@e0000000 { 49393adcacSWolfgang Grandegger #address-cells = <1>; 50393adcacSWolfgang Grandegger #size-cells = <1>; 51212f8c6dSWolfgang Grandegger device_type = "soc"; 52393adcacSWolfgang Grandegger 53393adcacSWolfgang Grandegger ranges = <0x00000000 0xe0000000 0x00100000>; 54393adcacSWolfgang Grandegger bus-frequency = <0>; // Filled in by U-Boot 55393adcacSWolfgang Grandegger compatible = "fsl,mpc8544-immr", "simple-bus"; 56393adcacSWolfgang Grandegger 57e1a22897SKumar Gala ecm-law@0 { 58e1a22897SKumar Gala compatible = "fsl,ecm-law"; 59e1a22897SKumar Gala reg = <0x0 0x1000>; 60e1a22897SKumar Gala fsl,num-laws = <10>; 61e1a22897SKumar Gala }; 62e1a22897SKumar Gala 63e1a22897SKumar Gala ecm@1000 { 64e1a22897SKumar Gala compatible = "fsl,mpc8544-ecm", "fsl,ecm"; 65e1a22897SKumar Gala reg = <0x1000 0x1000>; 66e1a22897SKumar Gala interrupts = <17 2>; 67e1a22897SKumar Gala interrupt-parent = <&mpic>; 68e1a22897SKumar Gala }; 69e1a22897SKumar Gala 70393adcacSWolfgang Grandegger memory-controller@2000 { 71393adcacSWolfgang Grandegger compatible = "fsl,mpc8544-memory-controller"; 72393adcacSWolfgang Grandegger reg = <0x2000 0x1000>; 73393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 74393adcacSWolfgang Grandegger interrupts = <18 2>; 75393adcacSWolfgang Grandegger }; 76393adcacSWolfgang Grandegger 77393adcacSWolfgang Grandegger L2: l2-cache-controller@20000 { 78393adcacSWolfgang Grandegger compatible = "fsl,mpc8544-l2-cache-controller"; 79393adcacSWolfgang Grandegger reg = <0x20000 0x1000>; 80393adcacSWolfgang Grandegger cache-line-size = <32>; 81393adcacSWolfgang Grandegger cache-size = <0x40000>; // L2, 256K 82393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 83393adcacSWolfgang Grandegger interrupts = <16 2>; 84393adcacSWolfgang Grandegger }; 85393adcacSWolfgang Grandegger 86393adcacSWolfgang Grandegger i2c@3000 { 87393adcacSWolfgang Grandegger #address-cells = <1>; 88393adcacSWolfgang Grandegger #size-cells = <0>; 89393adcacSWolfgang Grandegger cell-index = <0>; 90c724d67dSWolfgang Grandegger compatible = "fsl,mpc8544-i2c", "fsl-i2c"; 91393adcacSWolfgang Grandegger reg = <0x3000 0x100>; 92393adcacSWolfgang Grandegger interrupts = <43 2>; 93393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 94c724d67dSWolfgang Grandegger fsl,preserve-clocking; 95393adcacSWolfgang Grandegger 96393adcacSWolfgang Grandegger dtt@28 { 97393adcacSWolfgang Grandegger compatible = "winbond,w83782d"; 98393adcacSWolfgang Grandegger reg = <0x28>; 99393adcacSWolfgang Grandegger }; 100393adcacSWolfgang Grandegger rtc@32 { 101393adcacSWolfgang Grandegger compatible = "epson,rx8025"; 102393adcacSWolfgang Grandegger reg = <0x32>; 103393adcacSWolfgang Grandegger interrupts = <7 1>; 104393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 105393adcacSWolfgang Grandegger }; 106393adcacSWolfgang Grandegger dtt@4c { 107393adcacSWolfgang Grandegger compatible = "dallas,ds75"; 108393adcacSWolfgang Grandegger reg = <0x4c>; 109393adcacSWolfgang Grandegger }; 110393adcacSWolfgang Grandegger ts@4a { 111393adcacSWolfgang Grandegger compatible = "ti,tsc2003"; 112393adcacSWolfgang Grandegger reg = <0x4a>; 113393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 114393adcacSWolfgang Grandegger interrupts = <8 1>; 115393adcacSWolfgang Grandegger }; 116393adcacSWolfgang Grandegger }; 117393adcacSWolfgang Grandegger 118393adcacSWolfgang Grandegger i2c@3100 { 119393adcacSWolfgang Grandegger #address-cells = <1>; 120393adcacSWolfgang Grandegger #size-cells = <0>; 121393adcacSWolfgang Grandegger cell-index = <1>; 122c724d67dSWolfgang Grandegger compatible = "fsl,mpc8544-i2c", "fsl-i2c"; 123393adcacSWolfgang Grandegger reg = <0x3100 0x100>; 124393adcacSWolfgang Grandegger interrupts = <43 2>; 125393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 126c724d67dSWolfgang Grandegger fsl,preserve-clocking; 127393adcacSWolfgang Grandegger }; 128393adcacSWolfgang Grandegger 129393adcacSWolfgang Grandegger enet0: ethernet@24000 { 130393adcacSWolfgang Grandegger #address-cells = <1>; 131393adcacSWolfgang Grandegger #size-cells = <1>; 132393adcacSWolfgang Grandegger cell-index = <0>; 133393adcacSWolfgang Grandegger device_type = "network"; 134393adcacSWolfgang Grandegger model = "eTSEC"; 135393adcacSWolfgang Grandegger compatible = "gianfar"; 136393adcacSWolfgang Grandegger reg = <0x24000 0x1000>; 137393adcacSWolfgang Grandegger ranges = <0x0 0x24000 0x1000>; 138393adcacSWolfgang Grandegger local-mac-address = [ 00 00 00 00 00 00 ]; 139393adcacSWolfgang Grandegger interrupts = <29 2 30 2 34 2>; 140393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 141393adcacSWolfgang Grandegger phy-handle = <&phy0>; 142393adcacSWolfgang Grandegger tbi-handle = <&tbi0>; 143393adcacSWolfgang Grandegger phy-connection-type = "rgmii-id"; 144393adcacSWolfgang Grandegger 145393adcacSWolfgang Grandegger mdio@520 { 146393adcacSWolfgang Grandegger #address-cells = <1>; 147393adcacSWolfgang Grandegger #size-cells = <0>; 148393adcacSWolfgang Grandegger compatible = "fsl,gianfar-mdio"; 149393adcacSWolfgang Grandegger reg = <0x520 0x20>; 150393adcacSWolfgang Grandegger 151393adcacSWolfgang Grandegger phy0: ethernet-phy@0 { 152393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 153393adcacSWolfgang Grandegger interrupts = <0 1>; 154393adcacSWolfgang Grandegger reg = <0>; 155393adcacSWolfgang Grandegger }; 156393adcacSWolfgang Grandegger phy1: ethernet-phy@1 { 157393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 158393adcacSWolfgang Grandegger interrupts = <0 1>; 159393adcacSWolfgang Grandegger reg = <1>; 160393adcacSWolfgang Grandegger }; 161393adcacSWolfgang Grandegger tbi0: tbi-phy@11 { 162393adcacSWolfgang Grandegger reg = <0x11>; 163393adcacSWolfgang Grandegger }; 164393adcacSWolfgang Grandegger }; 165393adcacSWolfgang Grandegger }; 166393adcacSWolfgang Grandegger 167393adcacSWolfgang Grandegger enet1: ethernet@26000 { 168393adcacSWolfgang Grandegger #address-cells = <1>; 169393adcacSWolfgang Grandegger #size-cells = <1>; 170393adcacSWolfgang Grandegger cell-index = <1>; 171393adcacSWolfgang Grandegger device_type = "network"; 172393adcacSWolfgang Grandegger model = "eTSEC"; 173393adcacSWolfgang Grandegger compatible = "gianfar"; 174393adcacSWolfgang Grandegger reg = <0x26000 0x1000>; 175393adcacSWolfgang Grandegger ranges = <0x0 0x26000 0x1000>; 176393adcacSWolfgang Grandegger local-mac-address = [ 00 00 00 00 00 00 ]; 177393adcacSWolfgang Grandegger interrupts = <31 2 32 2 33 2>; 178393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 179393adcacSWolfgang Grandegger phy-handle = <&phy1>; 180393adcacSWolfgang Grandegger tbi-handle = <&tbi1>; 181393adcacSWolfgang Grandegger phy-connection-type = "rgmii-id"; 182393adcacSWolfgang Grandegger 183393adcacSWolfgang Grandegger mdio@520 { 184393adcacSWolfgang Grandegger #address-cells = <1>; 185393adcacSWolfgang Grandegger #size-cells = <0>; 186393adcacSWolfgang Grandegger compatible = "fsl,gianfar-tbi"; 187393adcacSWolfgang Grandegger reg = <0x520 0x20>; 188393adcacSWolfgang Grandegger 189393adcacSWolfgang Grandegger tbi1: tbi-phy@11 { 190393adcacSWolfgang Grandegger reg = <0x11>; 191393adcacSWolfgang Grandegger }; 192393adcacSWolfgang Grandegger }; 193393adcacSWolfgang Grandegger }; 194393adcacSWolfgang Grandegger 195393adcacSWolfgang Grandegger serial0: serial@4500 { 196393adcacSWolfgang Grandegger cell-index = <0>; 197393adcacSWolfgang Grandegger device_type = "serial"; 198f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 199393adcacSWolfgang Grandegger reg = <0x4500 0x100>; 200393adcacSWolfgang Grandegger clock-frequency = <0>; 201393adcacSWolfgang Grandegger interrupts = <42 2>; 202393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 203393adcacSWolfgang Grandegger }; 204393adcacSWolfgang Grandegger 205393adcacSWolfgang Grandegger serial1: serial@4600 { 206393adcacSWolfgang Grandegger cell-index = <1>; 207393adcacSWolfgang Grandegger device_type = "serial"; 208f706bed1SKumar Gala compatible = "fsl,ns16550", "ns16550"; 209393adcacSWolfgang Grandegger reg = <0x4600 0x100>; 210393adcacSWolfgang Grandegger clock-frequency = <0>; 211393adcacSWolfgang Grandegger interrupts = <42 2>; 212393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 213393adcacSWolfgang Grandegger }; 214393adcacSWolfgang Grandegger 215393adcacSWolfgang Grandegger global-utilities@e0000 { //global utilities block 216393adcacSWolfgang Grandegger compatible = "fsl,mpc8548-guts"; 217393adcacSWolfgang Grandegger reg = <0xe0000 0x1000>; 218393adcacSWolfgang Grandegger fsl,has-rstcr; 219393adcacSWolfgang Grandegger }; 220393adcacSWolfgang Grandegger 221393adcacSWolfgang Grandegger mpic: pic@40000 { 222393adcacSWolfgang Grandegger interrupt-controller; 223393adcacSWolfgang Grandegger #address-cells = <0>; 224393adcacSWolfgang Grandegger #interrupt-cells = <2>; 225393adcacSWolfgang Grandegger reg = <0x40000 0x40000>; 226393adcacSWolfgang Grandegger compatible = "chrp,open-pic"; 227393adcacSWolfgang Grandegger device_type = "open-pic"; 228393adcacSWolfgang Grandegger }; 229393adcacSWolfgang Grandegger }; 230393adcacSWolfgang Grandegger 231393adcacSWolfgang Grandegger 232393adcacSWolfgang Grandegger localbus { 233393adcacSWolfgang Grandegger compatible = "fsl,mpc8544-localbus", 234393adcacSWolfgang Grandegger "fsl,pq3-localbus", 235393adcacSWolfgang Grandegger "simple-bus"; 236393adcacSWolfgang Grandegger #address-cells = <2>; 237393adcacSWolfgang Grandegger #size-cells = <1>; 238393adcacSWolfgang Grandegger reg = <0xe0005000 0x40>; 239c0f58950SDmitry Eremin-Solenikov interrupt-parent = <&mpic>; 240c0f58950SDmitry Eremin-Solenikov interrupts = <19 2>; 241393adcacSWolfgang Grandegger 242393adcacSWolfgang Grandegger ranges = <0 0 0xfc000000 0x04000000 243393adcacSWolfgang Grandegger 2 0 0xc8000000 0x04000000 244393adcacSWolfgang Grandegger 3 0 0xc0000000 0x00100000 245393adcacSWolfgang Grandegger >; /* Overwritten by U-Boot */ 246393adcacSWolfgang Grandegger 247393adcacSWolfgang Grandegger nor_flash@0,0 { 248393adcacSWolfgang Grandegger compatible = "amd,s29gl256n", "cfi-flash"; 249393adcacSWolfgang Grandegger bank-width = <2>; 250393adcacSWolfgang Grandegger reg = <0x0 0x000000 0x4000000>; 251393adcacSWolfgang Grandegger #address-cells = <1>; 252393adcacSWolfgang Grandegger #size-cells = <1>; 253393adcacSWolfgang Grandegger partition@0 { 254393adcacSWolfgang Grandegger label = "kernel"; 255393adcacSWolfgang Grandegger reg = <0x0 0x1e0000>; 256393adcacSWolfgang Grandegger read-only; 257393adcacSWolfgang Grandegger }; 258393adcacSWolfgang Grandegger partition@1e0000 { 259393adcacSWolfgang Grandegger label = "dtb"; 260393adcacSWolfgang Grandegger reg = <0x1e0000 0x20000>; 261393adcacSWolfgang Grandegger }; 262393adcacSWolfgang Grandegger partition@200000 { 263393adcacSWolfgang Grandegger label = "root"; 264393adcacSWolfgang Grandegger reg = <0x200000 0x200000>; 265393adcacSWolfgang Grandegger }; 266393adcacSWolfgang Grandegger partition@400000 { 267393adcacSWolfgang Grandegger label = "user"; 268393adcacSWolfgang Grandegger reg = <0x400000 0x3b80000>; 269393adcacSWolfgang Grandegger }; 270393adcacSWolfgang Grandegger partition@3f80000 { 271393adcacSWolfgang Grandegger label = "env"; 272393adcacSWolfgang Grandegger reg = <0x3f80000 0x40000>; 273393adcacSWolfgang Grandegger read-only; 274393adcacSWolfgang Grandegger }; 275393adcacSWolfgang Grandegger partition@3fc0000 { 276393adcacSWolfgang Grandegger label = "u-boot"; 277393adcacSWolfgang Grandegger reg = <0x3fc0000 0x40000>; 278393adcacSWolfgang Grandegger read-only; 279393adcacSWolfgang Grandegger }; 280393adcacSWolfgang Grandegger }; 281393adcacSWolfgang Grandegger 282393adcacSWolfgang Grandegger display@2,0 { 283393adcacSWolfgang Grandegger compatible = "fujitsu,lime"; 284393adcacSWolfgang Grandegger reg = <2 0x0 0x4000000>; 285393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 286393adcacSWolfgang Grandegger interrupts = <6 1>; 287393adcacSWolfgang Grandegger }; 288393adcacSWolfgang Grandegger 289393adcacSWolfgang Grandegger fpga_pic: fpga-pic@3,10 { 290393adcacSWolfgang Grandegger compatible = "abb,socrates-fpga-pic"; 291393adcacSWolfgang Grandegger reg = <3 0x10 0x10>; 292393adcacSWolfgang Grandegger interrupt-controller; 293393adcacSWolfgang Grandegger /* IRQs 2, 10, 11, active low, level-sensitive */ 294393adcacSWolfgang Grandegger interrupts = <2 1 10 1 11 1>; 295393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 296393adcacSWolfgang Grandegger #interrupt-cells = <3>; 297393adcacSWolfgang Grandegger }; 298393adcacSWolfgang Grandegger 299393adcacSWolfgang Grandegger spi@3,60 { 300393adcacSWolfgang Grandegger compatible = "abb,socrates-spi"; 301393adcacSWolfgang Grandegger reg = <3 0x60 0x10>; 302393adcacSWolfgang Grandegger interrupts = <8 4 0>; // number, type, routing 303393adcacSWolfgang Grandegger interrupt-parent = <&fpga_pic>; 304393adcacSWolfgang Grandegger }; 305393adcacSWolfgang Grandegger 306393adcacSWolfgang Grandegger nand@3,70 { 307393adcacSWolfgang Grandegger compatible = "abb,socrates-nand"; 308393adcacSWolfgang Grandegger reg = <3 0x70 0x04>; 309393adcacSWolfgang Grandegger bank-width = <1>; 310393adcacSWolfgang Grandegger #address-cells = <1>; 311393adcacSWolfgang Grandegger #size-cells = <1>; 312393adcacSWolfgang Grandegger data@0 { 313393adcacSWolfgang Grandegger label = "data"; 314393adcacSWolfgang Grandegger reg = <0x0 0x40000000>; 315393adcacSWolfgang Grandegger }; 316393adcacSWolfgang Grandegger }; 317393adcacSWolfgang Grandegger 318393adcacSWolfgang Grandegger can@3,100 { 319393adcacSWolfgang Grandegger compatible = "philips,sja1000"; 320393adcacSWolfgang Grandegger reg = <3 0x100 0x80>; 321393adcacSWolfgang Grandegger interrupts = <2 8 1>; // number, type, routing 322393adcacSWolfgang Grandegger interrupt-parent = <&fpga_pic>; 323393adcacSWolfgang Grandegger }; 324393adcacSWolfgang Grandegger }; 325393adcacSWolfgang Grandegger 326393adcacSWolfgang Grandegger pci0: pci@e0008000 { 327393adcacSWolfgang Grandegger #interrupt-cells = <1>; 328393adcacSWolfgang Grandegger #size-cells = <2>; 329393adcacSWolfgang Grandegger #address-cells = <3>; 330393adcacSWolfgang Grandegger compatible = "fsl,mpc8540-pci"; 331393adcacSWolfgang Grandegger device_type = "pci"; 332393adcacSWolfgang Grandegger reg = <0xe0008000 0x1000>; 333393adcacSWolfgang Grandegger clock-frequency = <66666666>; 334393adcacSWolfgang Grandegger 335393adcacSWolfgang Grandegger interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 336393adcacSWolfgang Grandegger interrupt-map = < 337393adcacSWolfgang Grandegger /* IDSEL 0x11 */ 338393adcacSWolfgang Grandegger 0x8800 0x0 0x0 1 &mpic 5 1 339393adcacSWolfgang Grandegger /* IDSEL 0x12 */ 340393adcacSWolfgang Grandegger 0x9000 0x0 0x0 1 &mpic 4 1>; 341393adcacSWolfgang Grandegger interrupt-parent = <&mpic>; 342393adcacSWolfgang Grandegger interrupts = <24 2>; 343393adcacSWolfgang Grandegger bus-range = <0x0 0x0>; 344393adcacSWolfgang Grandegger ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000 345393adcacSWolfgang Grandegger 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x01000000>; 346393adcacSWolfgang Grandegger }; 347393adcacSWolfgang Grandegger 348393adcacSWolfgang Grandegger}; 349