xref: /freebsd-src/sys/contrib/device-tree/src/powerpc/microwatt.dts (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
15956d97fSEmmanuel Vadot/dts-v1/;
25956d97fSEmmanuel Vadot
35956d97fSEmmanuel Vadot/ {
45956d97fSEmmanuel Vadot	#size-cells = <0x02>;
55956d97fSEmmanuel Vadot	#address-cells = <0x02>;
65956d97fSEmmanuel Vadot	model-name = "microwatt";
75956d97fSEmmanuel Vadot	compatible = "microwatt-soc";
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadot	aliases {
105956d97fSEmmanuel Vadot		serial0 = &UART0;
115956d97fSEmmanuel Vadot	};
125956d97fSEmmanuel Vadot
135956d97fSEmmanuel Vadot	reserved-memory {
145956d97fSEmmanuel Vadot		#size-cells = <0x02>;
155956d97fSEmmanuel Vadot		#address-cells = <0x02>;
165956d97fSEmmanuel Vadot		ranges;
175956d97fSEmmanuel Vadot	};
185956d97fSEmmanuel Vadot
195956d97fSEmmanuel Vadot	memory@0 {
205956d97fSEmmanuel Vadot		device_type = "memory";
215956d97fSEmmanuel Vadot		reg = <0x00000000 0x00000000 0x00000000 0x10000000>;
225956d97fSEmmanuel Vadot	};
235956d97fSEmmanuel Vadot
24*8bab661aSEmmanuel Vadot	clocks {
25*8bab661aSEmmanuel Vadot		sys_clk: litex_sys_clk {
26*8bab661aSEmmanuel Vadot			#clock-cells = <0>;
27*8bab661aSEmmanuel Vadot			compatible = "fixed-clock";
28*8bab661aSEmmanuel Vadot			clock-frequency = <100000000>;
29*8bab661aSEmmanuel Vadot		};
30*8bab661aSEmmanuel Vadot	};
31*8bab661aSEmmanuel Vadot
325956d97fSEmmanuel Vadot	cpus {
335956d97fSEmmanuel Vadot		#size-cells = <0x00>;
345956d97fSEmmanuel Vadot		#address-cells = <0x01>;
355956d97fSEmmanuel Vadot
365956d97fSEmmanuel Vadot		ibm,powerpc-cpu-features {
375956d97fSEmmanuel Vadot			display-name = "Microwatt";
385956d97fSEmmanuel Vadot			isa = <3000>;
395956d97fSEmmanuel Vadot			device_type = "cpu-features";
405956d97fSEmmanuel Vadot			compatible = "ibm,powerpc-cpu-features";
415956d97fSEmmanuel Vadot
425956d97fSEmmanuel Vadot			mmu-radix {
435956d97fSEmmanuel Vadot				isa = <3000>;
445956d97fSEmmanuel Vadot				usable-privilege = <2>;
455956d97fSEmmanuel Vadot			};
465956d97fSEmmanuel Vadot
475956d97fSEmmanuel Vadot			little-endian {
485956d97fSEmmanuel Vadot				isa = <2050>;
495956d97fSEmmanuel Vadot				usable-privilege = <3>;
505956d97fSEmmanuel Vadot				hwcap-bit-nr = <1>;
515956d97fSEmmanuel Vadot			};
525956d97fSEmmanuel Vadot
535956d97fSEmmanuel Vadot			cache-inhibited-large-page {
545956d97fSEmmanuel Vadot				isa = <2040>;
555956d97fSEmmanuel Vadot				usable-privilege = <2>;
565956d97fSEmmanuel Vadot			};
575956d97fSEmmanuel Vadot
585956d97fSEmmanuel Vadot			fixed-point-v3 {
595956d97fSEmmanuel Vadot				isa = <3000>;
605956d97fSEmmanuel Vadot				usable-privilege = <3>;
615956d97fSEmmanuel Vadot			};
625956d97fSEmmanuel Vadot
635956d97fSEmmanuel Vadot			no-execute {
645956d97fSEmmanuel Vadot				isa = <2010>;
655956d97fSEmmanuel Vadot				usable-privilege = <2>;
665956d97fSEmmanuel Vadot			};
675956d97fSEmmanuel Vadot
685956d97fSEmmanuel Vadot			floating-point {
695956d97fSEmmanuel Vadot				hwcap-bit-nr = <27>;
705956d97fSEmmanuel Vadot				isa = <0>;
715956d97fSEmmanuel Vadot				usable-privilege = <3>;
725956d97fSEmmanuel Vadot			};
735956d97fSEmmanuel Vadot		};
745956d97fSEmmanuel Vadot
755956d97fSEmmanuel Vadot		PowerPC,Microwatt@0 {
765956d97fSEmmanuel Vadot			i-cache-sets = <2>;
775956d97fSEmmanuel Vadot			ibm,dec-bits = <64>;
785956d97fSEmmanuel Vadot			reservation-granule-size = <64>;
795956d97fSEmmanuel Vadot			clock-frequency = <100000000>;
805956d97fSEmmanuel Vadot			timebase-frequency = <100000000>;
815956d97fSEmmanuel Vadot			i-tlb-sets = <1>;
825956d97fSEmmanuel Vadot			ibm,ppc-interrupt-server#s = <0>;
835956d97fSEmmanuel Vadot			i-cache-block-size = <64>;
845956d97fSEmmanuel Vadot			d-cache-block-size = <64>;
855956d97fSEmmanuel Vadot			d-cache-sets = <2>;
865956d97fSEmmanuel Vadot			i-tlb-size = <64>;
875956d97fSEmmanuel Vadot			cpu-version = <0x990000>;
885956d97fSEmmanuel Vadot			status = "okay";
895956d97fSEmmanuel Vadot			i-cache-size = <0x1000>;
905956d97fSEmmanuel Vadot			ibm,processor-radix-AP-encodings = <0x0c 0xa0000010 0x20000015 0x4000001e>;
915956d97fSEmmanuel Vadot			tlb-size = <0>;
925956d97fSEmmanuel Vadot			tlb-sets = <0>;
935956d97fSEmmanuel Vadot			device_type = "cpu";
945956d97fSEmmanuel Vadot			d-tlb-size = <128>;
955956d97fSEmmanuel Vadot			d-tlb-sets = <2>;
965956d97fSEmmanuel Vadot			reg = <0>;
975956d97fSEmmanuel Vadot			general-purpose;
985956d97fSEmmanuel Vadot			64-bit;
995956d97fSEmmanuel Vadot			d-cache-size = <0x1000>;
1005956d97fSEmmanuel Vadot			ibm,chip-id = <0>;
101d5b0e70fSEmmanuel Vadot			ibm,mmu-lpid-bits = <12>;
102d5b0e70fSEmmanuel Vadot			ibm,mmu-pid-bits = <20>;
1035956d97fSEmmanuel Vadot		};
1045956d97fSEmmanuel Vadot	};
1055956d97fSEmmanuel Vadot
1065956d97fSEmmanuel Vadot	soc@c0000000 {
1075956d97fSEmmanuel Vadot		compatible = "simple-bus";
1085956d97fSEmmanuel Vadot		#address-cells = <1>;
1095956d97fSEmmanuel Vadot		#size-cells = <1>;
1105956d97fSEmmanuel Vadot		interrupt-parent = <&ICS>;
1115956d97fSEmmanuel Vadot
1125956d97fSEmmanuel Vadot		ranges = <0 0 0xc0000000 0x40000000>;
1135956d97fSEmmanuel Vadot
1145956d97fSEmmanuel Vadot		interrupt-controller@4000 {
1155956d97fSEmmanuel Vadot			compatible = "openpower,xics-presentation", "ibm,ppc-xicp";
1165956d97fSEmmanuel Vadot			ibm,interrupt-server-ranges = <0x0 0x1>;
1175956d97fSEmmanuel Vadot			reg = <0x4000 0x100>;
1185956d97fSEmmanuel Vadot		};
1195956d97fSEmmanuel Vadot
1205956d97fSEmmanuel Vadot		ICS: interrupt-controller@5000 {
1215956d97fSEmmanuel Vadot			compatible = "openpower,xics-sources";
1225956d97fSEmmanuel Vadot			interrupt-controller;
1235956d97fSEmmanuel Vadot			interrupt-ranges = <0x10 0x10>;
1245956d97fSEmmanuel Vadot			reg = <0x5000 0x100>;
1255956d97fSEmmanuel Vadot			#address-cells = <0>;
1265956d97fSEmmanuel Vadot			#size-cells = <0>;
1275956d97fSEmmanuel Vadot			#interrupt-cells = <2>;
1285956d97fSEmmanuel Vadot		};
1295956d97fSEmmanuel Vadot
1305956d97fSEmmanuel Vadot		UART0: serial@2000 {
1315956d97fSEmmanuel Vadot			device_type = "serial";
1325956d97fSEmmanuel Vadot			compatible = "ns16550";
1335956d97fSEmmanuel Vadot			reg = <0x2000 0x8>;
1345956d97fSEmmanuel Vadot			clock-frequency = <100000000>;
1355956d97fSEmmanuel Vadot			current-speed = <115200>;
1365956d97fSEmmanuel Vadot			reg-shift = <2>;
1375956d97fSEmmanuel Vadot			fifo-size = <16>;
1385956d97fSEmmanuel Vadot			interrupts = <0x10 0x1>;
1395956d97fSEmmanuel Vadot		};
140354d7675SEmmanuel Vadot
141354d7675SEmmanuel Vadot		ethernet@8020000 {
142354d7675SEmmanuel Vadot			compatible = "litex,liteeth";
143354d7675SEmmanuel Vadot			reg = <0x8021000 0x100
144354d7675SEmmanuel Vadot				0x8020800 0x100
145354d7675SEmmanuel Vadot				0x8030000 0x2000>;
146354d7675SEmmanuel Vadot			reg-names = "mac", "mido", "buffer";
147354d7675SEmmanuel Vadot			litex,rx-slots = <2>;
148354d7675SEmmanuel Vadot			litex,tx-slots = <2>;
149354d7675SEmmanuel Vadot			litex,slot-size = <0x800>;
150354d7675SEmmanuel Vadot			interrupts = <0x11 0x1>;
151354d7675SEmmanuel Vadot		};
152*8bab661aSEmmanuel Vadot
153*8bab661aSEmmanuel Vadot		mmc@8040000 {
154*8bab661aSEmmanuel Vadot			compatible = "litex,mmc";
155*8bab661aSEmmanuel Vadot			reg = <0x8042800 0x800
156*8bab661aSEmmanuel Vadot				0x8041000 0x800
157*8bab661aSEmmanuel Vadot				0x8040800 0x800
158*8bab661aSEmmanuel Vadot				0x8042000 0x800
159*8bab661aSEmmanuel Vadot				0x8041800 0x800>;
160*8bab661aSEmmanuel Vadot			reg-names = "phy", "core", "reader", "writer", "irq";
161*8bab661aSEmmanuel Vadot			bus-width = <4>;
162*8bab661aSEmmanuel Vadot			interrupts = <0x13 1>;
163*8bab661aSEmmanuel Vadot			cap-sd-highspeed;
164*8bab661aSEmmanuel Vadot			clocks = <&sys_clk>;
165*8bab661aSEmmanuel Vadot		};
1665956d97fSEmmanuel Vadot	};
1675956d97fSEmmanuel Vadot
1685956d97fSEmmanuel Vadot	chosen {
1695956d97fSEmmanuel Vadot		bootargs = "";
1705956d97fSEmmanuel Vadot		ibm,architecture-vec-5 = [19 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00
1715956d97fSEmmanuel Vadot					  00 00 00 00 00 00 00 00 40 00 40];
1725956d97fSEmmanuel Vadot		stdout-path = &UART0;
1735956d97fSEmmanuel Vadot	};
1745956d97fSEmmanuel Vadot};
175