1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * base MPC5200b Device Tree Source 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Copyright (C) 2010 SecretLab 6c66ec88fSEmmanuel Vadot * Grant Likely <grant@secretlab.ca> 7c66ec88fSEmmanuel Vadot * John Bonesio <bones@secretlab.ca> 8c66ec88fSEmmanuel Vadot */ 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot/dts-v1/; 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot/ { 13c66ec88fSEmmanuel Vadot model = "fsl,mpc5200b"; 14c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b"; 15c66ec88fSEmmanuel Vadot #address-cells = <1>; 16c66ec88fSEmmanuel Vadot #size-cells = <1>; 17c66ec88fSEmmanuel Vadot interrupt-parent = <&mpc5200_pic>; 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot cpus { 20c66ec88fSEmmanuel Vadot #address-cells = <1>; 21c66ec88fSEmmanuel Vadot #size-cells = <0>; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot powerpc: PowerPC,5200@0 { 24c66ec88fSEmmanuel Vadot device_type = "cpu"; 25c66ec88fSEmmanuel Vadot reg = <0>; 26c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 27c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 28c66ec88fSEmmanuel Vadot d-cache-size = <0x4000>; // L1, 16K 29c66ec88fSEmmanuel Vadot i-cache-size = <0x4000>; // L1, 16K 30c66ec88fSEmmanuel Vadot timebase-frequency = <0>; // from bootloader 31c66ec88fSEmmanuel Vadot bus-frequency = <0>; // from bootloader 32c66ec88fSEmmanuel Vadot clock-frequency = <0>; // from bootloader 33c66ec88fSEmmanuel Vadot }; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot 36*8cc087a1SEmmanuel Vadot memory: memory@0 { 37c66ec88fSEmmanuel Vadot device_type = "memory"; 38c66ec88fSEmmanuel Vadot reg = <0x00000000 0x04000000>; // 64MB 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot soc: soc5200@f0000000 { 42c66ec88fSEmmanuel Vadot #address-cells = <1>; 43c66ec88fSEmmanuel Vadot #size-cells = <1>; 44c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-immr"; 45c66ec88fSEmmanuel Vadot ranges = <0 0xf0000000 0x0000c000>; 46c66ec88fSEmmanuel Vadot reg = <0xf0000000 0x00000100>; 47c66ec88fSEmmanuel Vadot bus-frequency = <0>; // from bootloader 48c66ec88fSEmmanuel Vadot system-frequency = <0>; // from bootloader 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot cdm@200 { 51c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; 52c66ec88fSEmmanuel Vadot reg = <0x200 0x38>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot mpc5200_pic: interrupt-controller@500 { 56c66ec88fSEmmanuel Vadot // 5200 interrupts are encoded into two levels; 57c66ec88fSEmmanuel Vadot interrupt-controller; 58c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 59c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; 60c66ec88fSEmmanuel Vadot reg = <0x500 0x80>; 61c66ec88fSEmmanuel Vadot }; 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot gpt0: timer@600 { // General Purpose Timer 64c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 65c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 66c66ec88fSEmmanuel Vadot reg = <0x600 0x10>; 67c66ec88fSEmmanuel Vadot interrupts = <1 9 0>; 68c66ec88fSEmmanuel Vadot // add 'fsl,has-wdt' to enable watchdog 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot gpt1: timer@610 { // General Purpose Timer 72c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 73c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 74c66ec88fSEmmanuel Vadot reg = <0x610 0x10>; 75c66ec88fSEmmanuel Vadot interrupts = <1 10 0>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot gpt2: timer@620 { // General Purpose Timer 79c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 80c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 81c66ec88fSEmmanuel Vadot reg = <0x620 0x10>; 82c66ec88fSEmmanuel Vadot interrupts = <1 11 0>; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot gpt3: timer@630 { // General Purpose Timer 86c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 87c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 88c66ec88fSEmmanuel Vadot reg = <0x630 0x10>; 89c66ec88fSEmmanuel Vadot interrupts = <1 12 0>; 90c66ec88fSEmmanuel Vadot }; 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot gpt4: timer@640 { // General Purpose Timer 93c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 94c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 95c66ec88fSEmmanuel Vadot reg = <0x640 0x10>; 96c66ec88fSEmmanuel Vadot interrupts = <1 13 0>; 97c66ec88fSEmmanuel Vadot }; 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot gpt5: timer@650 { // General Purpose Timer 100c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 101c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 102c66ec88fSEmmanuel Vadot reg = <0x650 0x10>; 103c66ec88fSEmmanuel Vadot interrupts = <1 14 0>; 104c66ec88fSEmmanuel Vadot }; 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot gpt6: timer@660 { // General Purpose Timer 107c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 108c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 109c66ec88fSEmmanuel Vadot reg = <0x660 0x10>; 110c66ec88fSEmmanuel Vadot interrupts = <1 15 0>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot gpt7: timer@670 { // General Purpose Timer 114c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 115c66ec88fSEmmanuel Vadot #gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode 116c66ec88fSEmmanuel Vadot reg = <0x670 0x10>; 117c66ec88fSEmmanuel Vadot interrupts = <1 16 0>; 118c66ec88fSEmmanuel Vadot }; 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot rtc@800 { // Real time clock 121c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; 122c66ec88fSEmmanuel Vadot reg = <0x800 0x100>; 123c66ec88fSEmmanuel Vadot interrupts = <1 5 0 1 6 0>; 124c66ec88fSEmmanuel Vadot }; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot can@900 { 127c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; 128c66ec88fSEmmanuel Vadot interrupts = <2 17 0>; 129c66ec88fSEmmanuel Vadot reg = <0x900 0x80>; 130c66ec88fSEmmanuel Vadot }; 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot can@980 { 133c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; 134c66ec88fSEmmanuel Vadot interrupts = <2 18 0>; 135c66ec88fSEmmanuel Vadot reg = <0x980 0x80>; 136c66ec88fSEmmanuel Vadot }; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot gpio_simple: gpio@b00 { 139c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; 140c66ec88fSEmmanuel Vadot reg = <0xb00 0x40>; 141c66ec88fSEmmanuel Vadot interrupts = <1 7 0>; 142c66ec88fSEmmanuel Vadot gpio-controller; 143c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 144c66ec88fSEmmanuel Vadot }; 145c66ec88fSEmmanuel Vadot 146c66ec88fSEmmanuel Vadot gpio_wkup: gpio@c00 { 147c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; 148c66ec88fSEmmanuel Vadot reg = <0xc00 0x40>; 149c66ec88fSEmmanuel Vadot interrupts = <1 8 0 0 3 0>; 150c66ec88fSEmmanuel Vadot gpio-controller; 151c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 152c66ec88fSEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot spi@f00 { 155c66ec88fSEmmanuel Vadot #address-cells = <1>; 156c66ec88fSEmmanuel Vadot #size-cells = <0>; 157c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; 158c66ec88fSEmmanuel Vadot reg = <0xf00 0x20>; 159c66ec88fSEmmanuel Vadot interrupts = <2 13 0 2 14 0>; 160c66ec88fSEmmanuel Vadot }; 161c66ec88fSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot usb: usb@1000 { 163c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; 164c66ec88fSEmmanuel Vadot reg = <0x1000 0xff>; 165c66ec88fSEmmanuel Vadot interrupts = <2 6 0>; 166c66ec88fSEmmanuel Vadot }; 167c66ec88fSEmmanuel Vadot 168c66ec88fSEmmanuel Vadot dma-controller@1200 { 169c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; 170c66ec88fSEmmanuel Vadot reg = <0x1200 0x80>; 171c66ec88fSEmmanuel Vadot interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 172c66ec88fSEmmanuel Vadot 3 4 0 3 5 0 3 6 0 3 7 0 173c66ec88fSEmmanuel Vadot 3 8 0 3 9 0 3 10 0 3 11 0 174c66ec88fSEmmanuel Vadot 3 12 0 3 13 0 3 14 0 3 15 0>; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot xlb@1f00 { 178c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; 179c66ec88fSEmmanuel Vadot reg = <0x1f00 0x100>; 180c66ec88fSEmmanuel Vadot }; 181c66ec88fSEmmanuel Vadot 182c66ec88fSEmmanuel Vadot psc1: psc@2000 { // PSC1 183c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 184c66ec88fSEmmanuel Vadot reg = <0x2000 0x100>; 185c66ec88fSEmmanuel Vadot interrupts = <2 1 0>; 186c66ec88fSEmmanuel Vadot }; 187c66ec88fSEmmanuel Vadot 188c66ec88fSEmmanuel Vadot psc2: psc@2200 { // PSC2 189c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 190c66ec88fSEmmanuel Vadot reg = <0x2200 0x100>; 191c66ec88fSEmmanuel Vadot interrupts = <2 2 0>; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot psc3: psc@2400 { // PSC3 195c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 196c66ec88fSEmmanuel Vadot reg = <0x2400 0x100>; 197c66ec88fSEmmanuel Vadot interrupts = <2 3 0>; 198c66ec88fSEmmanuel Vadot }; 199c66ec88fSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot psc4: psc@2600 { // PSC4 201c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 202c66ec88fSEmmanuel Vadot reg = <0x2600 0x100>; 203c66ec88fSEmmanuel Vadot interrupts = <2 11 0>; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot psc5: psc@2800 { // PSC5 207c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 208c66ec88fSEmmanuel Vadot reg = <0x2800 0x100>; 209c66ec88fSEmmanuel Vadot interrupts = <2 12 0>; 210c66ec88fSEmmanuel Vadot }; 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot psc6: psc@2c00 { // PSC6 213c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; 214c66ec88fSEmmanuel Vadot reg = <0x2c00 0x100>; 215c66ec88fSEmmanuel Vadot interrupts = <2 4 0>; 216c66ec88fSEmmanuel Vadot }; 217c66ec88fSEmmanuel Vadot 218c66ec88fSEmmanuel Vadot eth0: ethernet@3000 { 219c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 220c66ec88fSEmmanuel Vadot reg = <0x3000 0x400>; 221c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 222c66ec88fSEmmanuel Vadot interrupts = <2 5 0>; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot mdio@3000 { 226c66ec88fSEmmanuel Vadot #address-cells = <1>; 227c66ec88fSEmmanuel Vadot #size-cells = <0>; 228c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; 229c66ec88fSEmmanuel Vadot reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts 230c66ec88fSEmmanuel Vadot interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 231c66ec88fSEmmanuel Vadot }; 232c66ec88fSEmmanuel Vadot 233c66ec88fSEmmanuel Vadot ata@3a00 { 234c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; 235c66ec88fSEmmanuel Vadot reg = <0x3a00 0x100>; 236c66ec88fSEmmanuel Vadot interrupts = <2 7 0>; 237c66ec88fSEmmanuel Vadot }; 238c66ec88fSEmmanuel Vadot 239c66ec88fSEmmanuel Vadot sclpc@3c00 { 240c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200-lpbfifo"; 241c66ec88fSEmmanuel Vadot reg = <0x3c00 0x60>; 242c66ec88fSEmmanuel Vadot interrupts = <2 23 0>; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot i2c@3d00 { 246c66ec88fSEmmanuel Vadot #address-cells = <1>; 247c66ec88fSEmmanuel Vadot #size-cells = <0>; 248c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 249c66ec88fSEmmanuel Vadot reg = <0x3d00 0x40>; 250c66ec88fSEmmanuel Vadot interrupts = <2 15 0>; 251c66ec88fSEmmanuel Vadot }; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot i2c@3d40 { 254c66ec88fSEmmanuel Vadot #address-cells = <1>; 255c66ec88fSEmmanuel Vadot #size-cells = <0>; 256c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 257c66ec88fSEmmanuel Vadot reg = <0x3d40 0x40>; 258c66ec88fSEmmanuel Vadot interrupts = <2 16 0>; 259c66ec88fSEmmanuel Vadot }; 260c66ec88fSEmmanuel Vadot 261c66ec88fSEmmanuel Vadot sram@8000 { 262c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; 263c66ec88fSEmmanuel Vadot reg = <0x8000 0x4000>; 264c66ec88fSEmmanuel Vadot }; 265c66ec88fSEmmanuel Vadot }; 266c66ec88fSEmmanuel Vadot 267c66ec88fSEmmanuel Vadot pci: pci@f0000d00 { 268c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 269c66ec88fSEmmanuel Vadot #size-cells = <2>; 270c66ec88fSEmmanuel Vadot #address-cells = <3>; 271c66ec88fSEmmanuel Vadot device_type = "pci"; 272c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; 273c66ec88fSEmmanuel Vadot reg = <0xf0000d00 0x100>; 274c66ec88fSEmmanuel Vadot // interrupt-map-mask = need to add 275c66ec88fSEmmanuel Vadot // interrupt-map = need to add 276c66ec88fSEmmanuel Vadot clock-frequency = <0>; // From boot loader 277c66ec88fSEmmanuel Vadot interrupts = <2 8 0 2 9 0 2 10 0>; 278c66ec88fSEmmanuel Vadot bus-range = <0 0>; 279*8cc087a1SEmmanuel Vadot ranges = <0x42000000 0 0x80000000 0x80000000 0 0x10000000>, 280*8cc087a1SEmmanuel Vadot <0x02000000 0 0x90000000 0x90000000 0 0x10000000>, 281*8cc087a1SEmmanuel Vadot <0x01000000 0 0x00000000 0xa0000000 0 0x01000000>; 282c66ec88fSEmmanuel Vadot }; 283c66ec88fSEmmanuel Vadot 284c66ec88fSEmmanuel Vadot localbus: localbus { 285c66ec88fSEmmanuel Vadot compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; 286c66ec88fSEmmanuel Vadot #address-cells = <2>; 287c66ec88fSEmmanuel Vadot #size-cells = <1>; 288c66ec88fSEmmanuel Vadot ranges = <0 0 0xfc000000 0x2000000>; 289c66ec88fSEmmanuel Vadot }; 290c66ec88fSEmmanuel Vadot}; 291