mpc8349emitx.dts 7.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
/*
 * MPC8349E-mITX Device Tree Source
 *
 * Copyright 2006 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 */
11 12 13

/dts-v1/;

14 15
/ {
	model = "MPC8349EMITX";
16
	compatible = "MPC8349EMITX", "MPC834xMITX", "MPC83xxMITX";
17 18 19
	#address-cells = <1>;
	#size-cells = <1>;

20 21 22 23 24 25 26 27 28
	aliases {
		ethernet0 = &enet0;
		ethernet1 = &enet1;
		serial0 = &serial0;
		serial1 = &serial1;
		pci0 = &pci0;
		pci1 = &pci1;
	};

29 30 31 32 33 34
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8349@0 {
			device_type = "cpu";
35 36 37 38 39
			reg = <0x0>;
			d-cache-line-size = <32>;
			i-cache-line-size = <32>;
			d-cache-size = <32768>;
			i-cache-size = <32768>;
40 41 42 43 44 45 46 47
			timebase-frequency = <0>;	// from bootloader
			bus-frequency = <0>;		// from bootloader
			clock-frequency = <0>;		// from bootloader
		};
	};

	memory {
		device_type = "memory";
48
		reg = <0x00000000 0x10000000>;
49 50 51 52 53 54
	};

	soc8349@e0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
55
		compatible = "simple-bus";
56 57
		ranges = <0x0 0xe0000000 0x00100000>;
		reg = <0xe0000000 0x00000200>;
58 59 60 61 62
		bus-frequency = <0>;                    // from bootloader

		wdt@200 {
			device_type = "watchdog";
			compatible = "mpc83xx_wdt";
63
			reg = <0x200 0x100>;
64 65 66
		};

		i2c@3000 {
67 68 69
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
70
			compatible = "fsl-i2c";
71 72 73
			reg = <0x3000 0x100>;
			interrupts = <14 0x8>;
			interrupt-parent = <&ipic>;
74 75 76 77
			dfsrr;
		};

		i2c@3100 {
78 79 80
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <1>;
81
			compatible = "fsl-i2c";
82 83 84
			reg = <0x3100 0x100>;
			interrupts = <15 0x8>;
			interrupt-parent = <&ipic>;
85 86 87 88
			dfsrr;
		};

		spi@7000 {
89 90
			cell-index = <0>;
			compatible = "fsl,spi";
91 92 93
			reg = <0x7000 0x1000>;
			interrupts = <16 0x8>;
			interrupt-parent = <&ipic>;
94
			mode = "cpu";
95 96
		};

97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
		dma@82a8 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
			reg = <0x82a8 4>;
			ranges = <0 0x8100 0x1a8>;
			interrupt-parent = <&ipic>;
			interrupts = <71 8>;
			cell-index = <0>;
			dma-channel@0 {
				compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
				reg = <0 0x80>;
				interrupt-parent = <&ipic>;
				interrupts = <71 8>;
			};
			dma-channel@80 {
				compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
				reg = <0x80 0x80>;
				interrupt-parent = <&ipic>;
				interrupts = <71 8>;
			};
			dma-channel@100 {
				compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
				reg = <0x100 0x80>;
				interrupt-parent = <&ipic>;
				interrupts = <71 8>;
			};
			dma-channel@180 {
				compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
				reg = <0x180 0x28>;
				interrupt-parent = <&ipic>;
				interrupts = <71 8>;
			};
		};

132 133
		usb@22000 {
			compatible = "fsl-usb2-mph";
134
			reg = <0x22000 0x1000>;
135 136
			#address-cells = <1>;
			#size-cells = <0>;
137 138
			interrupt-parent = <&ipic>;
			interrupts = <39 0x8>;
139 140 141 142 143 144
			phy_type = "ulpi";
			port1;
		};

		usb@23000 {
			compatible = "fsl-usb2-dr";
145
			reg = <0x23000 0x1000>;
146 147
			#address-cells = <1>;
			#size-cells = <0>;
148 149
			interrupt-parent = <&ipic>;
			interrupts = <38 0x8>;
150
			dr_mode = "peripheral";
151 152 153 154 155 156
			phy_type = "ulpi";
		};

		mdio@24520 {
			#address-cells = <1>;
			#size-cells = <0>;
157
			compatible = "fsl,gianfar-mdio";
158
			reg = <0x24520 0x20>;
159 160

			/* Vitesse 8201 */
161
			phy1c: ethernet-phy@1c {
162 163 164
				interrupt-parent = <&ipic>;
				interrupts = <18 0x8>;
				reg = <0x1c>;
165 166 167 168
				device_type = "ethernet-phy";
			};
		};

169 170
		enet0: ethernet@24000 {
			cell-index = <0>;
171 172 173
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
174
			reg = <0x24000 0x1000>;
175
			local-mac-address = [ 00 00 00 00 00 00 ];
176 177 178
			interrupts = <32 0x8 33 0x8 34 0x8>;
			interrupt-parent = <&ipic>;
			phy-handle = <&phy1c>;
179
			linux,network-index = <0>;
180 181
		};

182 183
		enet1: ethernet@25000 {
			cell-index = <1>;
184 185 186
			device_type = "network";
			model = "TSEC";
			compatible = "gianfar";
187
			reg = <0x25000 0x1000>;
188
			local-mac-address = [ 00 00 00 00 00 00 ];
189 190
			interrupts = <35 0x8 36 0x8 37 0x8>;
			interrupt-parent = <&ipic>;
191
			/* Vitesse 7385 isn't on the MDIO bus */
192
			fixed-link = <1 1 1000 0 0>;
193
			linux,network-index = <1>;
194 195
		};

196 197
		serial0: serial@4500 {
			cell-index = <0>;
198 199
			device_type = "serial";
			compatible = "ns16550";
200
			reg = <0x4500 0x100>;
201
			clock-frequency = <0>;		// from bootloader
202 203
			interrupts = <9 0x8>;
			interrupt-parent = <&ipic>;
204 205
		};

206 207
		serial1: serial@4600 {
			cell-index = <1>;
208 209
			device_type = "serial";
			compatible = "ns16550";
210
			reg = <0x4600 0x100>;
211
			clock-frequency = <0>;		// from bootloader
212 213
			interrupts = <10 0x8>;
			interrupt-parent = <&ipic>;
214 215 216
		};

		crypto@30000 {
217
			compatible = "fsl,sec2.0";
218 219 220
			reg = <0x30000 0x10000>;
			interrupts = <11 0x8>;
			interrupt-parent = <&ipic>;
221 222 223 224
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0x7e>;
			fsl,descriptor-types-mask = <0x01010ebf>;
225 226
		};

227
		ipic: pic@700 {
228 229 230
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <2>;
231
			reg = <0x700 0x100>;
232 233 234
			device_type = "ipic";
		};
	};
235

236 237
	pci0: pci@e0008500 {
		cell-index = <1>;
238
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
239 240
		interrupt-map = <
				/* IDSEL 0x10 - SATA */
241
				0x8000 0x0 0x0 0x1 &ipic 22 0x8 /* SATA_INTA */
242
				>;
243 244 245 246 247 248 249
		interrupt-parent = <&ipic>;
		interrupts = <66 0x8>;
		bus-range = <0x0 0x0>;
		ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
			  0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
			  0x01000000 0x0 0x00000000 0xe2000000 0x0 0x01000000>;
		clock-frequency = <66666666>;
250 251 252
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
253
		reg = <0xe0008500 0x100>;
254 255 256 257
		compatible = "fsl,mpc8349-pci";
		device_type = "pci";
	};

258 259
	pci1: pci@e0008600 {
		cell-index = <2>;
260
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
261 262
		interrupt-map = <
				/* IDSEL 0x0E - MiniPCI Slot */
263
				0x7000 0x0 0x0 0x1 &ipic 21 0x8 /* PCI_INTA */
264 265

				/* IDSEL 0x0F - PCI Slot */
266 267 268 269 270 271 272 273 274 275
				0x7800 0x0 0x0 0x1 &ipic 20 0x8 /* PCI_INTA */
				0x7800 0x0 0x0 0x2 &ipic 21 0x8 /* PCI_INTB */
				>;
		interrupt-parent = <&ipic>;
		interrupts = <67 0x8>;
		bus-range = <0x0 0x0>;
		ranges = <0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
			  0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
			  0x01000000 0x0 0x00000000 0xe3000000 0x0 0x01000000>;
		clock-frequency = <66666666>;
276 277 278
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
279
		reg = <0xe0008600 0x100>;
280 281 282 283
		compatible = "fsl,mpc8349-pci";
		device_type = "pci";
	};

284 285 286 287 288
	localbus@e0005000 {
		#address-cells = <2>;
		#size-cells = <1>;
		compatible = "fsl,mpc8349e-localbus",
			     "fsl,pq2pro-localbus";
289 290
		reg = <0xe0005000 0xd8>;
		ranges = <0x3 0x0 0xf0000000 0x210>;
291

292 293
		pata@3,0 {
			compatible = "fsl,mpc8349emitx-pata", "ata-generic";
294
			reg = <0x3 0x0 0x10 0x3 0x20c 0x4>;
295 296
			reg-shift = <1>;
			pio-mode = <6>;
297
			interrupts = <23 0x8>;
298 299 300
			interrupt-parent = <&ipic>;
		};
	};
301
};