xref: /OK3568_Linux_fs/kernel/arch/powerpc/boot/dts/mpc866ads.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * MPC866 ADS Device Tree Source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2006 MontaVista Software, Inc.
6*4882a593Smuzhiyun * Copyright 2008 Freescale Semiconductor, Inc.
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/dts-v1/;
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "MPC866ADS";
13*4882a593Smuzhiyun	compatible = "fsl,mpc866ads";
14*4882a593Smuzhiyun	#address-cells = <1>;
15*4882a593Smuzhiyun	#size-cells = <1>;
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	cpus {
18*4882a593Smuzhiyun		#address-cells = <1>;
19*4882a593Smuzhiyun		#size-cells = <0>;
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun		PowerPC,866@0 {
22*4882a593Smuzhiyun			device_type = "cpu";
23*4882a593Smuzhiyun			reg = <0x0>;
24*4882a593Smuzhiyun			d-cache-line-size = <16>;	// 16 bytes
25*4882a593Smuzhiyun			i-cache-line-size = <16>;	// 16 bytes
26*4882a593Smuzhiyun			d-cache-size = <0x2000>;		// L1, 8K
27*4882a593Smuzhiyun			i-cache-size = <0x4000>;		// L1, 16K
28*4882a593Smuzhiyun			timebase-frequency = <0>;
29*4882a593Smuzhiyun			bus-frequency = <0>;
30*4882a593Smuzhiyun			clock-frequency = <0>;
31*4882a593Smuzhiyun			interrupts = <15 2>;	// decrementer interrupt
32*4882a593Smuzhiyun			interrupt-parent = <&PIC>;
33*4882a593Smuzhiyun		};
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	memory {
37*4882a593Smuzhiyun		device_type = "memory";
38*4882a593Smuzhiyun		reg = <0x0 0x800000>;
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	localbus@ff000100 {
42*4882a593Smuzhiyun		compatible = "fsl,mpc866-localbus", "fsl,pq1-localbus";
43*4882a593Smuzhiyun		#address-cells = <2>;
44*4882a593Smuzhiyun		#size-cells = <1>;
45*4882a593Smuzhiyun		reg = <0xff000100 0x40>;
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun		ranges = <
48*4882a593Smuzhiyun			0x1 0x0 0xff080000 0x8000
49*4882a593Smuzhiyun			0x5 0x0 0xff0a0000 0x8000
50*4882a593Smuzhiyun		>;
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		board-control@1,0 {
53*4882a593Smuzhiyun			reg = <0x1 0x0 0x20 0x5 0x300 0x4>;
54*4882a593Smuzhiyun			compatible = "fsl,mpc866ads-bcsr";
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	soc@ff000000 {
59*4882a593Smuzhiyun		#address-cells = <1>;
60*4882a593Smuzhiyun		#size-cells = <1>;
61*4882a593Smuzhiyun		device_type = "soc";
62*4882a593Smuzhiyun		ranges = <0x0 0xff000000 0x100000>;
63*4882a593Smuzhiyun		reg = <0xff000000 0x200>;
64*4882a593Smuzhiyun		bus-frequency = <0>;
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		mdio@e00 {
67*4882a593Smuzhiyun			compatible = "fsl,mpc866-fec-mdio", "fsl,pq1-fec-mdio";
68*4882a593Smuzhiyun			reg = <0xe00 0x188>;
69*4882a593Smuzhiyun			#address-cells = <1>;
70*4882a593Smuzhiyun			#size-cells = <0>;
71*4882a593Smuzhiyun			PHY: ethernet-phy@f {
72*4882a593Smuzhiyun				reg = <0xf>;
73*4882a593Smuzhiyun			};
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		ethernet@e00 {
77*4882a593Smuzhiyun			device_type = "network";
78*4882a593Smuzhiyun			compatible = "fsl,mpc866-fec-enet",
79*4882a593Smuzhiyun			             "fsl,pq1-fec-enet";
80*4882a593Smuzhiyun			reg = <0xe00 0x188>;
81*4882a593Smuzhiyun			local-mac-address = [ 00 00 00 00 00 00 ];
82*4882a593Smuzhiyun			interrupts = <3 1>;
83*4882a593Smuzhiyun			interrupt-parent = <&PIC>;
84*4882a593Smuzhiyun			phy-handle = <&PHY>;
85*4882a593Smuzhiyun			linux,network-index = <0>;
86*4882a593Smuzhiyun		};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		PIC: pic@0 {
89*4882a593Smuzhiyun			interrupt-controller;
90*4882a593Smuzhiyun			#interrupt-cells = <2>;
91*4882a593Smuzhiyun			reg = <0x0 0x24>;
92*4882a593Smuzhiyun			compatible = "fsl,mpc866-pic", "fsl,pq1-pic";
93*4882a593Smuzhiyun		};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		cpm@9c0 {
96*4882a593Smuzhiyun			#address-cells = <1>;
97*4882a593Smuzhiyun			#size-cells = <1>;
98*4882a593Smuzhiyun			compatible = "fsl,mpc866-cpm", "fsl,cpm1";
99*4882a593Smuzhiyun			ranges;
100*4882a593Smuzhiyun			reg = <0x9c0 0x40>;
101*4882a593Smuzhiyun			brg-frequency = <0>;
102*4882a593Smuzhiyun			interrupts = <0 2>;	// cpm error interrupt
103*4882a593Smuzhiyun			interrupt-parent = <&CPM_PIC>;
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun			muram@2000 {
106*4882a593Smuzhiyun				#address-cells = <1>;
107*4882a593Smuzhiyun				#size-cells = <1>;
108*4882a593Smuzhiyun				ranges = <0x0 0x2000 0x2000>;
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun				data@0 {
111*4882a593Smuzhiyun					compatible = "fsl,cpm-muram-data";
112*4882a593Smuzhiyun					reg = <0x0 0x1c00>;
113*4882a593Smuzhiyun				};
114*4882a593Smuzhiyun			};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun			brg@9f0 {
117*4882a593Smuzhiyun				compatible = "fsl,mpc866-brg",
118*4882a593Smuzhiyun					     "fsl,cpm1-brg",
119*4882a593Smuzhiyun					     "fsl,cpm-brg";
120*4882a593Smuzhiyun				reg = <0x9f0 0x10>;
121*4882a593Smuzhiyun				clock-frequency = <0>;
122*4882a593Smuzhiyun			};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun			CPM_PIC: pic@930 {
125*4882a593Smuzhiyun				interrupt-controller;
126*4882a593Smuzhiyun				#address-cells = <0>;
127*4882a593Smuzhiyun				#interrupt-cells = <1>;
128*4882a593Smuzhiyun				interrupts = <5 2 0 2>;
129*4882a593Smuzhiyun				interrupt-parent = <&PIC>;
130*4882a593Smuzhiyun				reg = <0x930 0x20>;
131*4882a593Smuzhiyun				compatible = "fsl,mpc866-cpm-pic",
132*4882a593Smuzhiyun				             "fsl,cpm1-pic";
133*4882a593Smuzhiyun			};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun			serial@a80 {
137*4882a593Smuzhiyun				device_type = "serial";
138*4882a593Smuzhiyun				compatible = "fsl,mpc866-smc-uart",
139*4882a593Smuzhiyun				             "fsl,cpm1-smc-uart";
140*4882a593Smuzhiyun				reg = <0xa80 0x10 0x3e80 0x40>;
141*4882a593Smuzhiyun				interrupts = <4>;
142*4882a593Smuzhiyun				interrupt-parent = <&CPM_PIC>;
143*4882a593Smuzhiyun				fsl,cpm-brg = <1>;
144*4882a593Smuzhiyun				fsl,cpm-command = <0x90>;
145*4882a593Smuzhiyun			};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun			serial@a90 {
148*4882a593Smuzhiyun				device_type = "serial";
149*4882a593Smuzhiyun				compatible = "fsl,mpc866-smc-uart",
150*4882a593Smuzhiyun				             "fsl,cpm1-smc-uart";
151*4882a593Smuzhiyun				reg = <0xa90 0x10 0x3f80 0x40>;
152*4882a593Smuzhiyun				interrupts = <3>;
153*4882a593Smuzhiyun				interrupt-parent = <&CPM_PIC>;
154*4882a593Smuzhiyun				fsl,cpm-brg = <2>;
155*4882a593Smuzhiyun				fsl,cpm-command = <0xd0>;
156*4882a593Smuzhiyun			};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun			ethernet@a00 {
159*4882a593Smuzhiyun				device_type = "network";
160*4882a593Smuzhiyun				compatible = "fsl,mpc866-scc-enet",
161*4882a593Smuzhiyun				             "fsl,cpm1-scc-enet";
162*4882a593Smuzhiyun				reg = <0xa00 0x18 0x3c00 0x100>;
163*4882a593Smuzhiyun				local-mac-address = [ 00 00 00 00 00 00 ];
164*4882a593Smuzhiyun				interrupts = <30>;
165*4882a593Smuzhiyun				interrupt-parent = <&CPM_PIC>;
166*4882a593Smuzhiyun				fsl,cpm-command = <0000>;
167*4882a593Smuzhiyun				linux,network-index = <1>;
168*4882a593Smuzhiyun			};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun			i2c@860 {
171*4882a593Smuzhiyun				compatible = "fsl,mpc866-i2c",
172*4882a593Smuzhiyun					     "fsl,cpm1-i2c";
173*4882a593Smuzhiyun				reg = <0x860 0x20 0x3c80 0x30>;
174*4882a593Smuzhiyun				interrupts = <16>;
175*4882a593Smuzhiyun				interrupt-parent = <&CPM_PIC>;
176*4882a593Smuzhiyun				fsl,cpm-command = <0x10>;
177*4882a593Smuzhiyun				#address-cells = <1>;
178*4882a593Smuzhiyun				#size-cells = <0>;
179*4882a593Smuzhiyun			};
180*4882a593Smuzhiyun		};
181*4882a593Smuzhiyun	};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun	chosen {
184*4882a593Smuzhiyun		stdout-path = "/soc/cpm/serial@a80";
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun};
187