xref: /freebsd/sys/contrib/device-tree/src/powerpc/klondike.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * Device Tree for Klondike (APM8018X) board.
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright (c) 2010, Applied Micro Circuits Corporation
6*c66ec88fSEmmanuel Vadot * Author: Tanmay Inamdar <tinamdar@apm.com>
7*c66ec88fSEmmanuel Vadot */
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot/dts-v1/;
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot/ {
12*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
13*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
14*c66ec88fSEmmanuel Vadot	model = "apm,klondike";
15*c66ec88fSEmmanuel Vadot	compatible = "apm,klondike";
16*c66ec88fSEmmanuel Vadot	dcr-parent = <&{/cpus/cpu@0}>;
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot	aliases {
19*c66ec88fSEmmanuel Vadot		ethernet0 = &EMAC0;
20*c66ec88fSEmmanuel Vadot		ethernet1 = &EMAC1;
21*c66ec88fSEmmanuel Vadot	};
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot	cpus {
24*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
25*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot		cpu@0 {
28*c66ec88fSEmmanuel Vadot			device_type = "cpu";
29*c66ec88fSEmmanuel Vadot			model = "PowerPC,apm8018x";
30*c66ec88fSEmmanuel Vadot			reg = <0x00000000>;
31*c66ec88fSEmmanuel Vadot			clock-frequency = <300000000>; /* Filled in by U-Boot */
32*c66ec88fSEmmanuel Vadot			timebase-frequency = <300000000>; /* Filled in by U-Boot */
33*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;
34*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;
35*c66ec88fSEmmanuel Vadot			i-cache-size = <16384>; /* 16 kB */
36*c66ec88fSEmmanuel Vadot			d-cache-size = <16384>; /* 16 kB */
37*c66ec88fSEmmanuel Vadot			dcr-controller;
38*c66ec88fSEmmanuel Vadot			dcr-access-method = "native";
39*c66ec88fSEmmanuel Vadot		};
40*c66ec88fSEmmanuel Vadot	};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot	memory {
43*c66ec88fSEmmanuel Vadot		device_type = "memory";
44*c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x20000000>; /* Filled in by U-Boot */
45*c66ec88fSEmmanuel Vadot	};
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot	UIC0: interrupt-controller {
48*c66ec88fSEmmanuel Vadot		compatible = "ibm,uic";
49*c66ec88fSEmmanuel Vadot		interrupt-controller;
50*c66ec88fSEmmanuel Vadot		cell-index = <0>;
51*c66ec88fSEmmanuel Vadot		dcr-reg = <0x0c0 0x010>;
52*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
53*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
54*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
55*c66ec88fSEmmanuel Vadot	};
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel Vadot	UIC1: interrupt-controller1 {
58*c66ec88fSEmmanuel Vadot		compatible = "ibm,uic";
59*c66ec88fSEmmanuel Vadot		interrupt-controller;
60*c66ec88fSEmmanuel Vadot		cell-index = <1>;
61*c66ec88fSEmmanuel Vadot		dcr-reg = <0x0d0 0x010>;
62*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
63*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
64*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
65*c66ec88fSEmmanuel Vadot		interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
66*c66ec88fSEmmanuel Vadot		interrupt-parent = <&UIC0>;
67*c66ec88fSEmmanuel Vadot	};
68*c66ec88fSEmmanuel Vadot
69*c66ec88fSEmmanuel Vadot	UIC2: interrupt-controller2 {
70*c66ec88fSEmmanuel Vadot		compatible = "ibm,uic";
71*c66ec88fSEmmanuel Vadot		interrupt-controller;
72*c66ec88fSEmmanuel Vadot		cell-index = <2>;
73*c66ec88fSEmmanuel Vadot		dcr-reg = <0x0e0 0x010>;
74*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
75*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
76*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
77*c66ec88fSEmmanuel Vadot		interrupts = <0x0a 0x4 0x0b 0x4>; /* cascade */
78*c66ec88fSEmmanuel Vadot		interrupt-parent = <&UIC0>;
79*c66ec88fSEmmanuel Vadot	};
80*c66ec88fSEmmanuel Vadot
81*c66ec88fSEmmanuel Vadot	UIC3: interrupt-controller3 {
82*c66ec88fSEmmanuel Vadot		compatible = "ibm,uic";
83*c66ec88fSEmmanuel Vadot		interrupt-controller;
84*c66ec88fSEmmanuel Vadot		cell-index = <3>;
85*c66ec88fSEmmanuel Vadot		dcr-reg = <0x0f0 0x010>;
86*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
87*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
88*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
89*c66ec88fSEmmanuel Vadot		interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
90*c66ec88fSEmmanuel Vadot		interrupt-parent = <&UIC0>;
91*c66ec88fSEmmanuel Vadot	};
92*c66ec88fSEmmanuel Vadot
93*c66ec88fSEmmanuel Vadot	plb {
94*c66ec88fSEmmanuel Vadot		compatible = "ibm,plb4";
95*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
96*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
97*c66ec88fSEmmanuel Vadot		ranges;
98*c66ec88fSEmmanuel Vadot		clock-frequency = <0>; /* Filled in by U-Boot */
99*c66ec88fSEmmanuel Vadot
100*c66ec88fSEmmanuel Vadot		SDRAM0: memory-controller {
101*c66ec88fSEmmanuel Vadot			compatible = "ibm,sdram-apm8018x";
102*c66ec88fSEmmanuel Vadot			dcr-reg = <0x010 0x002>;
103*c66ec88fSEmmanuel Vadot		};
104*c66ec88fSEmmanuel Vadot
105*c66ec88fSEmmanuel Vadot		MAL0: mcmal {
106*c66ec88fSEmmanuel Vadot			compatible = "ibm,mcmal2";
107*c66ec88fSEmmanuel Vadot			dcr-reg = <0x180 0x062>;
108*c66ec88fSEmmanuel Vadot			num-tx-chans = <2>;
109*c66ec88fSEmmanuel Vadot			num-rx-chans = <16>;
110*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
111*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
112*c66ec88fSEmmanuel Vadot			interrupt-parent = <&UIC1>;
113*c66ec88fSEmmanuel Vadot			interrupts = </*TXEOB*/   0x6 0x4
114*c66ec88fSEmmanuel Vadot					/*RXEOB*/ 0x7 0x4
115*c66ec88fSEmmanuel Vadot					/*SERR*/  0x1 0x4
116*c66ec88fSEmmanuel Vadot					/*TXDE*/  0x2 0x4
117*c66ec88fSEmmanuel Vadot					/*RXDE*/  0x3 0x4>;
118*c66ec88fSEmmanuel Vadot		};
119*c66ec88fSEmmanuel Vadot
120*c66ec88fSEmmanuel Vadot		POB0: opb {
121*c66ec88fSEmmanuel Vadot			compatible = "ibm,opb";
122*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
123*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
124*c66ec88fSEmmanuel Vadot			ranges = <0x20000000 0x20000000 0x30000000
125*c66ec88fSEmmanuel Vadot				  0x50000000 0x50000000 0x10000000
126*c66ec88fSEmmanuel Vadot				  0x60000000 0x60000000 0x10000000
127*c66ec88fSEmmanuel Vadot				  0xFE000000 0xFE000000 0x00010000>;
128*c66ec88fSEmmanuel Vadot			dcr-reg = <0x100 0x020>;
129*c66ec88fSEmmanuel Vadot			clock-frequency = <300000000>; /* Filled in by U-Boot */
130*c66ec88fSEmmanuel Vadot
131*c66ec88fSEmmanuel Vadot			RGMII0: emac-rgmii@400a2000 {
132*c66ec88fSEmmanuel Vadot				compatible = "ibm,rgmii";
133*c66ec88fSEmmanuel Vadot				reg = <0x400a2000 0x00000010>;
134*c66ec88fSEmmanuel Vadot				has-mdio;
135*c66ec88fSEmmanuel Vadot			};
136*c66ec88fSEmmanuel Vadot
137*c66ec88fSEmmanuel Vadot			TAH0: emac-tah@400a3000 {
138*c66ec88fSEmmanuel Vadot				compatible = "ibm,tah";
139*c66ec88fSEmmanuel Vadot				reg = <0x400a3000 0x100>;
140*c66ec88fSEmmanuel Vadot			};
141*c66ec88fSEmmanuel Vadot
142*c66ec88fSEmmanuel Vadot			TAH1: emac-tah@400a4000 {
143*c66ec88fSEmmanuel Vadot				compatible = "ibm,tah";
144*c66ec88fSEmmanuel Vadot				reg = <0x400a4000 0x100>;
145*c66ec88fSEmmanuel Vadot			};
146*c66ec88fSEmmanuel Vadot
147*c66ec88fSEmmanuel Vadot			EMAC0: ethernet@400a0000 {
148*c66ec88fSEmmanuel Vadot				compatible = "ibm,emac4", "ibm-emac4sync";
149*c66ec88fSEmmanuel Vadot				interrupt-parent = <&EMAC0>;
150*c66ec88fSEmmanuel Vadot				interrupts = <0x0>;
151*c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
152*c66ec88fSEmmanuel Vadot				#address-cells = <0>;
153*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
154*c66ec88fSEmmanuel Vadot				interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
155*c66ec88fSEmmanuel Vadot				reg = <0x400a0000 0x00000100>;
156*c66ec88fSEmmanuel Vadot				local-mac-address = [000000000000]; /* Filled in by U-Boot */
157*c66ec88fSEmmanuel Vadot				mal-device = <&MAL0>;
158*c66ec88fSEmmanuel Vadot				mal-tx-channel = <0x0>;
159*c66ec88fSEmmanuel Vadot				mal-rx-channel = <0x0>;
160*c66ec88fSEmmanuel Vadot				cell-index = <0>;
161*c66ec88fSEmmanuel Vadot				max-frame-size = <9000>;
162*c66ec88fSEmmanuel Vadot				rx-fifo-size = <4096>;
163*c66ec88fSEmmanuel Vadot				tx-fifo-size = <2048>;
164*c66ec88fSEmmanuel Vadot				phy-mode = "rgmii";
165*c66ec88fSEmmanuel Vadot				phy-address = <0x2>;
166*c66ec88fSEmmanuel Vadot				turbo = "no";
167*c66ec88fSEmmanuel Vadot				phy-map = <0x00000000>;
168*c66ec88fSEmmanuel Vadot				rgmii-device = <&RGMII0>;
169*c66ec88fSEmmanuel Vadot				rgmii-channel = <0>;
170*c66ec88fSEmmanuel Vadot				tah-device = <&TAH0>;
171*c66ec88fSEmmanuel Vadot				tah-channel = <0>;
172*c66ec88fSEmmanuel Vadot				has-inverted-stacr-oc;
173*c66ec88fSEmmanuel Vadot				has-new-stacr-staopc;
174*c66ec88fSEmmanuel Vadot			};
175*c66ec88fSEmmanuel Vadot
176*c66ec88fSEmmanuel Vadot			EMAC1: ethernet@400a1000 {
177*c66ec88fSEmmanuel Vadot				compatible = "ibm,emac4", "ibm-emac4sync";
178*c66ec88fSEmmanuel Vadot				status = "disabled";
179*c66ec88fSEmmanuel Vadot				interrupt-parent = <&EMAC1>;
180*c66ec88fSEmmanuel Vadot				interrupts = <0x0>;
181*c66ec88fSEmmanuel Vadot				#interrupt-cells = <1>;
182*c66ec88fSEmmanuel Vadot				#address-cells = <0>;
183*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
184*c66ec88fSEmmanuel Vadot				interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
185*c66ec88fSEmmanuel Vadot				reg = <0x400a1000 0x00000100>;
186*c66ec88fSEmmanuel Vadot				local-mac-address = [000000000000]; /* Filled in by U-Boot */
187*c66ec88fSEmmanuel Vadot				mal-device = <&MAL0>;
188*c66ec88fSEmmanuel Vadot				mal-tx-channel = <1>;
189*c66ec88fSEmmanuel Vadot				mal-rx-channel = <8>;
190*c66ec88fSEmmanuel Vadot				cell-index = <1>;
191*c66ec88fSEmmanuel Vadot				max-frame-size = <9000>;
192*c66ec88fSEmmanuel Vadot				rx-fifo-size = <4096>;
193*c66ec88fSEmmanuel Vadot				tx-fifo-size = <2048>;
194*c66ec88fSEmmanuel Vadot				phy-mode = "rgmii";
195*c66ec88fSEmmanuel Vadot				phy-address = <0x3>;
196*c66ec88fSEmmanuel Vadot				turbo = "no";
197*c66ec88fSEmmanuel Vadot				phy-map = <0x00000000>;
198*c66ec88fSEmmanuel Vadot				rgmii-device = <&RGMII0>;
199*c66ec88fSEmmanuel Vadot				rgmii-channel = <1>;
200*c66ec88fSEmmanuel Vadot				tah-device = <&TAH1>;
201*c66ec88fSEmmanuel Vadot				tah-channel = <0>;
202*c66ec88fSEmmanuel Vadot				has-inverted-stacr-oc;
203*c66ec88fSEmmanuel Vadot				has-new-stacr-staopc;
204*c66ec88fSEmmanuel Vadot				mdio-device = <&EMAC0>;
205*c66ec88fSEmmanuel Vadot			};
206*c66ec88fSEmmanuel Vadot		};
207*c66ec88fSEmmanuel Vadot	};
208*c66ec88fSEmmanuel Vadot
209*c66ec88fSEmmanuel Vadot	chosen {
210*c66ec88fSEmmanuel Vadot		stdout-path = "/plb/opb/serial@50001000";
211*c66ec88fSEmmanuel Vadot	};
212*c66ec88fSEmmanuel Vadot};
213