xref: /linux/scripts/dtc/include-prefixes/powerpc/microwatt.dts (revision 78099fe1e3b5b72d4627f360b59a3470b1547bad)
1151b88e8SPaul Mackerras/dts-v1/;
2*78099fe1SPaul Mackerras#include <dt-bindings/gpio/gpio.h>
3151b88e8SPaul Mackerras
4151b88e8SPaul Mackerras/ {
5151b88e8SPaul Mackerras	#size-cells = <0x02>;
6151b88e8SPaul Mackerras	#address-cells = <0x02>;
7151b88e8SPaul Mackerras	model-name = "microwatt";
8151b88e8SPaul Mackerras	compatible = "microwatt-soc";
9151b88e8SPaul Mackerras
1048b545b8SBenjamin Herrenschmidt	aliases {
1148b545b8SBenjamin Herrenschmidt		serial0 = &UART0;
12*78099fe1SPaul Mackerras		ethernet = &enet0;
1348b545b8SBenjamin Herrenschmidt	};
1448b545b8SBenjamin Herrenschmidt
15151b88e8SPaul Mackerras	reserved-memory {
16151b88e8SPaul Mackerras		#size-cells = <0x02>;
17151b88e8SPaul Mackerras		#address-cells = <0x02>;
18151b88e8SPaul Mackerras		ranges;
19151b88e8SPaul Mackerras	};
20151b88e8SPaul Mackerras
21151b88e8SPaul Mackerras	memory@0 {
22151b88e8SPaul Mackerras		device_type = "memory";
23151b88e8SPaul Mackerras		reg = <0x00000000 0x00000000 0x00000000 0x10000000>;
24151b88e8SPaul Mackerras	};
25151b88e8SPaul Mackerras
265825603fSJoel Stanley	clocks {
275825603fSJoel Stanley		sys_clk: litex_sys_clk {
285825603fSJoel Stanley			#clock-cells = <0>;
295825603fSJoel Stanley			compatible = "fixed-clock";
305825603fSJoel Stanley			clock-frequency = <100000000>;
315825603fSJoel Stanley		};
325825603fSJoel Stanley	};
335825603fSJoel Stanley
34151b88e8SPaul Mackerras	cpus {
35151b88e8SPaul Mackerras		#size-cells = <0x00>;
36151b88e8SPaul Mackerras		#address-cells = <0x01>;
37151b88e8SPaul Mackerras
38151b88e8SPaul Mackerras		ibm,powerpc-cpu-features {
39151b88e8SPaul Mackerras			display-name = "Microwatt";
40*78099fe1SPaul Mackerras			isa = <3010>;
41151b88e8SPaul Mackerras			device_type = "cpu-features";
42151b88e8SPaul Mackerras			compatible = "ibm,powerpc-cpu-features";
43151b88e8SPaul Mackerras
44151b88e8SPaul Mackerras			mmu-radix {
45151b88e8SPaul Mackerras				isa = <3000>;
46*78099fe1SPaul Mackerras				usable-privilege = <6>;
47*78099fe1SPaul Mackerras				os-support = <0>;
48151b88e8SPaul Mackerras			};
49151b88e8SPaul Mackerras
50151b88e8SPaul Mackerras			little-endian {
51*78099fe1SPaul Mackerras				isa = <0>;
52*78099fe1SPaul Mackerras				usable-privilege = <7>;
53*78099fe1SPaul Mackerras				os-support = <0>;
54151b88e8SPaul Mackerras				hwcap-bit-nr = <1>;
55151b88e8SPaul Mackerras			};
56151b88e8SPaul Mackerras
57151b88e8SPaul Mackerras			cache-inhibited-large-page {
58*78099fe1SPaul Mackerras				isa = <0>;
59*78099fe1SPaul Mackerras				usable-privilege = <6>;
60*78099fe1SPaul Mackerras				os-support = <0>;
61151b88e8SPaul Mackerras			};
62151b88e8SPaul Mackerras
63151b88e8SPaul Mackerras			fixed-point-v3 {
64151b88e8SPaul Mackerras				isa = <3000>;
65*78099fe1SPaul Mackerras				usable-privilege = <7>;
66151b88e8SPaul Mackerras			};
67151b88e8SPaul Mackerras
68151b88e8SPaul Mackerras			no-execute {
69*78099fe1SPaul Mackerras				isa = <0x00>;
70151b88e8SPaul Mackerras				usable-privilege = <2>;
71*78099fe1SPaul Mackerras				os-support = <0>;
72151b88e8SPaul Mackerras			};
73151b88e8SPaul Mackerras
74151b88e8SPaul Mackerras			floating-point {
75*78099fe1SPaul Mackerras				hfscr-bit-nr = <0>;
76151b88e8SPaul Mackerras				hwcap-bit-nr = <27>;
77151b88e8SPaul Mackerras				isa = <0>;
78*78099fe1SPaul Mackerras				usable-privilege = <7>;
79*78099fe1SPaul Mackerras				hv-support = <1>;
80*78099fe1SPaul Mackerras				os-support = <0>;
81*78099fe1SPaul Mackerras			};
82*78099fe1SPaul Mackerras
83*78099fe1SPaul Mackerras			prefixed-instructions {
84*78099fe1SPaul Mackerras				hfscr-bit-nr = <13>;
85*78099fe1SPaul Mackerras				fscr-bit-nr = <13>;
86*78099fe1SPaul Mackerras				isa = <3010>;
87*78099fe1SPaul Mackerras				usable-privilege = <7>;
88*78099fe1SPaul Mackerras				os-support = <1>;
89*78099fe1SPaul Mackerras				hv-support = <1>;
90*78099fe1SPaul Mackerras			};
91*78099fe1SPaul Mackerras
92*78099fe1SPaul Mackerras			tar {
93*78099fe1SPaul Mackerras				hfscr-bit-nr = <8>;
94*78099fe1SPaul Mackerras				fscr-bit-nr = <8>;
95*78099fe1SPaul Mackerras				isa = <2070>;
96*78099fe1SPaul Mackerras				usable-privilege = <7>;
97*78099fe1SPaul Mackerras				os-support = <1>;
98*78099fe1SPaul Mackerras				hv-support = <1>;
99*78099fe1SPaul Mackerras				hwcap-bit-nr = <58>;
100*78099fe1SPaul Mackerras			};
101*78099fe1SPaul Mackerras
102*78099fe1SPaul Mackerras			control-register {
103*78099fe1SPaul Mackerras				isa = <0>;
104*78099fe1SPaul Mackerras				usable-privilege = <7>;
105*78099fe1SPaul Mackerras			};
106*78099fe1SPaul Mackerras
107*78099fe1SPaul Mackerras			system-call-vectored {
108*78099fe1SPaul Mackerras				isa = <3000>;
109*78099fe1SPaul Mackerras				usable-privilege = <7>;
110*78099fe1SPaul Mackerras				os-support = <1>;
111*78099fe1SPaul Mackerras				fscr-bit-nr = <12>;
112*78099fe1SPaul Mackerras				hwcap-bit-nr = <52>;
113151b88e8SPaul Mackerras			};
114151b88e8SPaul Mackerras		};
115151b88e8SPaul Mackerras
116151b88e8SPaul Mackerras		PowerPC,Microwatt@0 {
117151b88e8SPaul Mackerras			i-cache-sets = <2>;
118151b88e8SPaul Mackerras			ibm,dec-bits = <64>;
119151b88e8SPaul Mackerras			reservation-granule-size = <64>;
120151b88e8SPaul Mackerras			clock-frequency = <100000000>;
121151b88e8SPaul Mackerras			timebase-frequency = <100000000>;
122151b88e8SPaul Mackerras			i-tlb-sets = <1>;
123151b88e8SPaul Mackerras			ibm,ppc-interrupt-server#s = <0>;
124151b88e8SPaul Mackerras			i-cache-block-size = <64>;
125151b88e8SPaul Mackerras			d-cache-block-size = <64>;
126151b88e8SPaul Mackerras			d-cache-sets = <2>;
127151b88e8SPaul Mackerras			i-tlb-size = <64>;
128151b88e8SPaul Mackerras			cpu-version = <0x990000>;
129151b88e8SPaul Mackerras			status = "okay";
130151b88e8SPaul Mackerras			i-cache-size = <0x1000>;
131151b88e8SPaul Mackerras			ibm,processor-radix-AP-encodings = <0x0c 0xa0000010 0x20000015 0x4000001e>;
132151b88e8SPaul Mackerras			tlb-size = <0>;
133151b88e8SPaul Mackerras			tlb-sets = <0>;
134151b88e8SPaul Mackerras			device_type = "cpu";
135151b88e8SPaul Mackerras			d-tlb-size = <128>;
136151b88e8SPaul Mackerras			d-tlb-sets = <2>;
137151b88e8SPaul Mackerras			reg = <0>;
138151b88e8SPaul Mackerras			general-purpose;
139151b88e8SPaul Mackerras			64-bit;
140151b88e8SPaul Mackerras			d-cache-size = <0x1000>;
141151b88e8SPaul Mackerras			ibm,chip-id = <0>;
1420ef1ffc7SJoel Stanley			ibm,mmu-lpid-bits = <12>;
1430ef1ffc7SJoel Stanley			ibm,mmu-pid-bits = <20>;
144151b88e8SPaul Mackerras		};
145151b88e8SPaul Mackerras	};
146151b88e8SPaul Mackerras
1470d0f9e5fSBenjamin Herrenschmidt	soc@c0000000 {
1480d0f9e5fSBenjamin Herrenschmidt		compatible = "simple-bus";
1490d0f9e5fSBenjamin Herrenschmidt		#address-cells = <1>;
1500d0f9e5fSBenjamin Herrenschmidt		#size-cells = <1>;
151aa9c5adfSBenjamin Herrenschmidt		interrupt-parent = <&ICS>;
1520d0f9e5fSBenjamin Herrenschmidt
1530d0f9e5fSBenjamin Herrenschmidt		ranges = <0 0 0xc0000000 0x40000000>;
154aa9c5adfSBenjamin Herrenschmidt
155aa9c5adfSBenjamin Herrenschmidt		interrupt-controller@4000 {
156aa9c5adfSBenjamin Herrenschmidt			compatible = "openpower,xics-presentation", "ibm,ppc-xicp";
157aa9c5adfSBenjamin Herrenschmidt			ibm,interrupt-server-ranges = <0x0 0x1>;
158aa9c5adfSBenjamin Herrenschmidt			reg = <0x4000 0x100>;
159aa9c5adfSBenjamin Herrenschmidt		};
160aa9c5adfSBenjamin Herrenschmidt
161aa9c5adfSBenjamin Herrenschmidt		ICS: interrupt-controller@5000 {
162aa9c5adfSBenjamin Herrenschmidt			compatible = "openpower,xics-sources";
163aa9c5adfSBenjamin Herrenschmidt			interrupt-controller;
164aa9c5adfSBenjamin Herrenschmidt			interrupt-ranges = <0x10 0x10>;
165aa9c5adfSBenjamin Herrenschmidt			reg = <0x5000 0x100>;
166aa9c5adfSBenjamin Herrenschmidt			#address-cells = <0>;
167aa9c5adfSBenjamin Herrenschmidt			#size-cells = <0>;
168aa9c5adfSBenjamin Herrenschmidt			#interrupt-cells = <2>;
169aa9c5adfSBenjamin Herrenschmidt		};
170aa9c5adfSBenjamin Herrenschmidt
17148b545b8SBenjamin Herrenschmidt		UART0: serial@2000 {
17248b545b8SBenjamin Herrenschmidt			device_type = "serial";
17348b545b8SBenjamin Herrenschmidt			compatible = "ns16550";
17448b545b8SBenjamin Herrenschmidt			reg = <0x2000 0x8>;
17548b545b8SBenjamin Herrenschmidt			clock-frequency = <100000000>;
17648b545b8SBenjamin Herrenschmidt			current-speed = <115200>;
17748b545b8SBenjamin Herrenschmidt			reg-shift = <2>;
17848b545b8SBenjamin Herrenschmidt			fifo-size = <16>;
17948b545b8SBenjamin Herrenschmidt			interrupts = <0x10 0x1>;
18048b545b8SBenjamin Herrenschmidt		};
181602d0f96SJoel Stanley
182*78099fe1SPaul Mackerras		gpio: gpio@7000 {
183*78099fe1SPaul Mackerras			device_type = "gpio";
184*78099fe1SPaul Mackerras			compatible = "faraday,ftgpio010";
185*78099fe1SPaul Mackerras			gpio-controller;
186*78099fe1SPaul Mackerras			#gpio-cells = <2>;
187*78099fe1SPaul Mackerras			reg = <0x7000 0x80>;
188*78099fe1SPaul Mackerras			interrupts = <0x14 1>;
189*78099fe1SPaul Mackerras			interrupt-controller;
190*78099fe1SPaul Mackerras			#interrupt-cells = <2>;
191*78099fe1SPaul Mackerras		};
192*78099fe1SPaul Mackerras
193*78099fe1SPaul Mackerras		enet0: ethernet@8020000 {
194602d0f96SJoel Stanley			compatible = "litex,liteeth";
195602d0f96SJoel Stanley			reg = <0x8021000 0x100
196602d0f96SJoel Stanley				0x8020800 0x100
197602d0f96SJoel Stanley				0x8030000 0x2000>;
198602d0f96SJoel Stanley			reg-names = "mac", "mido", "buffer";
199602d0f96SJoel Stanley			litex,rx-slots = <2>;
200602d0f96SJoel Stanley			litex,tx-slots = <2>;
201602d0f96SJoel Stanley			litex,slot-size = <0x800>;
202602d0f96SJoel Stanley			interrupts = <0x11 0x1>;
203602d0f96SJoel Stanley		};
2045825603fSJoel Stanley
2055825603fSJoel Stanley		mmc@8040000 {
2065825603fSJoel Stanley			compatible = "litex,mmc";
2075825603fSJoel Stanley			reg = <0x8042800 0x800
2085825603fSJoel Stanley				0x8041000 0x800
2095825603fSJoel Stanley				0x8040800 0x800
2105825603fSJoel Stanley				0x8042000 0x800
2115825603fSJoel Stanley				0x8041800 0x800>;
2125825603fSJoel Stanley			reg-names = "phy", "core", "reader", "writer", "irq";
2135825603fSJoel Stanley			bus-width = <4>;
2145825603fSJoel Stanley			interrupts = <0x13 1>;
2155825603fSJoel Stanley			clocks = <&sys_clk>;
2165825603fSJoel Stanley		};
21748b545b8SBenjamin Herrenschmidt	};
21848b545b8SBenjamin Herrenschmidt
21948b545b8SBenjamin Herrenschmidt	chosen {
22048b545b8SBenjamin Herrenschmidt		bootargs = "";
22148b545b8SBenjamin Herrenschmidt		ibm,architecture-vec-5 = [19 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00
22248b545b8SBenjamin Herrenschmidt					  00 00 00 00 00 00 00 00 40 00 40];
22348b545b8SBenjamin Herrenschmidt		stdout-path = &UART0;
2240d0f9e5fSBenjamin Herrenschmidt	};
225151b88e8SPaul Mackerras};
226