123308c54SMichael Barkowski/*
223308c54SMichael Barkowski * MPC832x RDB Device Tree Source
323308c54SMichael Barkowski *
423308c54SMichael Barkowski * Copyright 2007 Freescale Semiconductor Inc.
523308c54SMichael Barkowski *
623308c54SMichael Barkowski * This program is free software; you can redistribute  it and/or modify it
723308c54SMichael Barkowski * under  the terms of  the GNU General  Public License as published by the
823308c54SMichael Barkowski * Free Software Foundation;  either version 2 of the  License, or (at your
923308c54SMichael Barkowski * option) any later version.
1023308c54SMichael Barkowski */
1123308c54SMichael Barkowski
1223308c54SMichael Barkowski/ {
1323308c54SMichael Barkowski	model = "MPC8323ERDB";
1423308c54SMichael Barkowski	compatible = "MPC8323ERDB", "MPC832xRDB", "MPC83xxRDB";
1523308c54SMichael Barkowski	#address-cells = <1>;
1623308c54SMichael Barkowski	#size-cells = <1>;
1723308c54SMichael Barkowski
1823308c54SMichael Barkowski	cpus {
1923308c54SMichael Barkowski		#address-cells = <1>;
2023308c54SMichael Barkowski		#size-cells = <0>;
2123308c54SMichael Barkowski
2223308c54SMichael Barkowski		PowerPC,8323@0 {
2323308c54SMichael Barkowski			device_type = "cpu";
2423308c54SMichael Barkowski			reg = <0>;
2523308c54SMichael Barkowski			d-cache-line-size = <20>;	// 32 bytes
2623308c54SMichael Barkowski			i-cache-line-size = <20>;	// 32 bytes
2723308c54SMichael Barkowski			d-cache-size = <4000>;		// L1, 16K
2823308c54SMichael Barkowski			i-cache-size = <4000>;		// L1, 16K
2923308c54SMichael Barkowski			timebase-frequency = <0>;
3023308c54SMichael Barkowski			bus-frequency = <0>;
3123308c54SMichael Barkowski			clock-frequency = <0>;
3223308c54SMichael Barkowski			32-bit;
3323308c54SMichael Barkowski		};
3423308c54SMichael Barkowski	};
3523308c54SMichael Barkowski
3623308c54SMichael Barkowski	memory {
3723308c54SMichael Barkowski		device_type = "memory";
3823308c54SMichael Barkowski		reg = <00000000 04000000>;
3923308c54SMichael Barkowski	};
4023308c54SMichael Barkowski
4123308c54SMichael Barkowski	soc8323@e0000000 {
4223308c54SMichael Barkowski		#address-cells = <1>;
4323308c54SMichael Barkowski		#size-cells = <1>;
4423308c54SMichael Barkowski		#interrupt-cells = <2>;
4523308c54SMichael Barkowski		device_type = "soc";
4623308c54SMichael Barkowski		ranges = <0 e0000000 00100000>;
4723308c54SMichael Barkowski		reg = <e0000000 00000200>;
4823308c54SMichael Barkowski		bus-frequency = <0>;
4923308c54SMichael Barkowski
5023308c54SMichael Barkowski		wdt@200 {
5123308c54SMichael Barkowski			device_type = "watchdog";
5223308c54SMichael Barkowski			compatible = "mpc83xx_wdt";
5323308c54SMichael Barkowski			reg = <200 100>;
5423308c54SMichael Barkowski		};
5523308c54SMichael Barkowski
5623308c54SMichael Barkowski		i2c@3000 {
5723308c54SMichael Barkowski			device_type = "i2c";
5823308c54SMichael Barkowski			compatible = "fsl-i2c";
5923308c54SMichael Barkowski			reg = <3000 100>;
6023308c54SMichael Barkowski			interrupts = <e 8>;
6123308c54SMichael Barkowski			interrupt-parent = <&pic>;
6223308c54SMichael Barkowski			dfsrr;
6323308c54SMichael Barkowski		};
6423308c54SMichael Barkowski
6523308c54SMichael Barkowski		serial@4500 {
6623308c54SMichael Barkowski			device_type = "serial";
6723308c54SMichael Barkowski			compatible = "ns16550";
6823308c54SMichael Barkowski			reg = <4500 100>;
6923308c54SMichael Barkowski			clock-frequency = <0>;
7023308c54SMichael Barkowski			interrupts = <9 8>;
7123308c54SMichael Barkowski			interrupt-parent = <&pic>;
7223308c54SMichael Barkowski		};
7323308c54SMichael Barkowski
7423308c54SMichael Barkowski		serial@4600 {
7523308c54SMichael Barkowski			device_type = "serial";
7623308c54SMichael Barkowski			compatible = "ns16550";
7723308c54SMichael Barkowski			reg = <4600 100>;
7823308c54SMichael Barkowski			clock-frequency = <0>;
7923308c54SMichael Barkowski			interrupts = <a 8>;
8023308c54SMichael Barkowski			interrupt-parent = <&pic>;
8123308c54SMichael Barkowski		};
8223308c54SMichael Barkowski
8323308c54SMichael Barkowski		crypto@30000 {
8423308c54SMichael Barkowski			device_type = "crypto";
8523308c54SMichael Barkowski			model = "SEC2";
8623308c54SMichael Barkowski			compatible = "talitos";
8723308c54SMichael Barkowski			reg = <30000 7000>;
8823308c54SMichael Barkowski			interrupts = <b 8>;
8923308c54SMichael Barkowski			interrupt-parent = <&pic>;
9023308c54SMichael Barkowski			/* Rev. 2.2 */
9123308c54SMichael Barkowski			num-channels = <1>;
9223308c54SMichael Barkowski			channel-fifo-len = <18>;
9323308c54SMichael Barkowski			exec-units-mask = <0000004c>;
9423308c54SMichael Barkowski			descriptor-types-mask = <0122003f>;
9523308c54SMichael Barkowski		};
9623308c54SMichael Barkowski
9723308c54SMichael Barkowski		pci@8500 {
9823308c54SMichael Barkowski			interrupt-map-mask = <f800 0 0 7>;
9923308c54SMichael Barkowski			interrupt-map = <
10023308c54SMichael Barkowski					/* IDSEL 0x10 AD16 (USB) */
10123308c54SMichael Barkowski					 8000 0 0 1 &pic 11 8
10223308c54SMichael Barkowski
10323308c54SMichael Barkowski					/* IDSEL 0x11 AD17 (Mini1)*/
10423308c54SMichael Barkowski					 8800 0 0 1 &pic 12 8
10523308c54SMichael Barkowski					 8800 0 0 2 &pic 13 8
10623308c54SMichael Barkowski					 8800 0 0 3 &pic 14 8
10723308c54SMichael Barkowski					 8800 0 0 4 &pic 30 8
10823308c54SMichael Barkowski
10923308c54SMichael Barkowski					/* IDSEL 0x12 AD18 (PCI/Mini2) */
11023308c54SMichael Barkowski					 9000 0 0 1 &pic 13 8
11123308c54SMichael Barkowski					 9000 0 0 2 &pic 14 8
11223308c54SMichael Barkowski					 9000 0 0 3 &pic 30 8
11323308c54SMichael Barkowski					 9000 0 0 4 &pic 11 8>;
11423308c54SMichael Barkowski
11523308c54SMichael Barkowski			interrupt-parent = <&pic>;
11623308c54SMichael Barkowski			interrupts = <42 8>;
11723308c54SMichael Barkowski			bus-range = <0 0>;
11823308c54SMichael Barkowski			ranges = <42000000 0 80000000 80000000 0 10000000
11923308c54SMichael Barkowski			          02000000 0 90000000 90000000 0 10000000
12023308c54SMichael Barkowski			          01000000 0 d0000000 d0000000 0 04000000>;
12123308c54SMichael Barkowski			clock-frequency = <0>;
12223308c54SMichael Barkowski			#interrupt-cells = <1>;
12323308c54SMichael Barkowski			#size-cells = <2>;
12423308c54SMichael Barkowski			#address-cells = <3>;
12523308c54SMichael Barkowski			reg = <8500 100>;
12623308c54SMichael Barkowski			compatible = "83xx";
12723308c54SMichael Barkowski			device_type = "pci";
12823308c54SMichael Barkowski		};
12923308c54SMichael Barkowski
13023308c54SMichael Barkowski		pic:pic@700 {
13123308c54SMichael Barkowski			interrupt-controller;
13223308c54SMichael Barkowski			#address-cells = <0>;
13323308c54SMichael Barkowski			#interrupt-cells = <2>;
13423308c54SMichael Barkowski			reg = <700 100>;
13523308c54SMichael Barkowski			built-in;
13623308c54SMichael Barkowski			device_type = "ipic";
13723308c54SMichael Barkowski		};
13823308c54SMichael Barkowski
13923308c54SMichael Barkowski		par_io@1400 {
14023308c54SMichael Barkowski			reg = <1400 100>;
14123308c54SMichael Barkowski			device_type = "par_io";
14223308c54SMichael Barkowski			num-ports = <7>;
14323308c54SMichael Barkowski
14423308c54SMichael Barkowski			ucc2pio:ucc_pin@02 {
14523308c54SMichael Barkowski				pio-map = <
14623308c54SMichael Barkowski			/* port  pin  dir  open_drain  assignment  has_irq */
14723308c54SMichael Barkowski					3  4  3  0  2  0 	/* MDIO */
14823308c54SMichael Barkowski					3  5  1  0  2  0 	/* MDC */
14923308c54SMichael Barkowski					3 15  2  0  1  0 	/* RX_CLK (CLK16) */
15023308c54SMichael Barkowski					3 17  2  0  1  0 	/* TX_CLK (CLK3) */
15123308c54SMichael Barkowski					0 12  1  0  1  0 	/* TxD0 */
15223308c54SMichael Barkowski					0 13  1  0  1  0 	/* TxD1 */
15323308c54SMichael Barkowski					0 14  1  0  1  0 	/* TxD2 */
15423308c54SMichael Barkowski					0 15  1  0  1  0 	/* TxD3 */
15523308c54SMichael Barkowski					0 16  2  0  1  0 	/* RxD0 */
15623308c54SMichael Barkowski					0 17  2  0  1  0 	/* RxD1 */
15723308c54SMichael Barkowski					0 18  2  0  1  0 	/* RxD2 */
15823308c54SMichael Barkowski					0 19  2  0  1  0 	/* RxD3 */
15923308c54SMichael Barkowski					0 1a  2  0  1  0 	/* RX_ER */
16023308c54SMichael Barkowski					0 1b  1  0  1  0 	/* TX_ER */
16123308c54SMichael Barkowski					0 1c  2  0  1  0 	/* RX_DV */
16223308c54SMichael Barkowski					0 1d  2  0  1  0 	/* COL */
16323308c54SMichael Barkowski					0 1e  1  0  1  0 	/* TX_EN */
16423308c54SMichael Barkowski					0 1f  2  0  1  0>;      /* CRS */
16523308c54SMichael Barkowski			};
16623308c54SMichael Barkowski			ucc3pio:ucc_pin@03 {
16723308c54SMichael Barkowski				pio-map = <
16823308c54SMichael Barkowski			/* port  pin  dir  open_drain  assignment  has_irq */
16923308c54SMichael Barkowski					0  d  2  0  1  0 	/* RX_CLK (CLK9) */
17023308c54SMichael Barkowski					3 18  2  0  1  0 	/* TX_CLK (CLK10) */
17123308c54SMichael Barkowski					1  0  1  0  1  0 	/* TxD0 */
17223308c54SMichael Barkowski					1  1  1  0  1  0 	/* TxD1 */
17323308c54SMichael Barkowski					1  2  1  0  1  0 	/* TxD2 */
17423308c54SMichael Barkowski					1  3  1  0  1  0 	/* TxD3 */
17523308c54SMichael Barkowski					1  4  2  0  1  0 	/* RxD0 */
17623308c54SMichael Barkowski					1  5  2  0  1  0 	/* RxD1 */
17723308c54SMichael Barkowski					1  6  2  0  1  0 	/* RxD2 */
17823308c54SMichael Barkowski					1  7  2  0  1  0 	/* RxD3 */
17923308c54SMichael Barkowski					1  8  2  0  1  0 	/* RX_ER */
18023308c54SMichael Barkowski					1  9  1  0  1  0 	/* TX_ER */
18123308c54SMichael Barkowski					1  a  2  0  1  0 	/* RX_DV */
18223308c54SMichael Barkowski					1  b  2  0  1  0 	/* COL */
18323308c54SMichael Barkowski					1  c  1  0  1  0 	/* TX_EN */
18423308c54SMichael Barkowski					1  d  2  0  1  0>;      /* CRS */
18523308c54SMichael Barkowski			};
18623308c54SMichael Barkowski		};
18723308c54SMichael Barkowski	};
18823308c54SMichael Barkowski
18923308c54SMichael Barkowski	qe@e0100000 {
19023308c54SMichael Barkowski		#address-cells = <1>;
19123308c54SMichael Barkowski		#size-cells = <1>;
19223308c54SMichael Barkowski		device_type = "qe";
19323308c54SMichael Barkowski		model = "QE";
19423308c54SMichael Barkowski		ranges = <0 e0100000 00100000>;
19523308c54SMichael Barkowski		reg = <e0100000 480>;
19623308c54SMichael Barkowski		brg-frequency = <0>;
19723308c54SMichael Barkowski		bus-frequency = <BCD3D80>;
19823308c54SMichael Barkowski
19923308c54SMichael Barkowski		muram@10000 {
20023308c54SMichael Barkowski			device_type = "muram";
20123308c54SMichael Barkowski			ranges = <0 00010000 00004000>;
20223308c54SMichael Barkowski
20323308c54SMichael Barkowski			data-only@0 {
20423308c54SMichael Barkowski				reg = <0 4000>;
20523308c54SMichael Barkowski			};
20623308c54SMichael Barkowski		};
20723308c54SMichael Barkowski
20823308c54SMichael Barkowski		spi@4c0 {
20923308c54SMichael Barkowski			device_type = "spi";
21023308c54SMichael Barkowski			compatible = "fsl_spi";
21123308c54SMichael Barkowski			reg = <4c0 40>;
21223308c54SMichael Barkowski			interrupts = <2>;
21323308c54SMichael Barkowski			interrupt-parent = <&qeic>;
21423308c54SMichael Barkowski			mode = "cpu";
21523308c54SMichael Barkowski		};
21623308c54SMichael Barkowski
21723308c54SMichael Barkowski		spi@500 {
21823308c54SMichael Barkowski			device_type = "spi";
21923308c54SMichael Barkowski			compatible = "fsl_spi";
22023308c54SMichael Barkowski			reg = <500 40>;
22123308c54SMichael Barkowski			interrupts = <1>;
22223308c54SMichael Barkowski			interrupt-parent = <&qeic>;
22323308c54SMichael Barkowski			mode = "cpu";
22423308c54SMichael Barkowski		};
22523308c54SMichael Barkowski
22623308c54SMichael Barkowski		ucc@3000 {
22723308c54SMichael Barkowski			device_type = "network";
22823308c54SMichael Barkowski			compatible = "ucc_geth";
22923308c54SMichael Barkowski			model = "UCC";
23023308c54SMichael Barkowski			device-id = <2>;
23123308c54SMichael Barkowski			reg = <3000 200>;
23223308c54SMichael Barkowski			interrupts = <21>;
23323308c54SMichael Barkowski			interrupt-parent = <&qeic>;
23423308c54SMichael Barkowski			mac-address = [ 00 04 9f ef 03 02 ];
23523308c54SMichael Barkowski			rx-clock = <20>;
23623308c54SMichael Barkowski			tx-clock = <13>;
23723308c54SMichael Barkowski			phy-handle = <&phy00>;
23823308c54SMichael Barkowski			pio-handle = <&ucc2pio>;
23923308c54SMichael Barkowski		};
24023308c54SMichael Barkowski
24123308c54SMichael Barkowski		ucc@2200 {
24223308c54SMichael Barkowski			device_type = "network";
24323308c54SMichael Barkowski			compatible = "ucc_geth";
24423308c54SMichael Barkowski			model = "UCC";
24523308c54SMichael Barkowski			device-id = <3>;
24623308c54SMichael Barkowski			reg = <2200 200>;
24723308c54SMichael Barkowski			interrupts = <22>;
24823308c54SMichael Barkowski			interrupt-parent = <&qeic>;
24923308c54SMichael Barkowski			mac-address = [ 00 04 9f ef 03 01 ];
25023308c54SMichael Barkowski			rx-clock = <19>;
25123308c54SMichael Barkowski			tx-clock = <1a>;
25223308c54SMichael Barkowski			phy-handle = <&phy04>;
25323308c54SMichael Barkowski			pio-handle = <&ucc3pio>;
25423308c54SMichael Barkowski		};
25523308c54SMichael Barkowski
25623308c54SMichael Barkowski		mdio@3120 {
25723308c54SMichael Barkowski			#address-cells = <1>;
25823308c54SMichael Barkowski			#size-cells = <0>;
25923308c54SMichael Barkowski			reg = <3120 18>;
26023308c54SMichael Barkowski			device_type = "mdio";
26123308c54SMichael Barkowski			compatible = "ucc_geth_phy";
26223308c54SMichael Barkowski
26323308c54SMichael Barkowski			phy00:ethernet-phy@00 {
26423308c54SMichael Barkowski				interrupt-parent = <&pic>;
26523308c54SMichael Barkowski				interrupts = <0>;
26623308c54SMichael Barkowski				reg = <0>;
26723308c54SMichael Barkowski				device_type = "ethernet-phy";
26823308c54SMichael Barkowski				interface = <3>; //ENET_100_MII
26923308c54SMichael Barkowski			};
27023308c54SMichael Barkowski			phy04:ethernet-phy@04 {
27123308c54SMichael Barkowski				interrupt-parent = <&pic>;
27223308c54SMichael Barkowski				interrupts = <0>;
27323308c54SMichael Barkowski				reg = <4>;
27423308c54SMichael Barkowski				device_type = "ethernet-phy";
27523308c54SMichael Barkowski				interface = <3>;
27623308c54SMichael Barkowski			};
27723308c54SMichael Barkowski		};
27823308c54SMichael Barkowski
27923308c54SMichael Barkowski		qeic:qeic@80 {
28023308c54SMichael Barkowski			interrupt-controller;
28123308c54SMichael Barkowski			device_type = "qeic";
28223308c54SMichael Barkowski			#address-cells = <0>;
28323308c54SMichael Barkowski			#interrupt-cells = <1>;
28423308c54SMichael Barkowski			reg = <80 80>;
28523308c54SMichael Barkowski			built-in;
28623308c54SMichael Barkowski			big-endian;
28723308c54SMichael Barkowski			interrupts = <20 8 21 8>; //high:32 low:33
28823308c54SMichael Barkowski			interrupt-parent = <&pic>;
28923308c54SMichael Barkowski		};
29023308c54SMichael Barkowski	};
29123308c54SMichael Barkowski};
292