xref: /freebsd/sys/contrib/device-tree/src/powerpc/amigaone.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * AmigaOne Device Tree Source
4*c66ec88fSEmmanuel Vadot *
5*c66ec88fSEmmanuel Vadot * Copyright 2008 Gerhard Pircher (gerhard_pircher@gmx.net)
6*c66ec88fSEmmanuel Vadot */
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel Vadot/dts-v1/;
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot/ {
11*c66ec88fSEmmanuel Vadot	model = "AmigaOne";
12*c66ec88fSEmmanuel Vadot	compatible = "eyetech,amigaone";
13*c66ec88fSEmmanuel Vadot	coherency-off;
14*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
15*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot	cpus {
18*c66ec88fSEmmanuel Vadot		#cpus = <1>;
19*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
20*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot		cpu@0 {
23*c66ec88fSEmmanuel Vadot			device_type = "cpu";
24*c66ec88fSEmmanuel Vadot			reg = <0>;
25*c66ec88fSEmmanuel Vadot			d-cache-line-size = <32>;	// 32 bytes
26*c66ec88fSEmmanuel Vadot			i-cache-line-size = <32>;	// 32 bytes
27*c66ec88fSEmmanuel Vadot			d-cache-size = <32768>;		// L1, 32K
28*c66ec88fSEmmanuel Vadot			i-cache-size = <32768>;		// L1, 32K
29*c66ec88fSEmmanuel Vadot			timebase-frequency = <0>;	// 33.3 MHz, from U-boot
30*c66ec88fSEmmanuel Vadot			clock-frequency = <0>;		// From U-boot
31*c66ec88fSEmmanuel Vadot			bus-frequency = <0>;		// From U-boot
32*c66ec88fSEmmanuel Vadot		};
33*c66ec88fSEmmanuel Vadot	};
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadot	memory {
36*c66ec88fSEmmanuel Vadot		device_type = "memory";
37*c66ec88fSEmmanuel Vadot		reg = <0 0>;				// From U-boot
38*c66ec88fSEmmanuel Vadot	};
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel Vadot	pci@80000000 {
41*c66ec88fSEmmanuel Vadot		device_type = "pci";
42*c66ec88fSEmmanuel Vadot		compatible = "mai-logic,articia-s";
43*c66ec88fSEmmanuel Vadot		bus-frequency = <33333333>;
44*c66ec88fSEmmanuel Vadot		bus-range = <0 0xff>;
45*c66ec88fSEmmanuel Vadot		ranges = <0x01000000 0 0x00000000 0xfe000000 0 0x00c00000	// PCI I/O
46*c66ec88fSEmmanuel Vadot		          0x02000000 0 0x80000000 0x80000000 0 0x7d000000	// PCI memory
47*c66ec88fSEmmanuel Vadot		          0x02000000 0 0x00000000 0xfd000000 0 0x01000000>;	// PCI alias memory (ISA)
48*c66ec88fSEmmanuel Vadot		// Configuration address and data register.
49*c66ec88fSEmmanuel Vadot		reg = <0xfec00cf8 4
50*c66ec88fSEmmanuel Vadot		       0xfee00cfc 4>;
51*c66ec88fSEmmanuel Vadot		8259-interrupt-acknowledge = <0xfef00000>;
52*c66ec88fSEmmanuel Vadot		// Do not define a interrupt-parent here, if there is no
53*c66ec88fSEmmanuel Vadot		// interrupt-map property.
54*c66ec88fSEmmanuel Vadot		#address-cells = <3>;
55*c66ec88fSEmmanuel Vadot		#size-cells = <2>;
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel Vadot		isa@7 {
58*c66ec88fSEmmanuel Vadot			device_type = "isa";
59*c66ec88fSEmmanuel Vadot			compatible = "pciclass,0601";
60*c66ec88fSEmmanuel Vadot			vendor-id = <0x00001106>;
61*c66ec88fSEmmanuel Vadot			device-id = <0x00000686>;
62*c66ec88fSEmmanuel Vadot			revision-id = <0x00000010>;
63*c66ec88fSEmmanuel Vadot			class-code = <0x00060100>;
64*c66ec88fSEmmanuel Vadot			subsystem-id = <0>;
65*c66ec88fSEmmanuel Vadot			subsystem-vendor-id = <0>;
66*c66ec88fSEmmanuel Vadot			devsel-speed = <0x00000001>;
67*c66ec88fSEmmanuel Vadot			min-grant = <0>;
68*c66ec88fSEmmanuel Vadot			max-latency = <0>;
69*c66ec88fSEmmanuel Vadot			/* First 4k for I/O at 0x0 on PCI mapped to 0x0 on ISA. */
70*c66ec88fSEmmanuel Vadot			ranges = <0x00000001 0 0x01000000 0 0x00000000 0x00001000>;
71*c66ec88fSEmmanuel Vadot			interrupt-parent = <&i8259>;
72*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
73*c66ec88fSEmmanuel Vadot			#address-cells = <2>;
74*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
75*c66ec88fSEmmanuel Vadot
76*c66ec88fSEmmanuel Vadot			dma-controller@0 {
77*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,200";
78*c66ec88fSEmmanuel Vadot				reg = <1 0x00000000 0x00000020
79*c66ec88fSEmmanuel Vadot				       1 0x00000080 0x00000010
80*c66ec88fSEmmanuel Vadot				       1 0x000000c0 0x00000020>;
81*c66ec88fSEmmanuel Vadot			};
82*c66ec88fSEmmanuel Vadot
83*c66ec88fSEmmanuel Vadot			i8259: interrupt-controller@20 {
84*c66ec88fSEmmanuel Vadot				device_type = "interrupt-controller";
85*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,000";
86*c66ec88fSEmmanuel Vadot				interrupt-controller;
87*c66ec88fSEmmanuel Vadot				reg = <1 0x00000020 0x00000002
88*c66ec88fSEmmanuel Vadot				       1 0x000000a0 0x00000002
89*c66ec88fSEmmanuel Vadot				       1 0x000004d0 0x00000002>;
90*c66ec88fSEmmanuel Vadot				reserved-interrupts = <2>;
91*c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
92*c66ec88fSEmmanuel Vadot			};
93*c66ec88fSEmmanuel Vadot
94*c66ec88fSEmmanuel Vadot			timer@40 {
95*c66ec88fSEmmanuel Vadot				// Also adds pcspkr to platform devices.
96*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,100";
97*c66ec88fSEmmanuel Vadot				reg = <1 0x00000040 0x00000020>;
98*c66ec88fSEmmanuel Vadot			};
99*c66ec88fSEmmanuel Vadot
100*c66ec88fSEmmanuel Vadot			8042@60 {
101*c66ec88fSEmmanuel Vadot				device_type = "8042";
102*c66ec88fSEmmanuel Vadot				reg = <1 0x00000060 0x00000001
103*c66ec88fSEmmanuel Vadot				       1 0x00000064 0x00000001>;
104*c66ec88fSEmmanuel Vadot				interrupts = <1 3 12 3>;
105*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
106*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
107*c66ec88fSEmmanuel Vadot
108*c66ec88fSEmmanuel Vadot				keyboard@0 {
109*c66ec88fSEmmanuel Vadot					compatible = "pnpPNP,303";
110*c66ec88fSEmmanuel Vadot					reg = <0>;
111*c66ec88fSEmmanuel Vadot				};
112*c66ec88fSEmmanuel Vadot
113*c66ec88fSEmmanuel Vadot				mouse@1 {
114*c66ec88fSEmmanuel Vadot					compatible = "pnpPNP,f03";
115*c66ec88fSEmmanuel Vadot					reg = <1>;
116*c66ec88fSEmmanuel Vadot				};
117*c66ec88fSEmmanuel Vadot			};
118*c66ec88fSEmmanuel Vadot
119*c66ec88fSEmmanuel Vadot			rtc@70 {
120*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,b00";
121*c66ec88fSEmmanuel Vadot				reg = <1 0x00000070 0x00000002>;
122*c66ec88fSEmmanuel Vadot				interrupts = <8 3>;
123*c66ec88fSEmmanuel Vadot			};
124*c66ec88fSEmmanuel Vadot
125*c66ec88fSEmmanuel Vadot			serial@3f8 {
126*c66ec88fSEmmanuel Vadot				device_type = "serial";
127*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,501","pnpPNP,500";
128*c66ec88fSEmmanuel Vadot				reg = <1 0x000003f8 0x00000008>;
129*c66ec88fSEmmanuel Vadot				interrupts = <4 3>;
130*c66ec88fSEmmanuel Vadot				clock-frequency = <1843200>;
131*c66ec88fSEmmanuel Vadot				current-speed = <115200>;
132*c66ec88fSEmmanuel Vadot			};
133*c66ec88fSEmmanuel Vadot
134*c66ec88fSEmmanuel Vadot			serial@2f8 {
135*c66ec88fSEmmanuel Vadot				device_type = "serial";
136*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,501","pnpPNP,500";
137*c66ec88fSEmmanuel Vadot				reg = <1 0x000002f8 0x00000008>;
138*c66ec88fSEmmanuel Vadot				interrupts = <3 3>;
139*c66ec88fSEmmanuel Vadot				clock-frequency = <1843200>;
140*c66ec88fSEmmanuel Vadot				current-speed = <115200>;
141*c66ec88fSEmmanuel Vadot			};
142*c66ec88fSEmmanuel Vadot
143*c66ec88fSEmmanuel Vadot			parallel@378 {
144*c66ec88fSEmmanuel Vadot				device_type = "parallel";
145*c66ec88fSEmmanuel Vadot				// No ECP support for now, otherwise add "pnpPNP,401".
146*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,400";
147*c66ec88fSEmmanuel Vadot				reg = <1 0x00000378 0x00000003
148*c66ec88fSEmmanuel Vadot				       1 0x00000778 0x00000003>;
149*c66ec88fSEmmanuel Vadot			};
150*c66ec88fSEmmanuel Vadot
151*c66ec88fSEmmanuel Vadot			fdc@3f0 {
152*c66ec88fSEmmanuel Vadot				device_type = "fdc";
153*c66ec88fSEmmanuel Vadot				compatible = "pnpPNP,700";
154*c66ec88fSEmmanuel Vadot				reg = <1 0x000003f0 0x00000008>;
155*c66ec88fSEmmanuel Vadot				interrupts = <6 3>;
156*c66ec88fSEmmanuel Vadot				#address-cells = <1>;
157*c66ec88fSEmmanuel Vadot				#size-cells = <0>;
158*c66ec88fSEmmanuel Vadot
159*c66ec88fSEmmanuel Vadot				disk@0 {
160*c66ec88fSEmmanuel Vadot					reg = <0>;
161*c66ec88fSEmmanuel Vadot				};
162*c66ec88fSEmmanuel Vadot			};
163*c66ec88fSEmmanuel Vadot		};
164*c66ec88fSEmmanuel Vadot	};
165*c66ec88fSEmmanuel Vadot
166*c66ec88fSEmmanuel Vadot	chosen {
167*c66ec88fSEmmanuel Vadot		stdout-path = "/pci@80000000/isa@7/serial@3f8";
168*c66ec88fSEmmanuel Vadot	};
169*c66ec88fSEmmanuel Vadot};
170