1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * TQM 8540 Device Tree Source 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Copyright 2008 Freescale Semiconductor Inc. 6c66ec88fSEmmanuel Vadot */ 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot/dts-v1/; 9c66ec88fSEmmanuel Vadot 10*7ef62cebSEmmanuel Vadot/include/ "fsl/e500v1_power_isa.dtsi" 11*7ef62cebSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot/ { 13c66ec88fSEmmanuel Vadot model = "tqc,tqm8540"; 14c66ec88fSEmmanuel Vadot compatible = "tqc,tqm8540"; 15c66ec88fSEmmanuel Vadot #address-cells = <1>; 16c66ec88fSEmmanuel Vadot #size-cells = <1>; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot aliases { 19c66ec88fSEmmanuel Vadot ethernet0 = &enet0; 20c66ec88fSEmmanuel Vadot ethernet1 = &enet1; 21c66ec88fSEmmanuel Vadot ethernet2 = &enet2; 22c66ec88fSEmmanuel Vadot serial0 = &serial0; 23c66ec88fSEmmanuel Vadot serial1 = &serial1; 24c66ec88fSEmmanuel Vadot pci0 = &pci0; 25c66ec88fSEmmanuel Vadot }; 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot cpus { 28c66ec88fSEmmanuel Vadot #address-cells = <1>; 29c66ec88fSEmmanuel Vadot #size-cells = <0>; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot PowerPC,8540@0 { 32c66ec88fSEmmanuel Vadot device_type = "cpu"; 33c66ec88fSEmmanuel Vadot reg = <0>; 34c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 35c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 36c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 37c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 38c66ec88fSEmmanuel Vadot timebase-frequency = <0>; 39c66ec88fSEmmanuel Vadot bus-frequency = <0>; 40c66ec88fSEmmanuel Vadot clock-frequency = <0>; 41c66ec88fSEmmanuel Vadot next-level-cache = <&L2>; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot }; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot memory { 46c66ec88fSEmmanuel Vadot device_type = "memory"; 47c66ec88fSEmmanuel Vadot reg = <0x00000000 0x10000000>; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot soc@e0000000 { 51c66ec88fSEmmanuel Vadot #address-cells = <1>; 52c66ec88fSEmmanuel Vadot #size-cells = <1>; 53c66ec88fSEmmanuel Vadot device_type = "soc"; 54c66ec88fSEmmanuel Vadot ranges = <0x0 0xe0000000 0x100000>; 55c66ec88fSEmmanuel Vadot bus-frequency = <0>; 56c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-immr", "simple-bus"; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot ecm-law@0 { 59c66ec88fSEmmanuel Vadot compatible = "fsl,ecm-law"; 60c66ec88fSEmmanuel Vadot reg = <0x0 0x1000>; 61c66ec88fSEmmanuel Vadot fsl,num-laws = <8>; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot ecm@1000 { 65c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-ecm", "fsl,ecm"; 66c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 67c66ec88fSEmmanuel Vadot interrupts = <17 2>; 68c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot memory-controller@2000 { 72c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-memory-controller"; 73c66ec88fSEmmanuel Vadot reg = <0x2000 0x1000>; 74c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 75c66ec88fSEmmanuel Vadot interrupts = <18 2>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot L2: l2-cache-controller@20000 { 79c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-l2-cache-controller"; 80c66ec88fSEmmanuel Vadot reg = <0x20000 0x1000>; 81c66ec88fSEmmanuel Vadot cache-line-size = <32>; 82c66ec88fSEmmanuel Vadot cache-size = <0x40000>; // L2, 256K 83c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 84c66ec88fSEmmanuel Vadot interrupts = <16 2>; 85c66ec88fSEmmanuel Vadot }; 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot i2c@3000 { 88c66ec88fSEmmanuel Vadot #address-cells = <1>; 89c66ec88fSEmmanuel Vadot #size-cells = <0>; 90c66ec88fSEmmanuel Vadot cell-index = <0>; 91c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 92c66ec88fSEmmanuel Vadot reg = <0x3000 0x100>; 93c66ec88fSEmmanuel Vadot interrupts = <43 2>; 94c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 95c66ec88fSEmmanuel Vadot dfsrr; 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot dtt@48 { 98c66ec88fSEmmanuel Vadot compatible = "national,lm75"; 99c66ec88fSEmmanuel Vadot reg = <0x48>; 100c66ec88fSEmmanuel Vadot }; 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadot rtc@68 { 103c66ec88fSEmmanuel Vadot compatible = "dallas,ds1337"; 104c66ec88fSEmmanuel Vadot reg = <0x68>; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot }; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot dma@21300 { 109c66ec88fSEmmanuel Vadot #address-cells = <1>; 110c66ec88fSEmmanuel Vadot #size-cells = <1>; 111c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma"; 112c66ec88fSEmmanuel Vadot reg = <0x21300 0x4>; 113c66ec88fSEmmanuel Vadot ranges = <0x0 0x21100 0x200>; 114c66ec88fSEmmanuel Vadot cell-index = <0>; 115c66ec88fSEmmanuel Vadot dma-channel@0 { 116c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-dma-channel", 117c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 118c66ec88fSEmmanuel Vadot reg = <0x0 0x80>; 119c66ec88fSEmmanuel Vadot cell-index = <0>; 120c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 121c66ec88fSEmmanuel Vadot interrupts = <20 2>; 122c66ec88fSEmmanuel Vadot }; 123c66ec88fSEmmanuel Vadot dma-channel@80 { 124c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-dma-channel", 125c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 126c66ec88fSEmmanuel Vadot reg = <0x80 0x80>; 127c66ec88fSEmmanuel Vadot cell-index = <1>; 128c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 129c66ec88fSEmmanuel Vadot interrupts = <21 2>; 130c66ec88fSEmmanuel Vadot }; 131c66ec88fSEmmanuel Vadot dma-channel@100 { 132c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-dma-channel", 133c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 134c66ec88fSEmmanuel Vadot reg = <0x100 0x80>; 135c66ec88fSEmmanuel Vadot cell-index = <2>; 136c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 137c66ec88fSEmmanuel Vadot interrupts = <22 2>; 138c66ec88fSEmmanuel Vadot }; 139c66ec88fSEmmanuel Vadot dma-channel@180 { 140c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-dma-channel", 141c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 142c66ec88fSEmmanuel Vadot reg = <0x180 0x80>; 143c66ec88fSEmmanuel Vadot cell-index = <3>; 144c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 145c66ec88fSEmmanuel Vadot interrupts = <23 2>; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot }; 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot enet0: ethernet@24000 { 150c66ec88fSEmmanuel Vadot #address-cells = <1>; 151c66ec88fSEmmanuel Vadot #size-cells = <1>; 152c66ec88fSEmmanuel Vadot cell-index = <0>; 153c66ec88fSEmmanuel Vadot device_type = "network"; 154c66ec88fSEmmanuel Vadot model = "TSEC"; 155c66ec88fSEmmanuel Vadot compatible = "gianfar"; 156c66ec88fSEmmanuel Vadot reg = <0x24000 0x1000>; 157c66ec88fSEmmanuel Vadot ranges = <0x0 0x24000 0x1000>; 158c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 159c66ec88fSEmmanuel Vadot interrupts = <29 2 30 2 34 2>; 160c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 161c66ec88fSEmmanuel Vadot phy-handle = <&phy2>; 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel Vadot mdio@520 { 164c66ec88fSEmmanuel Vadot #address-cells = <1>; 165c66ec88fSEmmanuel Vadot #size-cells = <0>; 166c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-mdio"; 167c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 168c66ec88fSEmmanuel Vadot 169c66ec88fSEmmanuel Vadot phy1: ethernet-phy@1 { 170c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 171c66ec88fSEmmanuel Vadot interrupts = <8 1>; 172c66ec88fSEmmanuel Vadot reg = <1>; 173c66ec88fSEmmanuel Vadot }; 174c66ec88fSEmmanuel Vadot phy2: ethernet-phy@2 { 175c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 176c66ec88fSEmmanuel Vadot interrupts = <8 1>; 177c66ec88fSEmmanuel Vadot reg = <2>; 178c66ec88fSEmmanuel Vadot }; 179c66ec88fSEmmanuel Vadot phy3: ethernet-phy@3 { 180c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 181c66ec88fSEmmanuel Vadot interrupts = <8 1>; 182c66ec88fSEmmanuel Vadot reg = <3>; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot tbi0: tbi-phy@11 { 185c66ec88fSEmmanuel Vadot reg = <0x11>; 186c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 187c66ec88fSEmmanuel Vadot }; 188c66ec88fSEmmanuel Vadot }; 189c66ec88fSEmmanuel Vadot }; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot enet1: ethernet@25000 { 192c66ec88fSEmmanuel Vadot #address-cells = <1>; 193c66ec88fSEmmanuel Vadot #size-cells = <1>; 194c66ec88fSEmmanuel Vadot cell-index = <1>; 195c66ec88fSEmmanuel Vadot device_type = "network"; 196c66ec88fSEmmanuel Vadot model = "TSEC"; 197c66ec88fSEmmanuel Vadot compatible = "gianfar"; 198c66ec88fSEmmanuel Vadot reg = <0x25000 0x1000>; 199c66ec88fSEmmanuel Vadot ranges = <0x0 0x25000 0x1000>; 200c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 201c66ec88fSEmmanuel Vadot interrupts = <35 2 36 2 40 2>; 202c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 203c66ec88fSEmmanuel Vadot phy-handle = <&phy1>; 204c66ec88fSEmmanuel Vadot 205c66ec88fSEmmanuel Vadot mdio@520 { 206c66ec88fSEmmanuel Vadot #address-cells = <1>; 207c66ec88fSEmmanuel Vadot #size-cells = <0>; 208c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 209c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 210c66ec88fSEmmanuel Vadot 211c66ec88fSEmmanuel Vadot tbi1: tbi-phy@11 { 212c66ec88fSEmmanuel Vadot reg = <0x11>; 213c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 214c66ec88fSEmmanuel Vadot }; 215c66ec88fSEmmanuel Vadot }; 216c66ec88fSEmmanuel Vadot }; 217c66ec88fSEmmanuel Vadot 218c66ec88fSEmmanuel Vadot enet2: ethernet@26000 { 219c66ec88fSEmmanuel Vadot #address-cells = <1>; 220c66ec88fSEmmanuel Vadot #size-cells = <1>; 221c66ec88fSEmmanuel Vadot cell-index = <2>; 222c66ec88fSEmmanuel Vadot device_type = "network"; 223c66ec88fSEmmanuel Vadot model = "FEC"; 224c66ec88fSEmmanuel Vadot compatible = "gianfar"; 225c66ec88fSEmmanuel Vadot reg = <0x26000 0x1000>; 226c66ec88fSEmmanuel Vadot ranges = <0x0 0x26000 0x1000>; 227c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 228c66ec88fSEmmanuel Vadot interrupts = <41 2>; 229c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 230c66ec88fSEmmanuel Vadot phy-handle = <&phy3>; 231c66ec88fSEmmanuel Vadot 232c66ec88fSEmmanuel Vadot mdio@520 { 233c66ec88fSEmmanuel Vadot #address-cells = <1>; 234c66ec88fSEmmanuel Vadot #size-cells = <0>; 235c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 236c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 237c66ec88fSEmmanuel Vadot 238c66ec88fSEmmanuel Vadot tbi2: tbi-phy@11 { 239c66ec88fSEmmanuel Vadot reg = <0x11>; 240c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 241c66ec88fSEmmanuel Vadot }; 242c66ec88fSEmmanuel Vadot }; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot serial0: serial@4500 { 246c66ec88fSEmmanuel Vadot cell-index = <0>; 247c66ec88fSEmmanuel Vadot device_type = "serial"; 248c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 249c66ec88fSEmmanuel Vadot reg = <0x4500 0x100>; // reg base, size 250c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 251c66ec88fSEmmanuel Vadot interrupts = <42 2>; 252c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 253c66ec88fSEmmanuel Vadot }; 254c66ec88fSEmmanuel Vadot 255c66ec88fSEmmanuel Vadot serial1: serial@4600 { 256c66ec88fSEmmanuel Vadot cell-index = <1>; 257c66ec88fSEmmanuel Vadot device_type = "serial"; 258c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 259c66ec88fSEmmanuel Vadot reg = <0x4600 0x100>; // reg base, size 260c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 261c66ec88fSEmmanuel Vadot interrupts = <42 2>; 262c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 263c66ec88fSEmmanuel Vadot }; 264c66ec88fSEmmanuel Vadot 265c66ec88fSEmmanuel Vadot mpic: pic@40000 { 266c66ec88fSEmmanuel Vadot interrupt-controller; 267c66ec88fSEmmanuel Vadot #address-cells = <0>; 268c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 269c66ec88fSEmmanuel Vadot reg = <0x40000 0x40000>; 270c66ec88fSEmmanuel Vadot device_type = "open-pic"; 271c66ec88fSEmmanuel Vadot compatible = "chrp,open-pic"; 272c66ec88fSEmmanuel Vadot }; 273c66ec88fSEmmanuel Vadot }; 274c66ec88fSEmmanuel Vadot 275c66ec88fSEmmanuel Vadot localbus@e0005000 { 276c66ec88fSEmmanuel Vadot #address-cells = <2>; 277c66ec88fSEmmanuel Vadot #size-cells = <1>; 278c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-localbus", "fsl,pq3-localbus", 279c66ec88fSEmmanuel Vadot "simple-bus"; 280c66ec88fSEmmanuel Vadot reg = <0xe0005000 0x1000>; 281c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 282c66ec88fSEmmanuel Vadot interrupts = <19 2>; 283c66ec88fSEmmanuel Vadot 284c66ec88fSEmmanuel Vadot ranges = <0x0 0x0 0xfe000000 0x02000000>; 285c66ec88fSEmmanuel Vadot 286c66ec88fSEmmanuel Vadot nor@0,0 { 287c66ec88fSEmmanuel Vadot #address-cells = <1>; 288c66ec88fSEmmanuel Vadot #size-cells = <1>; 289c66ec88fSEmmanuel Vadot compatible = "cfi-flash"; 290c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x02000000>; 291c66ec88fSEmmanuel Vadot bank-width = <4>; 292c66ec88fSEmmanuel Vadot device-width = <2>; 293c66ec88fSEmmanuel Vadot partition@0 { 294c66ec88fSEmmanuel Vadot label = "kernel"; 295c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00180000>; 296c66ec88fSEmmanuel Vadot }; 297c66ec88fSEmmanuel Vadot partition@180000 { 298c66ec88fSEmmanuel Vadot label = "root"; 299c66ec88fSEmmanuel Vadot reg = <0x00180000 0x01dc0000>; 300c66ec88fSEmmanuel Vadot }; 301c66ec88fSEmmanuel Vadot partition@1f40000 { 302c66ec88fSEmmanuel Vadot label = "env1"; 303c66ec88fSEmmanuel Vadot reg = <0x01f40000 0x00040000>; 304c66ec88fSEmmanuel Vadot }; 305c66ec88fSEmmanuel Vadot partition@1f80000 { 306c66ec88fSEmmanuel Vadot label = "env2"; 307c66ec88fSEmmanuel Vadot reg = <0x01f80000 0x00040000>; 308c66ec88fSEmmanuel Vadot }; 309c66ec88fSEmmanuel Vadot partition@1fc0000 { 310c66ec88fSEmmanuel Vadot label = "u-boot"; 311c66ec88fSEmmanuel Vadot reg = <0x01fc0000 0x00040000>; 312c66ec88fSEmmanuel Vadot read-only; 313c66ec88fSEmmanuel Vadot }; 314c66ec88fSEmmanuel Vadot }; 315c66ec88fSEmmanuel Vadot }; 316c66ec88fSEmmanuel Vadot 317c66ec88fSEmmanuel Vadot pci0: pci@e0008000 { 318c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 319c66ec88fSEmmanuel Vadot #size-cells = <2>; 320c66ec88fSEmmanuel Vadot #address-cells = <3>; 321c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 322c66ec88fSEmmanuel Vadot device_type = "pci"; 323c66ec88fSEmmanuel Vadot reg = <0xe0008000 0x1000>; 324c66ec88fSEmmanuel Vadot clock-frequency = <66666666>; 325c66ec88fSEmmanuel Vadot interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 326c66ec88fSEmmanuel Vadot interrupt-map = < 327c66ec88fSEmmanuel Vadot /* IDSEL 28 */ 328c66ec88fSEmmanuel Vadot 0xe000 0 0 1 &mpic 2 1 329c66ec88fSEmmanuel Vadot 0xe000 0 0 2 &mpic 3 1 330c66ec88fSEmmanuel Vadot 0xe000 0 0 3 &mpic 6 1 331c66ec88fSEmmanuel Vadot 0xe000 0 0 4 &mpic 5 1 332c66ec88fSEmmanuel Vadot 333c66ec88fSEmmanuel Vadot /* IDSEL 11 */ 334c66ec88fSEmmanuel Vadot 0x5800 0 0 1 &mpic 6 1 335c66ec88fSEmmanuel Vadot 0x5800 0 0 2 &mpic 5 1 336c66ec88fSEmmanuel Vadot >; 337c66ec88fSEmmanuel Vadot 338c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 339c66ec88fSEmmanuel Vadot interrupts = <24 2>; 340c66ec88fSEmmanuel Vadot bus-range = <0 0>; 341c66ec88fSEmmanuel Vadot ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000 342c66ec88fSEmmanuel Vadot 0x01000000 0 0x00000000 0xe2000000 0 0x01000000>; 343c66ec88fSEmmanuel Vadot }; 344c66ec88fSEmmanuel Vadot}; 345