1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * TQM 8541 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,tqm8541"; 14c66ec88fSEmmanuel Vadot compatible = "tqc,tqm8541"; 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 serial0 = &serial0; 22c66ec88fSEmmanuel Vadot serial1 = &serial1; 23c66ec88fSEmmanuel Vadot pci0 = &pci0; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot cpus { 27c66ec88fSEmmanuel Vadot #address-cells = <1>; 28c66ec88fSEmmanuel Vadot #size-cells = <0>; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot PowerPC,8541@0 { 31c66ec88fSEmmanuel Vadot device_type = "cpu"; 32c66ec88fSEmmanuel Vadot reg = <0>; 33c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 34c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 35c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 36c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 37c66ec88fSEmmanuel Vadot timebase-frequency = <0>; 38c66ec88fSEmmanuel Vadot bus-frequency = <0>; 39c66ec88fSEmmanuel Vadot clock-frequency = <0>; 40c66ec88fSEmmanuel Vadot next-level-cache = <&L2>; 41c66ec88fSEmmanuel Vadot }; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot memory { 45c66ec88fSEmmanuel Vadot device_type = "memory"; 46c66ec88fSEmmanuel Vadot reg = <0x00000000 0x10000000>; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot soc@e0000000 { 50c66ec88fSEmmanuel Vadot #address-cells = <1>; 51c66ec88fSEmmanuel Vadot #size-cells = <1>; 52c66ec88fSEmmanuel Vadot device_type = "soc"; 53c66ec88fSEmmanuel Vadot ranges = <0x0 0xe0000000 0x100000>; 54c66ec88fSEmmanuel Vadot bus-frequency = <0>; 55c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-immr", "simple-bus"; 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot ecm-law@0 { 58c66ec88fSEmmanuel Vadot compatible = "fsl,ecm-law"; 59c66ec88fSEmmanuel Vadot reg = <0x0 0x1000>; 60c66ec88fSEmmanuel Vadot fsl,num-laws = <8>; 61c66ec88fSEmmanuel Vadot }; 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot ecm@1000 { 64c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-ecm", "fsl,ecm"; 65c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 66c66ec88fSEmmanuel Vadot interrupts = <17 2>; 67c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 68c66ec88fSEmmanuel Vadot }; 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot memory-controller@2000 { 71c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-memory-controller"; 72c66ec88fSEmmanuel Vadot reg = <0x2000 0x1000>; 73c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 74c66ec88fSEmmanuel Vadot interrupts = <18 2>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot L2: l2-cache-controller@20000 { 78c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-l2-cache-controller"; 79c66ec88fSEmmanuel Vadot reg = <0x20000 0x1000>; 80c66ec88fSEmmanuel Vadot cache-line-size = <32>; 81c66ec88fSEmmanuel Vadot cache-size = <0x40000>; // L2, 256K 82c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 83c66ec88fSEmmanuel Vadot interrupts = <16 2>; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot i2c@3000 { 87c66ec88fSEmmanuel Vadot #address-cells = <1>; 88c66ec88fSEmmanuel Vadot #size-cells = <0>; 89c66ec88fSEmmanuel Vadot cell-index = <0>; 90c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 91c66ec88fSEmmanuel Vadot reg = <0x3000 0x100>; 92c66ec88fSEmmanuel Vadot interrupts = <43 2>; 93c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 94c66ec88fSEmmanuel Vadot dfsrr; 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot dtt@48 { 97c66ec88fSEmmanuel Vadot compatible = "national,lm75"; 98c66ec88fSEmmanuel Vadot reg = <0x48>; 99c66ec88fSEmmanuel Vadot }; 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot rtc@68 { 102c66ec88fSEmmanuel Vadot compatible = "dallas,ds1337"; 103c66ec88fSEmmanuel Vadot reg = <0x68>; 104c66ec88fSEmmanuel Vadot }; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot dma@21300 { 108c66ec88fSEmmanuel Vadot #address-cells = <1>; 109c66ec88fSEmmanuel Vadot #size-cells = <1>; 110c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-dma", "fsl,eloplus-dma"; 111c66ec88fSEmmanuel Vadot reg = <0x21300 0x4>; 112c66ec88fSEmmanuel Vadot ranges = <0x0 0x21100 0x200>; 113c66ec88fSEmmanuel Vadot cell-index = <0>; 114c66ec88fSEmmanuel Vadot dma-channel@0 { 115c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-dma-channel", 116c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 117c66ec88fSEmmanuel Vadot reg = <0x0 0x80>; 118c66ec88fSEmmanuel Vadot cell-index = <0>; 119c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 120c66ec88fSEmmanuel Vadot interrupts = <20 2>; 121c66ec88fSEmmanuel Vadot }; 122c66ec88fSEmmanuel Vadot dma-channel@80 { 123c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-dma-channel", 124c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 125c66ec88fSEmmanuel Vadot reg = <0x80 0x80>; 126c66ec88fSEmmanuel Vadot cell-index = <1>; 127c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 128c66ec88fSEmmanuel Vadot interrupts = <21 2>; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot dma-channel@100 { 131c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-dma-channel", 132c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 133c66ec88fSEmmanuel Vadot reg = <0x100 0x80>; 134c66ec88fSEmmanuel Vadot cell-index = <2>; 135c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 136c66ec88fSEmmanuel Vadot interrupts = <22 2>; 137c66ec88fSEmmanuel Vadot }; 138c66ec88fSEmmanuel Vadot dma-channel@180 { 139c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-dma-channel", 140c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 141c66ec88fSEmmanuel Vadot reg = <0x180 0x80>; 142c66ec88fSEmmanuel Vadot cell-index = <3>; 143c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 144c66ec88fSEmmanuel Vadot interrupts = <23 2>; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot enet0: ethernet@24000 { 149c66ec88fSEmmanuel Vadot #address-cells = <1>; 150c66ec88fSEmmanuel Vadot #size-cells = <1>; 151c66ec88fSEmmanuel Vadot cell-index = <0>; 152c66ec88fSEmmanuel Vadot device_type = "network"; 153c66ec88fSEmmanuel Vadot model = "TSEC"; 154c66ec88fSEmmanuel Vadot compatible = "gianfar"; 155c66ec88fSEmmanuel Vadot reg = <0x24000 0x1000>; 156c66ec88fSEmmanuel Vadot ranges = <0x0 0x24000 0x1000>; 157c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 158c66ec88fSEmmanuel Vadot interrupts = <29 2 30 2 34 2>; 159c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 160c66ec88fSEmmanuel Vadot tbi-handle = <&tbi0>; 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 tbi-handle = <&tbi1>; 204c66ec88fSEmmanuel Vadot phy-handle = <&phy1>; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot mdio@520 { 207c66ec88fSEmmanuel Vadot #address-cells = <1>; 208c66ec88fSEmmanuel Vadot #size-cells = <0>; 209c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 210c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot tbi1: tbi-phy@11 { 213c66ec88fSEmmanuel Vadot reg = <0x11>; 214c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 215c66ec88fSEmmanuel Vadot }; 216c66ec88fSEmmanuel Vadot }; 217c66ec88fSEmmanuel Vadot }; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot serial0: serial@4500 { 220c66ec88fSEmmanuel Vadot cell-index = <0>; 221c66ec88fSEmmanuel Vadot device_type = "serial"; 222c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 223c66ec88fSEmmanuel Vadot reg = <0x4500 0x100>; // reg base, size 224c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 225c66ec88fSEmmanuel Vadot interrupts = <42 2>; 226c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 227c66ec88fSEmmanuel Vadot }; 228c66ec88fSEmmanuel Vadot 229c66ec88fSEmmanuel Vadot serial1: serial@4600 { 230c66ec88fSEmmanuel Vadot cell-index = <1>; 231c66ec88fSEmmanuel Vadot device_type = "serial"; 232c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 233c66ec88fSEmmanuel Vadot reg = <0x4600 0x100>; // reg base, size 234c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 235c66ec88fSEmmanuel Vadot interrupts = <42 2>; 236c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 237c66ec88fSEmmanuel Vadot }; 238c66ec88fSEmmanuel Vadot 239c66ec88fSEmmanuel Vadot crypto@30000 { 240c66ec88fSEmmanuel Vadot compatible = "fsl,sec2.0"; 241c66ec88fSEmmanuel Vadot reg = <0x30000 0x10000>; 242c66ec88fSEmmanuel Vadot interrupts = <45 2>; 243c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 244c66ec88fSEmmanuel Vadot fsl,num-channels = <4>; 245c66ec88fSEmmanuel Vadot fsl,channel-fifo-len = <24>; 246c66ec88fSEmmanuel Vadot fsl,exec-units-mask = <0x7e>; 247c66ec88fSEmmanuel Vadot fsl,descriptor-types-mask = <0x01010ebf>; 248c66ec88fSEmmanuel Vadot }; 249c66ec88fSEmmanuel Vadot 250c66ec88fSEmmanuel Vadot mpic: pic@40000 { 251c66ec88fSEmmanuel Vadot interrupt-controller; 252c66ec88fSEmmanuel Vadot #address-cells = <0>; 253c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 254c66ec88fSEmmanuel Vadot reg = <0x40000 0x40000>; 255c66ec88fSEmmanuel Vadot device_type = "open-pic"; 256c66ec88fSEmmanuel Vadot compatible = "chrp,open-pic"; 257c66ec88fSEmmanuel Vadot }; 258c66ec88fSEmmanuel Vadot 259c66ec88fSEmmanuel Vadot cpm@919c0 { 260c66ec88fSEmmanuel Vadot #address-cells = <1>; 261c66ec88fSEmmanuel Vadot #size-cells = <1>; 262c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-cpm", "fsl,cpm2", "simple-bus"; 263c66ec88fSEmmanuel Vadot reg = <0x919c0 0x30>; 264c66ec88fSEmmanuel Vadot ranges; 265c66ec88fSEmmanuel Vadot 266c66ec88fSEmmanuel Vadot muram@80000 { 267c66ec88fSEmmanuel Vadot #address-cells = <1>; 268c66ec88fSEmmanuel Vadot #size-cells = <1>; 269c66ec88fSEmmanuel Vadot ranges = <0 0x80000 0x10000>; 270c66ec88fSEmmanuel Vadot 271c66ec88fSEmmanuel Vadot data@0 { 272c66ec88fSEmmanuel Vadot compatible = "fsl,cpm-muram-data"; 273c66ec88fSEmmanuel Vadot reg = <0 0x2000 0x9000 0x1000>; 274c66ec88fSEmmanuel Vadot }; 275c66ec88fSEmmanuel Vadot }; 276c66ec88fSEmmanuel Vadot 277c66ec88fSEmmanuel Vadot brg@919f0 { 278c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-brg", 279c66ec88fSEmmanuel Vadot "fsl,cpm2-brg", 280c66ec88fSEmmanuel Vadot "fsl,cpm-brg"; 281c66ec88fSEmmanuel Vadot reg = <0x919f0 0x10 0x915f0 0x10>; 282c66ec88fSEmmanuel Vadot clock-frequency = <0>; 283c66ec88fSEmmanuel Vadot }; 284c66ec88fSEmmanuel Vadot 285c66ec88fSEmmanuel Vadot cpmpic: pic@90c00 { 286c66ec88fSEmmanuel Vadot interrupt-controller; 287c66ec88fSEmmanuel Vadot #address-cells = <0>; 288c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 289c66ec88fSEmmanuel Vadot interrupts = <46 2>; 290c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 291c66ec88fSEmmanuel Vadot reg = <0x90c00 0x80>; 292c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8541-cpm-pic", "fsl,cpm2-pic"; 293c66ec88fSEmmanuel Vadot }; 294c66ec88fSEmmanuel Vadot }; 295c66ec88fSEmmanuel Vadot }; 296c66ec88fSEmmanuel Vadot 297c66ec88fSEmmanuel Vadot pci0: pci@e0008000 { 298c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 299c66ec88fSEmmanuel Vadot #size-cells = <2>; 300c66ec88fSEmmanuel Vadot #address-cells = <3>; 301c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 302c66ec88fSEmmanuel Vadot device_type = "pci"; 303c66ec88fSEmmanuel Vadot reg = <0xe0008000 0x1000>; 304c66ec88fSEmmanuel Vadot clock-frequency = <66666666>; 305c66ec88fSEmmanuel Vadot interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 306c66ec88fSEmmanuel Vadot interrupt-map = < 307c66ec88fSEmmanuel Vadot /* IDSEL 28 */ 308c66ec88fSEmmanuel Vadot 0xe000 0 0 1 &mpic 2 1 309c66ec88fSEmmanuel Vadot 0xe000 0 0 2 &mpic 3 1 310c66ec88fSEmmanuel Vadot 0xe000 0 0 3 &mpic 6 1 311c66ec88fSEmmanuel Vadot 0xe000 0 0 4 &mpic 5 1 312c66ec88fSEmmanuel Vadot 313c66ec88fSEmmanuel Vadot /* IDSEL 11 */ 314c66ec88fSEmmanuel Vadot 0x5800 0 0 1 &mpic 6 1 315c66ec88fSEmmanuel Vadot 0x5800 0 0 2 &mpic 5 1 316c66ec88fSEmmanuel Vadot >; 317c66ec88fSEmmanuel Vadot 318c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 319c66ec88fSEmmanuel Vadot interrupts = <24 2>; 320c66ec88fSEmmanuel Vadot bus-range = <0 0>; 321c66ec88fSEmmanuel Vadot ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000 322c66ec88fSEmmanuel Vadot 0x01000000 0 0x00000000 0xe2000000 0 0x01000000>; 323c66ec88fSEmmanuel Vadot }; 324c66ec88fSEmmanuel Vadot}; 325