1/* 2 * Copyright (C) 2011 Picochip, Jamie Iles 3 * 4 * This software is licensed under the terms of the GNU General Public 5 * License version 2, as published by the Free Software Foundation, and 6 * may be copied, distributed, and modified under those terms. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 */ 13/include/ "skeleton.dtsi" 14/ { 15 model = "Picochip picoXcell PC3X2"; 16 compatible = "picochip,pc3x2"; 17 #address-cells = <1>; 18 #size-cells = <1>; 19 20 cpus { 21 #address-cells = <1>; 22 #size-cells = <0>; 23 24 cpu@0 { 25 compatible = "arm,1176jz-s"; 26 clock-frequency = <400000000>; 27 reg = <0>; 28 d-cache-line-size = <32>; 29 d-cache-size = <32768>; 30 i-cache-line-size = <32>; 31 i-cache-size = <32768>; 32 }; 33 }; 34 35 clocks { 36 #address-cells = <1>; 37 #size-cells = <1>; 38 ranges; 39 40 pclk: clock@0 { 41 compatible = "fixed-clock"; 42 clock-outputs = "bus", "pclk"; 43 clock-frequency = <200000000>; 44 ref-clock = <&ref_clk>, "ref"; 45 }; 46 }; 47 48 paxi { 49 compatible = "simple-bus"; 50 #address-cells = <1>; 51 #size-cells = <1>; 52 ranges = <0 0x80000000 0x400000>; 53 54 emac: gem@30000 { 55 compatible = "cadence,gem"; 56 reg = <0x30000 0x10000>; 57 interrupts = <31>; 58 }; 59 60 dmac1: dmac@40000 { 61 compatible = "snps,dw-dmac"; 62 reg = <0x40000 0x10000>; 63 interrupts = <25>; 64 }; 65 66 dmac2: dmac@50000 { 67 compatible = "snps,dw-dmac"; 68 reg = <0x50000 0x10000>; 69 interrupts = <26>; 70 }; 71 72 vic0: interrupt-controller@60000 { 73 compatible = "arm,pl192-vic"; 74 interrupt-controller; 75 reg = <0x60000 0x1000>; 76 #interrupt-cells = <1>; 77 }; 78 79 vic1: interrupt-controller@64000 { 80 compatible = "arm,pl192-vic"; 81 interrupt-controller; 82 reg = <0x64000 0x1000>; 83 #interrupt-cells = <1>; 84 }; 85 86 fuse: picoxcell-fuse@80000 { 87 compatible = "picoxcell,fuse-pc3x2"; 88 reg = <0x80000 0x10000>; 89 }; 90 91 ssi: picoxcell-spi@90000 { 92 compatible = "picoxcell,spi"; 93 reg = <0x90000 0x10000>; 94 interrupt-parent = <&vic0>; 95 interrupts = <10>; 96 }; 97 98 ipsec: spacc@100000 { 99 compatible = "picochip,spacc-ipsec"; 100 reg = <0x100000 0x10000>; 101 interrupt-parent = <&vic0>; 102 interrupts = <24>; 103 ref-clock = <&pclk>, "ref"; 104 }; 105 106 srtp: spacc@140000 { 107 compatible = "picochip,spacc-srtp"; 108 reg = <0x140000 0x10000>; 109 interrupt-parent = <&vic0>; 110 interrupts = <23>; 111 }; 112 113 l2_engine: spacc@180000 { 114 compatible = "picochip,spacc-l2"; 115 reg = <0x180000 0x10000>; 116 interrupt-parent = <&vic0>; 117 interrupts = <22>; 118 ref-clock = <&pclk>, "ref"; 119 }; 120 121 apb { 122 compatible = "simple-bus"; 123 #address-cells = <1>; 124 #size-cells = <1>; 125 ranges = <0 0x200000 0x80000>; 126 127 rtc0: rtc@00000 { 128 compatible = "picochip,pc3x2-rtc"; 129 clock-freq = <200000000>; 130 reg = <0x00000 0xf>; 131 interrupt-parent = <&vic1>; 132 interrupts = <8>; 133 }; 134 135 timer0: timer@10000 { 136 compatible = "picochip,pc3x2-timer"; 137 interrupt-parent = <&vic0>; 138 interrupts = <4>; 139 clock-freq = <200000000>; 140 reg = <0x10000 0x14>; 141 }; 142 143 timer1: timer@10014 { 144 compatible = "picochip,pc3x2-timer"; 145 interrupt-parent = <&vic0>; 146 interrupts = <5>; 147 clock-freq = <200000000>; 148 reg = <0x10014 0x14>; 149 }; 150 151 timer2: timer@10028 { 152 compatible = "picochip,pc3x2-timer"; 153 interrupt-parent = <&vic0>; 154 interrupts = <6>; 155 clock-freq = <200000000>; 156 reg = <0x10028 0x14>; 157 }; 158 159 timer3: timer@1003c { 160 compatible = "picochip,pc3x2-timer"; 161 interrupt-parent = <&vic0>; 162 interrupts = <7>; 163 clock-freq = <200000000>; 164 reg = <0x1003c 0x14>; 165 }; 166 167 gpio: gpio@20000 { 168 compatible = "snps,dw-apb-gpio"; 169 reg = <0x20000 0x1000>; 170 #address-cells = <1>; 171 #size-cells = <0>; 172 reg-io-width = <4>; 173 174 banka: gpio-controller@0 { 175 compatible = "snps,dw-apb-gpio-bank"; 176 gpio-controller; 177 #gpio-cells = <2>; 178 gpio-generic,nr-gpio = <8>; 179 180 regoffset-dat = <0x50>; 181 regoffset-set = <0x00>; 182 regoffset-dirout = <0x04>; 183 }; 184 185 bankb: gpio-controller@1 { 186 compatible = "snps,dw-apb-gpio-bank"; 187 gpio-controller; 188 #gpio-cells = <2>; 189 gpio-generic,nr-gpio = <8>; 190 191 regoffset-dat = <0x54>; 192 regoffset-set = <0x0c>; 193 regoffset-dirout = <0x10>; 194 }; 195 }; 196 197 uart0: uart@30000 { 198 compatible = "snps,dw-apb-uart"; 199 reg = <0x30000 0x1000>; 200 interrupt-parent = <&vic1>; 201 interrupts = <10>; 202 clock-frequency = <3686400>; 203 reg-shift = <2>; 204 reg-io-width = <4>; 205 }; 206 207 uart1: uart@40000 { 208 compatible = "snps,dw-apb-uart"; 209 reg = <0x40000 0x1000>; 210 interrupt-parent = <&vic1>; 211 interrupts = <9>; 212 clock-frequency = <3686400>; 213 reg-shift = <2>; 214 reg-io-width = <4>; 215 }; 216 217 wdog: watchdog@50000 { 218 compatible = "snps,dw-apb-wdg"; 219 reg = <0x50000 0x10000>; 220 interrupt-parent = <&vic0>; 221 interrupts = <11>; 222 bus-clock = <&pclk>, "bus"; 223 }; 224 }; 225 }; 226 227 rwid-axi { 228 #address-cells = <1>; 229 #size-cells = <1>; 230 compatible = "simple-bus"; 231 ranges; 232 233 ebi@50000000 { 234 compatible = "simple-bus"; 235 #address-cells = <2>; 236 #size-cells = <1>; 237 ranges = <0 0 0x40000000 0x08000000 238 1 0 0x48000000 0x08000000 239 2 0 0x50000000 0x08000000 240 3 0 0x58000000 0x08000000>; 241 }; 242 243 axi2pico@c0000000 { 244 compatible = "picochip,axi2pico-pc3x2"; 245 reg = <0xc0000000 0x10000>; 246 interrupts = <13 14 15 16 17 18 19 20 21>; 247 }; 248 }; 249}; 250