xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/adder875-uboot.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 U-Boot
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@ff000100 {
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 = <0xff000100 0x40>;
52*c66ec88fSEmmanuel Vadot
53*c66ec88fSEmmanuel Vadot		ranges = <
54*c66ec88fSEmmanuel Vadot			0 0 0xfe000000 0x01000000
55*c66ec88fSEmmanuel Vadot		>;
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel Vadot		flash@0,0 {
58*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
59*c66ec88fSEmmanuel Vadot			reg = <0 0 0x800000>;
60*c66ec88fSEmmanuel Vadot			bank-width = <2>;
61*c66ec88fSEmmanuel Vadot			device-width = <2>;
62*c66ec88fSEmmanuel Vadot		};
63*c66ec88fSEmmanuel Vadot	};
64*c66ec88fSEmmanuel Vadot
65*c66ec88fSEmmanuel Vadot	soc@ff000000 {
66*c66ec88fSEmmanuel Vadot		compatible = "fsl,mpc875-immr", "fsl,pq1-soc", "simple-bus";
67*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
68*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
69*c66ec88fSEmmanuel Vadot		ranges = <0 0xff000000 0x00004000>;
70*c66ec88fSEmmanuel Vadot
71*c66ec88fSEmmanuel Vadot		// Temporary until code stops depending on it.
72*c66ec88fSEmmanuel Vadot		device_type = "soc";
73*c66ec88fSEmmanuel Vadot
74*c66ec88fSEmmanuel Vadot		// Temporary until get_immrbase() is fixed.
75*c66ec88fSEmmanuel Vadot		reg = <0xff000000 0x4000>;
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadot		mdio@e00 {
78*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio";
79*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
80*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
81*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
82*c66ec88fSEmmanuel Vadot
83*c66ec88fSEmmanuel Vadot			PHY0: ethernet-phy@0 {
84*c66ec88fSEmmanuel Vadot				reg = <0>;
85*c66ec88fSEmmanuel Vadot			};
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot			PHY1: ethernet-phy@1 {
88*c66ec88fSEmmanuel Vadot				reg = <1>;
89*c66ec88fSEmmanuel Vadot			};
90*c66ec88fSEmmanuel Vadot		};
91*c66ec88fSEmmanuel Vadot
92*c66ec88fSEmmanuel Vadot		eth0: ethernet@e00 {
93*c66ec88fSEmmanuel Vadot			device_type = "network";
94*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-enet",
95*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
96*c66ec88fSEmmanuel Vadot			reg = <0xe00 0x188>;
97*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
98*c66ec88fSEmmanuel Vadot			interrupts = <3 1>;
99*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
100*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY0>;
101*c66ec88fSEmmanuel Vadot			linux,network-index = <0>;
102*c66ec88fSEmmanuel Vadot		};
103*c66ec88fSEmmanuel Vadot
104*c66ec88fSEmmanuel Vadot		eth1: ethernet@1e00 {
105*c66ec88fSEmmanuel Vadot			device_type = "network";
106*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-fec-enet",
107*c66ec88fSEmmanuel Vadot			             "fsl,pq1-fec-enet";
108*c66ec88fSEmmanuel Vadot			reg = <0x1e00 0x188>;
109*c66ec88fSEmmanuel Vadot			local-mac-address = [ 00 00 00 00 00 00 ];
110*c66ec88fSEmmanuel Vadot			interrupts = <7 1>;
111*c66ec88fSEmmanuel Vadot			interrupt-parent = <&PIC>;
112*c66ec88fSEmmanuel Vadot			phy-handle = <&PHY1>;
113*c66ec88fSEmmanuel Vadot			linux,network-index = <1>;
114*c66ec88fSEmmanuel Vadot		};
115*c66ec88fSEmmanuel Vadot
116*c66ec88fSEmmanuel Vadot		PIC: interrupt-controller@0 {
117*c66ec88fSEmmanuel Vadot			interrupt-controller;
118*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
119*c66ec88fSEmmanuel Vadot			reg = <0 0x24>;
120*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-pic", "fsl,pq1-pic";
121*c66ec88fSEmmanuel Vadot		};
122*c66ec88fSEmmanuel Vadot
123*c66ec88fSEmmanuel Vadot		cpm@9c0 {
124*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
125*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
126*c66ec88fSEmmanuel Vadot			compatible = "fsl,mpc875-cpm", "fsl,cpm1", "simple-bus";
127*c66ec88fSEmmanuel Vadot			interrupts = <0>;	// cpm error interrupt
128*c66ec88fSEmmanuel Vadot			interrupt-parent = <&CPM_PIC>;
129*c66ec88fSEmmanuel Vadot			reg = <0x9c0 0x40>;
130*c66ec88fSEmmanuel Vadot			ranges;
131*c66ec88fSEmmanuel Vadot
132*c66ec88fSEmmanuel Vadot			muram {
133*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
134*c66ec88fSEmmanuel Vadot				#size-cells = <1>;
135*c66ec88fSEmmanuel Vadot				ranges = <0 0x2000 0x2000>;
136*c66ec88fSEmmanuel Vadot
137*c66ec88fSEmmanuel Vadot				data@0 {
138*c66ec88fSEmmanuel Vadot					compatible = "fsl,cpm-muram-data";
139*c66ec88fSEmmanuel Vadot					reg = <0 0x1c00>;
140*c66ec88fSEmmanuel Vadot				};
141*c66ec88fSEmmanuel Vadot			};
142*c66ec88fSEmmanuel Vadot
143*c66ec88fSEmmanuel Vadot			brg@9f0 {
144*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-brg",
145*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-brg",
146*c66ec88fSEmmanuel Vadot				             "fsl,cpm-brg";
147*c66ec88fSEmmanuel Vadot				clock-frequency = <50000000>;
148*c66ec88fSEmmanuel Vadot				reg = <0x9f0 0x10>;
149*c66ec88fSEmmanuel Vadot			};
150*c66ec88fSEmmanuel Vadot
151*c66ec88fSEmmanuel Vadot			CPM_PIC: interrupt-controller@930 {
152*c66ec88fSEmmanuel Vadot				interrupt-controller;
153*c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
154*c66ec88fSEmmanuel Vadot				interrupts = <5 2 0 2>;
155*c66ec88fSEmmanuel Vadot				interrupt-parent = <&PIC>;
156*c66ec88fSEmmanuel Vadot				reg = <0x930 0x20>;
157*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-cpm-pic",
158*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-pic";
159*c66ec88fSEmmanuel Vadot			};
160*c66ec88fSEmmanuel Vadot
161*c66ec88fSEmmanuel Vadot			console: serial@a80 {
162*c66ec88fSEmmanuel Vadot				device_type = "serial";
163*c66ec88fSEmmanuel Vadot				compatible = "fsl,mpc875-smc-uart",
164*c66ec88fSEmmanuel Vadot				             "fsl,cpm1-smc-uart";
165*c66ec88fSEmmanuel Vadot				reg = <0xa80 0x10 0x3e80 0x40>;
166*c66ec88fSEmmanuel Vadot				interrupts = <4>;
167*c66ec88fSEmmanuel Vadot				interrupt-parent = <&CPM_PIC>;
168*c66ec88fSEmmanuel Vadot				fsl,cpm-brg = <1>;
169*c66ec88fSEmmanuel Vadot				fsl,cpm-command = <0x0090>;
170*c66ec88fSEmmanuel Vadot				current-speed = <115200>;
171*c66ec88fSEmmanuel Vadot			};
172*c66ec88fSEmmanuel Vadot		};
173*c66ec88fSEmmanuel Vadot	};
174*c66ec88fSEmmanuel Vadot
175*c66ec88fSEmmanuel Vadot	chosen {
176*c66ec88fSEmmanuel Vadot		stdout-path = &console;
177*c66ec88fSEmmanuel Vadot	};
178*c66ec88fSEmmanuel Vadot};
179