0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Analogue & Micro ASP8347 Device Tree Source
0004 *
0005 * Copyright 2008 Codehermit
0006 */
0007
0008 /dts-v1/;
0009
0010 / {
0011 model = "Analogue & Micro ASP8347E";
0012 compatible = "analogue-and-micro,asp8347e";
0013 #address-cells = <1>;
0014 #size-cells = <1>;
0015
0016 aliases {
0017 ethernet0 = &enet0;
0018 ethernet1 = &enet1;
0019 serial0 = &serial0;
0020 serial1 = &serial1;
0021 };
0022
0023 cpus {
0024 #address-cells = <1>;
0025 #size-cells = <0>;
0026
0027 PowerPC,8347@0 {
0028 device_type = "cpu";
0029 reg = <0x0>;
0030 d-cache-line-size = <32>;
0031 i-cache-line-size = <32>;
0032 d-cache-size = <32768>;
0033 i-cache-size = <32768>;
0034 timebase-frequency = <0>; // from bootloader
0035 bus-frequency = <0>; // from bootloader
0036 clock-frequency = <0>; // from bootloader
0037 };
0038 };
0039
0040 memory {
0041 device_type = "memory";
0042 reg = <0x00000000 0x8000000>; // 128MB at 0
0043 };
0044
0045 localbus@ff005000 {
0046 #address-cells = <2>;
0047 #size-cells = <1>;
0048 compatible = "fsl,mpc8347e-localbus",
0049 "fsl,pq2pro-localbus",
0050 "simple-bus";
0051 reg = <0xff005000 0x1000>;
0052 interrupts = <77 0x8>;
0053 interrupt-parent = <&ipic>;
0054
0055 ranges = <
0056 0 0 0xf0000000 0x02000000
0057 >;
0058
0059 flash@0,0 {
0060 compatible = "cfi-flash";
0061 reg = <0 0 0x02000000>;
0062 bank-width = <2>;
0063 device-width = <2>;
0064 };
0065 };
0066
0067 soc8349@ff000000 {
0068 #address-cells = <1>;
0069 #size-cells = <1>;
0070 device_type = "soc";
0071 ranges = <0x0 0xff000000 0x00100000>;
0072 reg = <0xff000000 0x00000200>;
0073 bus-frequency = <0>;
0074
0075 wdt@200 {
0076 device_type = "watchdog";
0077 compatible = "mpc83xx_wdt";
0078 reg = <0x200 0x100>;
0079 };
0080
0081 i2c@3000 {
0082 #address-cells = <1>;
0083 #size-cells = <0>;
0084 cell-index = <0>;
0085 compatible = "fsl-i2c";
0086 reg = <0x3000 0x100>;
0087 interrupts = <14 0x8>;
0088 interrupt-parent = <&ipic>;
0089 dfsrr;
0090
0091 rtc@68 {
0092 compatible = "dallas,ds1374";
0093 reg = <0x68>;
0094 };
0095 };
0096
0097 i2c@3100 {
0098 #address-cells = <1>;
0099 #size-cells = <0>;
0100 cell-index = <1>;
0101 compatible = "fsl-i2c";
0102 reg = <0x3100 0x100>;
0103 interrupts = <15 0x8>;
0104 interrupt-parent = <&ipic>;
0105 dfsrr;
0106 };
0107
0108 spi@7000 {
0109 cell-index = <0>;
0110 compatible = "fsl,spi";
0111 reg = <0x7000 0x1000>;
0112 interrupts = <16 0x8>;
0113 interrupt-parent = <&ipic>;
0114 mode = "cpu";
0115 };
0116
0117 dma@82a8 {
0118 #address-cells = <1>;
0119 #size-cells = <1>;
0120 compatible = "fsl,mpc8347-dma", "fsl,elo-dma";
0121 reg = <0x82a8 4>;
0122 ranges = <0 0x8100 0x1a8>;
0123 interrupt-parent = <&ipic>;
0124 interrupts = <71 8>;
0125 cell-index = <0>;
0126 dma-channel@0 {
0127 compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
0128 reg = <0 0x80>;
0129 cell-index = <0>;
0130 interrupt-parent = <&ipic>;
0131 interrupts = <71 8>;
0132 };
0133 dma-channel@80 {
0134 compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
0135 reg = <0x80 0x80>;
0136 cell-index = <1>;
0137 interrupt-parent = <&ipic>;
0138 interrupts = <71 8>;
0139 };
0140 dma-channel@100 {
0141 compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
0142 reg = <0x100 0x80>;
0143 cell-index = <2>;
0144 interrupt-parent = <&ipic>;
0145 interrupts = <71 8>;
0146 };
0147 dma-channel@180 {
0148 compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel";
0149 reg = <0x180 0x28>;
0150 cell-index = <3>;
0151 interrupt-parent = <&ipic>;
0152 interrupts = <71 8>;
0153 };
0154 };
0155
0156 /* phy type (ULPI or SERIAL) are only types supported for MPH */
0157 /* port = 0 or 1 */
0158 usb@22000 {
0159 compatible = "fsl-usb2-mph";
0160 reg = <0x22000 0x1000>;
0161 #address-cells = <1>;
0162 #size-cells = <0>;
0163 interrupt-parent = <&ipic>;
0164 interrupts = <39 0x8>;
0165 phy_type = "ulpi";
0166 port0;
0167 };
0168 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
0169 usb@23000 {
0170 compatible = "fsl-usb2-dr";
0171 reg = <0x23000 0x1000>;
0172 #address-cells = <1>;
0173 #size-cells = <0>;
0174 interrupt-parent = <&ipic>;
0175 interrupts = <38 0x8>;
0176 dr_mode = "otg";
0177 phy_type = "ulpi";
0178 };
0179
0180 enet0: ethernet@24000 {
0181 #address-cells = <1>;
0182 #size-cells = <1>;
0183 cell-index = <0>;
0184 device_type = "network";
0185 model = "TSEC";
0186 compatible = "gianfar";
0187 reg = <0x24000 0x1000>;
0188 ranges = <0x0 0x24000 0x1000>;
0189 local-mac-address = [ 00 08 e5 11 32 33 ];
0190 interrupts = <32 0x8 33 0x8 34 0x8>;
0191 interrupt-parent = <&ipic>;
0192 tbi-handle = <&tbi0>;
0193 phy-handle = <&phy0>;
0194 linux,network-index = <0>;
0195
0196 mdio@520 {
0197 #address-cells = <1>;
0198 #size-cells = <0>;
0199 compatible = "fsl,gianfar-mdio";
0200 reg = <0x520 0x20>;
0201
0202 phy0: ethernet-phy@0 {
0203 interrupt-parent = <&ipic>;
0204 interrupts = <17 0x8>;
0205 reg = <0x1>;
0206 };
0207
0208 phy1: ethernet-phy@1 {
0209 interrupt-parent = <&ipic>;
0210 interrupts = <18 0x8>;
0211 reg = <0x2>;
0212 };
0213
0214 tbi0: tbi-phy@11 {
0215 reg = <0x11>;
0216 device_type = "tbi-phy";
0217 };
0218 };
0219 };
0220
0221 enet1: ethernet@25000 {
0222 #address-cells = <1>;
0223 #size-cells = <1>;
0224 cell-index = <1>;
0225 device_type = "network";
0226 model = "TSEC";
0227 compatible = "gianfar";
0228 reg = <0x25000 0x1000>;
0229 ranges = <0x0 0x25000 0x1000>;
0230 local-mac-address = [ 00 08 e5 11 32 34 ];
0231 interrupts = <35 0x8 36 0x8 37 0x8>;
0232 interrupt-parent = <&ipic>;
0233 tbi-handle = <&tbi1>;
0234 phy-handle = <&phy1>;
0235 linux,network-index = <1>;
0236
0237 mdio@520 {
0238 #address-cells = <1>;
0239 #size-cells = <0>;
0240 compatible = "fsl,gianfar-tbi";
0241 reg = <0x520 0x20>;
0242
0243 tbi1: tbi-phy@11 {
0244 reg = <0x11>;
0245 device_type = "tbi-phy";
0246 };
0247 };
0248 };
0249
0250 serial0: serial@4500 {
0251 cell-index = <0>;
0252 device_type = "serial";
0253 compatible = "fsl,ns16550", "ns16550";
0254 reg = <0x4500 0x100>;
0255 clock-frequency = <400000000>;
0256 interrupts = <9 0x8>;
0257 interrupt-parent = <&ipic>;
0258 };
0259
0260 serial1: serial@4600 {
0261 cell-index = <1>;
0262 device_type = "serial";
0263 compatible = "fsl,ns16550", "ns16550";
0264 reg = <0x4600 0x100>;
0265 clock-frequency = <400000000>;
0266 interrupts = <10 0x8>;
0267 interrupt-parent = <&ipic>;
0268 };
0269
0270 /* May need to remove if on a part without crypto engine */
0271 crypto@30000 {
0272 device_type = "crypto";
0273 model = "SEC2";
0274 compatible = "talitos";
0275 reg = <0x30000 0x10000>;
0276 interrupts = <11 0x8>;
0277 interrupt-parent = <&ipic>;
0278 num-channels = <4>;
0279 channel-fifo-len = <24>;
0280 exec-units-mask = <0x0000007e>;
0281 /* desc mask is for rev2.0,
0282 * we need runtime fixup for >2.0 */
0283 descriptor-types-mask = <0x01010ebf>;
0284 };
0285
0286 /* IPIC
0287 * interrupts cell = <intr #, sense>
0288 * sense values match linux IORESOURCE_IRQ_* defines:
0289 * sense == 8: Level, low assertion
0290 * sense == 2: Edge, high-to-low change
0291 */
0292 ipic: pic@700 {
0293 interrupt-controller;
0294 #address-cells = <0>;
0295 #interrupt-cells = <2>;
0296 reg = <0x700 0x100>;
0297 device_type = "ipic";
0298 };
0299 };
0300
0301 chosen {
0302 bootargs = "console=ttyS0,38400 root=/dev/mtdblock3 rootfstype=jffs2";
0303 stdout-path = &serial0;
0304 };
0305
0306 };