xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/adder875-redboot.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * Device Tree Source for MPC885 ADS running RedBoot
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2006 MontaVista Software, Inc.
6*c66ec88fSEmmanuel Vadot * Copyright 2007 Freescale Semiconductor, Inc.
7*c66ec88fSEmmanuel Vadot */
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot/dts-v1/;
10*c66ec88fSEmmanuel Vadot/ {
11*c66ec88fSEmmanuel Vadot	model = "Analogue & Micro Adder MPC875";
12*c66ec88fSEmmanuel Vadot	compatible = "analogue-and-micro,adder875";
13*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
14*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot	aliases {
17*c66ec88fSEmmanuel Vadot		console = &console;
18*c66ec88fSEmmanuel Vadot		ethernet0 = &eth0;
19*c66ec88fSEmmanuel Vadot		ethernet1 = &eth1;
20*c66ec88fSEmmanuel Vadot	};
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot	cpus {
23*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
24*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot		PowerPC,875@0 {
27*c66ec88fSEmmanuel Vadot			device_type = "cpu";
28*c66ec88fSEmmanuel Vadot			reg = <0>;
29*c66ec88fSEmmanuel Vadot			d-cache-line-size = <16>;
30*c66ec88fSEmmanuel Vadot			i-cache-line-size = <16>;
31*c66ec88fSEmmanuel Vadot			d-cache-size = <8192>;
32*c66ec88fSEmmanuel Vadot			i-cache-size = <8192>;
33*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;
34*c66ec88fSEmmanuel Vadot			bus-frequency = <0>;
35*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;
36*c66ec88fSEmmanuel Vadot			interrupts = <15 2>;	// decrementer interrupt
37*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
38*c66ec88fSEmmanuel Vadot		};
39*c66ec88fSEmmanuel Vadot	};
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot	memory {
42*c66ec88fSEmmanuel Vadot		device_type = "memory";
43*c66ec88fSEmmanuel Vadot		reg = <0 0x01000000>;
44*c66ec88fSEmmanuel Vadot	};
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot	localbus@fa200100 {
47*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus",
48*c66ec88fSEmmanuel Vadot		             "simple-bus";
49*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
50*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
51*c66ec88fSEmmanuel Vadot		reg = <0xfa200100 0x40>;
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot		ranges = <
54*c66ec88fSEmmanuel Vadot			0 0 0xfe000000 0x00800000
55*c66ec88fSEmmanuel Vadot			2 0 0xfa100000 0x00008000
56*c66ec88fSEmmanuel Vadot		>;
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot		flash@0,0 {
59*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
60*c66ec88fSEmmanuel Vadot			reg = <0 0 0x800000>;
61*c66ec88fSEmmanuel Vadot			bank-width = <2>;
62*c66ec88fSEmmanuel Vadot			device-width = <2>;
63*c66ec88fSEmmanuel Vadot		};
64*c66ec88fSEmmanuel Vadot	};
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot	soc@fa200000 {
67*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc875-immr", "fsl,pq1-soc", "simple-bus";
68*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
69*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
70*c66ec88fSEmmanuel Vadot		ranges = <0 0xfa200000 0x00004000>;
71*c66ec88fSEmmanuel Vadot
72*c66ec88fSEmmanuel Vadot		// Temporary until code stops depending on it.
73*c66ec88fSEmmanuel Vadot		device_type = "soc";
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel Vadot		// Temporary until get_immrbase() is fixed.
76*c66ec88fSEmmanuel Vadot		reg = <0xfa200000 0x4000>;
77*c66ec88fSEmmanuel Vadot
78*c66ec88fSEmmanuel Vadot		mdio@e00 {
79*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio";
80*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
81*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
82*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
83*c66ec88fSEmmanuel Vadot
84*c66ec88fSEmmanuel Vadot			PHY0: ethernet-phy@0 {
85*c66ec88fSEmmanuel Vadot				reg = <0>;
86*c66ec88fSEmmanuel Vadot			};
87*c66ec88fSEmmanuel Vadot
88*c66ec88fSEmmanuel Vadot			PHY1: ethernet-phy@1 {
89*c66ec88fSEmmanuel Vadot				reg = <1>;
90*c66ec88fSEmmanuel Vadot			};
91*c66ec88fSEmmanuel Vadot		};
92*c66ec88fSEmmanuel Vadot
93*c66ec88fSEmmanuel Vadot		eth0: ethernet@e00 {
94*c66ec88fSEmmanuel Vadot			device_type = "network";
95*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-enet",
96*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
97*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
98*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
99*c66ec88fSEmmanuel Vadot			interrupts = <3 1>;
100*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
101*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY0>;
102*c66ec88fSEmmanuel Vadot			linux,network-index = <0>;
103*c66ec88fSEmmanuel Vadot		};
104*c66ec88fSEmmanuel Vadot
105*c66ec88fSEmmanuel Vadot		eth1: ethernet@1e00 {
106*c66ec88fSEmmanuel Vadot			device_type = "network";
107*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-enet",
108*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
109*c66ec88fSEmmanuel Vadot			reg = <0x1e00 0x188>;
110*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
111*c66ec88fSEmmanuel Vadot			interrupts = <7 1>;
112*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
113*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY1>;
114*c66ec88fSEmmanuel Vadot			linux,network-index = <1>;
115*c66ec88fSEmmanuel Vadot		};
116*c66ec88fSEmmanuel Vadot
117*c66ec88fSEmmanuel Vadot		PIC: interrupt-controller@0 {
118*c66ec88fSEmmanuel Vadot			interrupt-controller;
119*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
120*c66ec88fSEmmanuel Vadot			reg = <0 0x24>;
121*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-pic", "fsl,pq1-pic";
122*c66ec88fSEmmanuel Vadot		};
123*c66ec88fSEmmanuel Vadot
124*c66ec88fSEmmanuel Vadot		cpm@9c0 {
125*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
126*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
127*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-cpm", "fsl,cpm1", "simple-bus";
128*c66ec88fSEmmanuel Vadot			interrupts = <0>;	// cpm error interrupt
129*c66ec88fSEmmanuel Vadot			interrupt-parent = <&CPM_PIC>;
130*c66ec88fSEmmanuel Vadot			reg = <0x9c0 0x40>;
131*c66ec88fSEmmanuel Vadot			ranges;
132*c66ec88fSEmmanuel Vadot
133*c66ec88fSEmmanuel Vadot			muram {
134*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
135*c66ec88fSEmmanuel Vadot				#size-cells = <1>;
136*c66ec88fSEmmanuel Vadot				ranges = <0 0x2000 0x2000>;
137*c66ec88fSEmmanuel Vadot
138*c66ec88fSEmmanuel Vadot				data@0 {
139*c66ec88fSEmmanuel Vadot					compatible = "fsl,cpm-muram-data";
140*c66ec88fSEmmanuel Vadot					reg = <0 0x1c00>;
141*c66ec88fSEmmanuel Vadot				};
142*c66ec88fSEmmanuel Vadot			};
143*c66ec88fSEmmanuel Vadot
144*c66ec88fSEmmanuel Vadot			brg@9f0 {
145*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-brg",
146*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-brg",
147*c66ec88fSEmmanuel Vadot				             "fsl,cpm-brg";
148*c66ec88fSEmmanuel Vadot				clock-frequency = <50000000>;
149*c66ec88fSEmmanuel Vadot				reg = <0x9f0 0x10>;
150*c66ec88fSEmmanuel Vadot			};
151*c66ec88fSEmmanuel Vadot
152*c66ec88fSEmmanuel Vadot			CPM_PIC: interrupt-controller@930 {
153*c66ec88fSEmmanuel Vadot				interrupt-controller;
154*c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
155*c66ec88fSEmmanuel Vadot				interrupts = <5 2 0 2>;
156*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
157*c66ec88fSEmmanuel Vadot				reg = <0x930 0x20>;
158*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-cpm-pic",
159*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-pic";
160*c66ec88fSEmmanuel Vadot			};
161*c66ec88fSEmmanuel Vadot
162*c66ec88fSEmmanuel Vadot			console: serial@a80 {
163*c66ec88fSEmmanuel Vadot				device_type = "serial";
164*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-smc-uart",
165*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-smc-uart";
166*c66ec88fSEmmanuel Vadot				reg = <0xa80 0x10 0x3e80 0x40>;
167*c66ec88fSEmmanuel Vadot				interrupts = <4>;
168*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
169*c66ec88fSEmmanuel Vadot				fsl,cpm-brg = <1>;
170*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x0090>;
171*c66ec88fSEmmanuel Vadot				current-speed = <115200>;
172*c66ec88fSEmmanuel Vadot			};
173*c66ec88fSEmmanuel Vadot		};
174*c66ec88fSEmmanuel Vadot	};
175*c66ec88fSEmmanuel Vadot
176*c66ec88fSEmmanuel Vadot	chosen {
177*c66ec88fSEmmanuel Vadot		stdout-path = &console;
178*c66ec88fSEmmanuel Vadot	};
179*c66ec88fSEmmanuel Vadot};
180