1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * charon board Device Tree Source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2007 Semihalf 6*4882a593Smuzhiyun * Marian Balakowicz <m8@semihalf.com> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * Copyright (C) 2010 DENX Software Engineering GmbH 9*4882a593Smuzhiyun * Heiko Schocher <hs@denx.de> 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/dts-v1/; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun/ { 15*4882a593Smuzhiyun model = "anon,charon"; 16*4882a593Smuzhiyun compatible = "anon,charon"; 17*4882a593Smuzhiyun #address-cells = <1>; 18*4882a593Smuzhiyun #size-cells = <1>; 19*4882a593Smuzhiyun interrupt-parent = <&mpc5200_pic>; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun cpus { 22*4882a593Smuzhiyun #address-cells = <1>; 23*4882a593Smuzhiyun #size-cells = <0>; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun PowerPC,5200@0 { 26*4882a593Smuzhiyun device_type = "cpu"; 27*4882a593Smuzhiyun reg = <0>; 28*4882a593Smuzhiyun d-cache-line-size = <32>; 29*4882a593Smuzhiyun i-cache-line-size = <32>; 30*4882a593Smuzhiyun d-cache-size = <0x4000>; // L1, 16K 31*4882a593Smuzhiyun i-cache-size = <0x4000>; // L1, 16K 32*4882a593Smuzhiyun timebase-frequency = <0>; // from bootloader 33*4882a593Smuzhiyun bus-frequency = <0>; // from bootloader 34*4882a593Smuzhiyun clock-frequency = <0>; // from bootloader 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun memory@0 { 39*4882a593Smuzhiyun device_type = "memory"; 40*4882a593Smuzhiyun reg = <0x00000000 0x08000000>; // 128MB 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun soc5200@f0000000 { 44*4882a593Smuzhiyun #address-cells = <1>; 45*4882a593Smuzhiyun #size-cells = <1>; 46*4882a593Smuzhiyun compatible = "fsl,mpc5200-immr"; 47*4882a593Smuzhiyun ranges = <0 0xf0000000 0x0000c000>; 48*4882a593Smuzhiyun reg = <0xf0000000 0x00000100>; 49*4882a593Smuzhiyun bus-frequency = <0>; // from bootloader 50*4882a593Smuzhiyun system-frequency = <0>; // from bootloader 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun cdm@200 { 53*4882a593Smuzhiyun compatible = "fsl,mpc5200-cdm"; 54*4882a593Smuzhiyun reg = <0x200 0x38>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun mpc5200_pic: interrupt-controller@500 { 58*4882a593Smuzhiyun // 5200 interrupts are encoded into two levels; 59*4882a593Smuzhiyun interrupt-controller; 60*4882a593Smuzhiyun #interrupt-cells = <3>; 61*4882a593Smuzhiyun compatible = "fsl,mpc5200-pic"; 62*4882a593Smuzhiyun reg = <0x500 0x80>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun timer@600 { // General Purpose Timer 66*4882a593Smuzhiyun compatible = "fsl,mpc5200-gpt"; 67*4882a593Smuzhiyun reg = <0x600 0x10>; 68*4882a593Smuzhiyun interrupts = <1 9 0>; 69*4882a593Smuzhiyun fsl,has-wdt; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun can@900 { 73*4882a593Smuzhiyun compatible = "fsl,mpc5200-mscan"; 74*4882a593Smuzhiyun interrupts = <2 17 0>; 75*4882a593Smuzhiyun reg = <0x900 0x80>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun can@980 { 79*4882a593Smuzhiyun compatible = "fsl,mpc5200-mscan"; 80*4882a593Smuzhiyun interrupts = <2 18 0>; 81*4882a593Smuzhiyun reg = <0x980 0x80>; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun gpio_simple: gpio@b00 { 85*4882a593Smuzhiyun compatible = "fsl,mpc5200-gpio"; 86*4882a593Smuzhiyun reg = <0xb00 0x40>; 87*4882a593Smuzhiyun interrupts = <1 7 0>; 88*4882a593Smuzhiyun gpio-controller; 89*4882a593Smuzhiyun #gpio-cells = <2>; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun usb@1000 { 93*4882a593Smuzhiyun compatible = "fsl,mpc5200-ohci","ohci-be"; 94*4882a593Smuzhiyun reg = <0x1000 0xff>; 95*4882a593Smuzhiyun interrupts = <2 6 0>; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun dma-controller@1200 { 99*4882a593Smuzhiyun device_type = "dma-controller"; 100*4882a593Smuzhiyun compatible = "fsl,mpc5200-bestcomm"; 101*4882a593Smuzhiyun reg = <0x1200 0x80>; 102*4882a593Smuzhiyun interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 103*4882a593Smuzhiyun 3 4 0 3 5 0 3 6 0 3 7 0 104*4882a593Smuzhiyun 3 8 0 3 9 0 3 10 0 3 11 0 105*4882a593Smuzhiyun 3 12 0 3 13 0 3 14 0 3 15 0>; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun xlb@1f00 { 109*4882a593Smuzhiyun compatible = "fsl,mpc5200-xlb"; 110*4882a593Smuzhiyun reg = <0x1f00 0x100>; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun serial@2000 { // PSC1 114*4882a593Smuzhiyun compatible = "fsl,mpc5200-psc-uart"; 115*4882a593Smuzhiyun reg = <0x2000 0x100>; 116*4882a593Smuzhiyun interrupts = <2 1 0>; 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun serial@2400 { // PSC3 120*4882a593Smuzhiyun compatible = "fsl,mpc5200-psc-uart"; 121*4882a593Smuzhiyun reg = <0x2400 0x100>; 122*4882a593Smuzhiyun interrupts = <2 3 0>; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun ethernet@3000 { 126*4882a593Smuzhiyun compatible = "fsl,mpc5200-fec"; 127*4882a593Smuzhiyun reg = <0x3000 0x400>; 128*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 129*4882a593Smuzhiyun interrupts = <2 5 0>; 130*4882a593Smuzhiyun fixed-link = <1 1 100 0 0>; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun mdio@3000 { 134*4882a593Smuzhiyun #address-cells = <1>; 135*4882a593Smuzhiyun #size-cells = <0>; 136*4882a593Smuzhiyun compatible = "fsl,mpc5200-mdio"; 137*4882a593Smuzhiyun reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts 138*4882a593Smuzhiyun interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun ata@3a00 { 142*4882a593Smuzhiyun compatible = "fsl,mpc5200-ata"; 143*4882a593Smuzhiyun reg = <0x3a00 0x100>; 144*4882a593Smuzhiyun interrupts = <2 7 0>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun i2c@3d00 { 148*4882a593Smuzhiyun #address-cells = <1>; 149*4882a593Smuzhiyun #size-cells = <0>; 150*4882a593Smuzhiyun compatible = "fsl,mpc5200-i2c","fsl-i2c"; 151*4882a593Smuzhiyun reg = <0x3d00 0x40>; 152*4882a593Smuzhiyun interrupts = <2 15 0>; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun i2c@3d40 { 157*4882a593Smuzhiyun #address-cells = <1>; 158*4882a593Smuzhiyun #size-cells = <0>; 159*4882a593Smuzhiyun compatible = "fsl,mpc5200-i2c","fsl-i2c"; 160*4882a593Smuzhiyun reg = <0x3d40 0x40>; 161*4882a593Smuzhiyun interrupts = <2 16 0>; 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun dtt@28 { 164*4882a593Smuzhiyun compatible = "national,lm80"; 165*4882a593Smuzhiyun reg = <0x28>; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun rtc@68 { 169*4882a593Smuzhiyun compatible = "dallas,ds1374"; 170*4882a593Smuzhiyun reg = <0x68>; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun sram@8000 { 175*4882a593Smuzhiyun compatible = "fsl,mpc5200-sram"; 176*4882a593Smuzhiyun reg = <0x8000 0x4000>; 177*4882a593Smuzhiyun }; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun localbus { 181*4882a593Smuzhiyun compatible = "fsl,mpc5200-lpb","simple-bus"; 182*4882a593Smuzhiyun #address-cells = <2>; 183*4882a593Smuzhiyun #size-cells = <1>; 184*4882a593Smuzhiyun ranges = < 0 0 0xfc000000 0x02000000 185*4882a593Smuzhiyun 1 0 0xe0000000 0x04000000 // CS1 range, SM501 186*4882a593Smuzhiyun 3 0 0xe8000000 0x00080000>; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun flash@0,0 { 189*4882a593Smuzhiyun compatible = "cfi-flash"; 190*4882a593Smuzhiyun reg = <0 0 0x02000000>; 191*4882a593Smuzhiyun bank-width = <4>; 192*4882a593Smuzhiyun device-width = <2>; 193*4882a593Smuzhiyun #size-cells = <1>; 194*4882a593Smuzhiyun #address-cells = <1>; 195*4882a593Smuzhiyun }; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun display@1,0 { 198*4882a593Smuzhiyun compatible = "smi,sm501"; 199*4882a593Smuzhiyun reg = <1 0x00000000 0x00800000 200*4882a593Smuzhiyun 1 0x03e00000 0x00200000>; 201*4882a593Smuzhiyun mode = "640x480-32@60"; 202*4882a593Smuzhiyun interrupts = <1 1 3>; 203*4882a593Smuzhiyun little-endian; 204*4882a593Smuzhiyun }; 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun mram0@3,0 { 207*4882a593Smuzhiyun compatible = "mtd-ram"; 208*4882a593Smuzhiyun reg = <3 0x00000 0x80000>; 209*4882a593Smuzhiyun bank-width = <1>; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun pci@f0000d00 { 214*4882a593Smuzhiyun #interrupt-cells = <1>; 215*4882a593Smuzhiyun #size-cells = <2>; 216*4882a593Smuzhiyun #address-cells = <3>; 217*4882a593Smuzhiyun device_type = "pci"; 218*4882a593Smuzhiyun compatible = "fsl,mpc5200-pci"; 219*4882a593Smuzhiyun reg = <0xf0000d00 0x100>; 220*4882a593Smuzhiyun interrupt-map-mask = <0xf800 0 0 7>; 221*4882a593Smuzhiyun interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 222*4882a593Smuzhiyun 0xc000 0 0 2 &mpc5200_pic 0 0 3 223*4882a593Smuzhiyun 0xc000 0 0 3 &mpc5200_pic 0 0 3 224*4882a593Smuzhiyun 0xc000 0 0 4 &mpc5200_pic 0 0 3>; 225*4882a593Smuzhiyun clock-frequency = <0>; // From boot loader 226*4882a593Smuzhiyun interrupts = <2 8 0 2 9 0 2 10 0>; 227*4882a593Smuzhiyun bus-range = <0 0>; 228*4882a593Smuzhiyun ranges = <0x42000000 0 0x80000000 0x80000000 0 0x10000000 229*4882a593Smuzhiyun 0x02000000 0 0x90000000 0x90000000 0 0x10000000 230*4882a593Smuzhiyun 0x01000000 0 0x00000000 0xa0000000 0 0x01000000>; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun}; 233