xref: /linux/scripts/dtc/include-prefixes/powerpc/microwatt.dts (revision 1260ed77798502de9c98020040d2995008de10cc)
1151b88e8SPaul Mackerras/dts-v1/;
278099fe1SPaul 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;
1278099fe1SPaul 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";
4078099fe1SPaul 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>;
4678099fe1SPaul Mackerras				usable-privilege = <6>;
4778099fe1SPaul Mackerras				os-support = <0>;
48151b88e8SPaul Mackerras			};
49151b88e8SPaul Mackerras
50151b88e8SPaul Mackerras			little-endian {
5178099fe1SPaul Mackerras				isa = <0>;
5278099fe1SPaul Mackerras				usable-privilege = <7>;
5378099fe1SPaul Mackerras				os-support = <0>;
54151b88e8SPaul Mackerras				hwcap-bit-nr = <1>;
55151b88e8SPaul Mackerras			};
56151b88e8SPaul Mackerras
57151b88e8SPaul Mackerras			cache-inhibited-large-page {
5878099fe1SPaul Mackerras				isa = <0>;
5978099fe1SPaul Mackerras				usable-privilege = <6>;
6078099fe1SPaul Mackerras				os-support = <0>;
61151b88e8SPaul Mackerras			};
62151b88e8SPaul Mackerras
63151b88e8SPaul Mackerras			fixed-point-v3 {
64151b88e8SPaul Mackerras				isa = <3000>;
6578099fe1SPaul Mackerras				usable-privilege = <7>;
66151b88e8SPaul Mackerras			};
67151b88e8SPaul Mackerras
68151b88e8SPaul Mackerras			no-execute {
6978099fe1SPaul Mackerras				isa = <0x00>;
70151b88e8SPaul Mackerras				usable-privilege = <2>;
7178099fe1SPaul Mackerras				os-support = <0>;
72151b88e8SPaul Mackerras			};
73151b88e8SPaul Mackerras
74151b88e8SPaul Mackerras			floating-point {
7578099fe1SPaul Mackerras				hfscr-bit-nr = <0>;
76151b88e8SPaul Mackerras				hwcap-bit-nr = <27>;
77151b88e8SPaul Mackerras				isa = <0>;
7878099fe1SPaul Mackerras				usable-privilege = <7>;
7978099fe1SPaul Mackerras				hv-support = <1>;
8078099fe1SPaul Mackerras				os-support = <0>;
8178099fe1SPaul Mackerras			};
8278099fe1SPaul Mackerras
8378099fe1SPaul Mackerras			prefixed-instructions {
8478099fe1SPaul Mackerras				hfscr-bit-nr = <13>;
8578099fe1SPaul Mackerras				fscr-bit-nr = <13>;
8678099fe1SPaul Mackerras				isa = <3010>;
8778099fe1SPaul Mackerras				usable-privilege = <7>;
8878099fe1SPaul Mackerras				os-support = <1>;
8978099fe1SPaul Mackerras				hv-support = <1>;
9078099fe1SPaul Mackerras			};
9178099fe1SPaul Mackerras
9278099fe1SPaul Mackerras			tar {
9378099fe1SPaul Mackerras				hfscr-bit-nr = <8>;
9478099fe1SPaul Mackerras				fscr-bit-nr = <8>;
9578099fe1SPaul Mackerras				isa = <2070>;
9678099fe1SPaul Mackerras				usable-privilege = <7>;
9778099fe1SPaul Mackerras				os-support = <1>;
9878099fe1SPaul Mackerras				hv-support = <1>;
9978099fe1SPaul Mackerras				hwcap-bit-nr = <58>;
10078099fe1SPaul Mackerras			};
10178099fe1SPaul Mackerras
10278099fe1SPaul Mackerras			control-register {
10378099fe1SPaul Mackerras				isa = <0>;
10478099fe1SPaul Mackerras				usable-privilege = <7>;
10578099fe1SPaul Mackerras			};
10678099fe1SPaul Mackerras
10778099fe1SPaul Mackerras			system-call-vectored {
10878099fe1SPaul Mackerras				isa = <3000>;
10978099fe1SPaul Mackerras				usable-privilege = <7>;
11078099fe1SPaul Mackerras				os-support = <1>;
11178099fe1SPaul Mackerras				fscr-bit-nr = <12>;
11278099fe1SPaul 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		};
145*aca95fb6SPaul Mackerras
146*aca95fb6SPaul Mackerras		PowerPC,Microwatt@1 {
147*aca95fb6SPaul Mackerras			i-cache-sets = <2>;
148*aca95fb6SPaul Mackerras			ibm,dec-bits = <64>;
149*aca95fb6SPaul Mackerras			reservation-granule-size = <64>;
150*aca95fb6SPaul Mackerras			clock-frequency = <100000000>;
151*aca95fb6SPaul Mackerras			timebase-frequency = <100000000>;
152*aca95fb6SPaul Mackerras			i-tlb-sets = <1>;
153*aca95fb6SPaul Mackerras			ibm,ppc-interrupt-server#s = <1>;
154*aca95fb6SPaul Mackerras			i-cache-block-size = <64>;
155*aca95fb6SPaul Mackerras			d-cache-block-size = <64>;
156*aca95fb6SPaul Mackerras			d-cache-sets = <2>;
157*aca95fb6SPaul Mackerras			i-tlb-size = <64>;
158*aca95fb6SPaul Mackerras			cpu-version = <0x990000>;
159*aca95fb6SPaul Mackerras			status = "okay";
160*aca95fb6SPaul Mackerras			i-cache-size = <0x1000>;
161*aca95fb6SPaul Mackerras			ibm,processor-radix-AP-encodings = <0x0c 0xa0000010 0x20000015 0x4000001e>;
162*aca95fb6SPaul Mackerras			tlb-size = <0>;
163*aca95fb6SPaul Mackerras			tlb-sets = <0>;
164*aca95fb6SPaul Mackerras			device_type = "cpu";
165*aca95fb6SPaul Mackerras			d-tlb-size = <128>;
166*aca95fb6SPaul Mackerras			d-tlb-sets = <2>;
167*aca95fb6SPaul Mackerras			reg = <1>;
168*aca95fb6SPaul Mackerras			general-purpose;
169*aca95fb6SPaul Mackerras			64-bit;
170*aca95fb6SPaul Mackerras			d-cache-size = <0x1000>;
171*aca95fb6SPaul Mackerras			ibm,chip-id = <0>;
172*aca95fb6SPaul Mackerras			ibm,mmu-lpid-bits = <12>;
173*aca95fb6SPaul Mackerras			ibm,mmu-pid-bits = <20>;
174*aca95fb6SPaul Mackerras		};
175151b88e8SPaul Mackerras	};
176151b88e8SPaul Mackerras
1770d0f9e5fSBenjamin Herrenschmidt	soc@c0000000 {
1780d0f9e5fSBenjamin Herrenschmidt		compatible = "simple-bus";
1790d0f9e5fSBenjamin Herrenschmidt		#address-cells = <1>;
1800d0f9e5fSBenjamin Herrenschmidt		#size-cells = <1>;
181aa9c5adfSBenjamin Herrenschmidt		interrupt-parent = <&ICS>;
1820d0f9e5fSBenjamin Herrenschmidt
1830d0f9e5fSBenjamin Herrenschmidt		ranges = <0 0 0xc0000000 0x40000000>;
184aa9c5adfSBenjamin Herrenschmidt
185aa9c5adfSBenjamin Herrenschmidt		interrupt-controller@4000 {
186aa9c5adfSBenjamin Herrenschmidt			compatible = "openpower,xics-presentation", "ibm,ppc-xicp";
187*aca95fb6SPaul Mackerras			ibm,interrupt-server-ranges = <0x0 0x2>;
188*aca95fb6SPaul Mackerras			reg = <0x4000 0x10 0x4010 0x10>;
189aa9c5adfSBenjamin Herrenschmidt		};
190aa9c5adfSBenjamin Herrenschmidt
191aa9c5adfSBenjamin Herrenschmidt		ICS: interrupt-controller@5000 {
192aa9c5adfSBenjamin Herrenschmidt			compatible = "openpower,xics-sources";
193aa9c5adfSBenjamin Herrenschmidt			interrupt-controller;
194aa9c5adfSBenjamin Herrenschmidt			interrupt-ranges = <0x10 0x10>;
195aa9c5adfSBenjamin Herrenschmidt			reg = <0x5000 0x100>;
196aa9c5adfSBenjamin Herrenschmidt			#address-cells = <0>;
197aa9c5adfSBenjamin Herrenschmidt			#size-cells = <0>;
198aa9c5adfSBenjamin Herrenschmidt			#interrupt-cells = <2>;
199aa9c5adfSBenjamin Herrenschmidt		};
200aa9c5adfSBenjamin Herrenschmidt
20148b545b8SBenjamin Herrenschmidt		UART0: serial@2000 {
20248b545b8SBenjamin Herrenschmidt			device_type = "serial";
20348b545b8SBenjamin Herrenschmidt			compatible = "ns16550";
20448b545b8SBenjamin Herrenschmidt			reg = <0x2000 0x8>;
20548b545b8SBenjamin Herrenschmidt			clock-frequency = <100000000>;
20648b545b8SBenjamin Herrenschmidt			current-speed = <115200>;
20748b545b8SBenjamin Herrenschmidt			reg-shift = <2>;
20848b545b8SBenjamin Herrenschmidt			fifo-size = <16>;
20948b545b8SBenjamin Herrenschmidt			interrupts = <0x10 0x1>;
21048b545b8SBenjamin Herrenschmidt		};
211602d0f96SJoel Stanley
21278099fe1SPaul Mackerras		gpio: gpio@7000 {
21378099fe1SPaul Mackerras			device_type = "gpio";
21478099fe1SPaul Mackerras			compatible = "faraday,ftgpio010";
21578099fe1SPaul Mackerras			gpio-controller;
21678099fe1SPaul Mackerras			#gpio-cells = <2>;
21778099fe1SPaul Mackerras			reg = <0x7000 0x80>;
21878099fe1SPaul Mackerras			interrupts = <0x14 1>;
21978099fe1SPaul Mackerras			interrupt-controller;
22078099fe1SPaul Mackerras			#interrupt-cells = <2>;
22178099fe1SPaul Mackerras		};
22278099fe1SPaul Mackerras
22378099fe1SPaul Mackerras		enet0: ethernet@8020000 {
224602d0f96SJoel Stanley			compatible = "litex,liteeth";
225602d0f96SJoel Stanley			reg = <0x8021000 0x100
226602d0f96SJoel Stanley				0x8020800 0x100
227602d0f96SJoel Stanley				0x8030000 0x2000>;
228602d0f96SJoel Stanley			reg-names = "mac", "mido", "buffer";
229602d0f96SJoel Stanley			litex,rx-slots = <2>;
230602d0f96SJoel Stanley			litex,tx-slots = <2>;
231602d0f96SJoel Stanley			litex,slot-size = <0x800>;
232602d0f96SJoel Stanley			interrupts = <0x11 0x1>;
233602d0f96SJoel Stanley		};
2345825603fSJoel Stanley
2355825603fSJoel Stanley		mmc@8040000 {
2365825603fSJoel Stanley			compatible = "litex,mmc";
2375825603fSJoel Stanley			reg = <0x8042800 0x800
2385825603fSJoel Stanley				0x8041000 0x800
2395825603fSJoel Stanley				0x8040800 0x800
2405825603fSJoel Stanley				0x8042000 0x800
2415825603fSJoel Stanley				0x8041800 0x800>;
2425825603fSJoel Stanley			reg-names = "phy", "core", "reader", "writer", "irq";
2435825603fSJoel Stanley			bus-width = <4>;
2445825603fSJoel Stanley			interrupts = <0x13 1>;
2455825603fSJoel Stanley			clocks = <&sys_clk>;
2465825603fSJoel Stanley		};
24748b545b8SBenjamin Herrenschmidt	};
24848b545b8SBenjamin Herrenschmidt
24948b545b8SBenjamin Herrenschmidt	chosen {
25048b545b8SBenjamin Herrenschmidt		bootargs = "";
25148b545b8SBenjamin Herrenschmidt		ibm,architecture-vec-5 = [19 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00
25248b545b8SBenjamin Herrenschmidt					  00 00 00 00 00 00 00 00 40 00 40];
25348b545b8SBenjamin Herrenschmidt		stdout-path = &UART0;
2540d0f9e5fSBenjamin Herrenschmidt	};
255151b88e8SPaul Mackerras};
256