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