150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher/*
250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * AmigaOne Device Tree Source
350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher *
450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * Copyright 2008 Gerhard Pircher (gerhard_pircher@gmx.net)
550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher *
650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * This program is free software; you can redistribute  it and/or modify it
750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * under  the terms of  the GNU General  Public License as published by the
850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * Free Software Foundation;  either version 2 of the  License, or (at your
950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher * option) any later version.
1050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher */
1150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
1250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher/dts-v1/;
1350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
1450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher/ {
1550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	model = "AmigaOne";
1650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	compatible = "eyetech,amigaone";
1750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	coherency-off;
1850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	#address-cells = <1>;
1950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	#size-cells = <1>;
2050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
2150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	cpus {
2250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		#cpus = <1>;
2350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		#address-cells = <1>;
2450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		#size-cells = <0>;
2550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
2650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		cpu@0 {
2750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			device_type = "cpu";
2850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			reg = <0>;
2950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			d-cache-line-size = <32>;	// 32 bytes
3050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			i-cache-line-size = <32>;	// 32 bytes
3150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			d-cache-size = <32768>;		// L1, 32K
3250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			i-cache-size = <32768>;		// L1, 32K
3350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			timebase-frequency = <0>;	// 33.3 MHz, from U-boot
3450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			clock-frequency = <0>;		// From U-boot
3550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			bus-frequency = <0>;		// From U-boot
3650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		};
3750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	};
3850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
3950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	memory {
4050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		device_type = "memory";
4150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		reg = <0 0>;				// From U-boot
4250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	};
4350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
4450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	pci@80000000 {
4550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		device_type = "pci";
4650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		compatible = "mai-logic,articia-s";
4750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		bus-frequency = <33333333>;
4850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		bus-range = <0 0xff>;
4950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		ranges = <0x01000000 0 0x00000000 0xfe000000 0 0x00c00000	// PCI I/O
5050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		          0x02000000 0 0x80000000 0x80000000 0 0x7d000000	// PCI memory
5150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		          0x02000000 0 0x00000000 0xfd000000 0 0x01000000>;	// PCI alias memory (ISA)
5250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		// Configuration address and data register.
5350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		reg = <0xfec00cf8 4
5450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		       0xfee00cfc 4>;
5550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		8259-interrupt-acknowledge = <0xfef00000>;
5650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		// Do not define a interrupt-parent here, if there is no
5750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		// interrupt-map property.
5850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		#address-cells = <3>;
5950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		#size-cells = <2>;
6050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
6150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		isa@7 {
6250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			device_type = "isa";
6350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			compatible = "pciclass,0601";
6450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			vendor-id = <0x00001106>;
6550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			device-id = <0x00000686>;
6650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			revision-id = <0x00000010>;
6750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			class-code = <0x00060100>;
6850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			subsystem-id = <0>;
6950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			subsystem-vendor-id = <0>;
7050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			devsel-speed = <0x00000001>;
7150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			min-grant = <0>;
7250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			max-latency = <0>;
736bb2ae535f2eee0334802724a542701bd969d055Gerhard Pircher			/* First 4k for I/O at 0x0 on PCI mapped to 0x0 on ISA. */
746bb2ae535f2eee0334802724a542701bd969d055Gerhard Pircher			ranges = <0x00000001 0 0x01000000 0 0x00000000 0x00001000>;
7550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			interrupt-parent = <&i8259>;
7650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			#interrupt-cells = <2>;
7750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			#address-cells = <2>;
7850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			#size-cells = <1>;
7950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
8050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			dma-controller@0 {
8150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,200";
8250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000000 0x00000020
8350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x00000080 0x00000010
8450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x000000c0 0x00000020>;
8550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
8650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
8750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			i8259: interrupt-controller@20 {
8850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "interrupt-controller";
8950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,000";
9050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupt-controller;
9150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000020 0x00000002
9250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x000000a0 0x00000002
9350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x000004d0 0x00000002>;
9450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reserved-interrupts = <2>;
9550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				#interrupt-cells = <2>;
9650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
9750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
9850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			timer@40 {
9950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				// Also adds pcspkr to platform devices.
10050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,100";
10150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000040 0x00000020>;
10250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
10350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
10450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			8042@60 {
10550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "8042";
10650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000060 0x00000001
10750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x00000064 0x00000001>;
10850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupts = <1 3 12 3>;
10950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				#address-cells = <1>;
11050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				#size-cells = <0>;
11150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
11250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				keyboard@0 {
11350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher					compatible = "pnpPNP,303";
11450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher					reg = <0>;
11550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				};
11650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
11750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				mouse@1 {
11850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher					compatible = "pnpPNP,f03";
11950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher					reg = <1>;
12050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				};
12150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
12250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
12350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			rtc@70 {
12450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,b00";
12550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000070 0x00000002>;
12650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupts = <8 3>;
12750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
12850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
12950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			serial@3f8 {
13050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "serial";
13150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,501","pnpPNP,500";
13250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x000003f8 0x00000008>;
13350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupts = <4 3>;
13450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				clock-frequency = <1843200>;
13550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				current-speed = <115200>;
13650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
13750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
13850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			serial@2f8 {
13950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "serial";
14050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,501","pnpPNP,500";
14150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x000002f8 0x00000008>;
14250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupts = <3 3>;
14350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				clock-frequency = <1843200>;
14450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				current-speed = <115200>;
14550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
14650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
14750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			parallel@378 {
14850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "parallel";
14950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				// No ECP support for now, otherwise add "pnpPNP,401".
15050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,400";
15150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x00000378 0x00000003
15250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				       1 0x00000778 0x00000003>;
15350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
15450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
15550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			fdc@3f0 {
15650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				device_type = "fdc";
15750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				compatible = "pnpPNP,700";
15850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				reg = <1 0x000003f0 0x00000008>;
15950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				interrupts = <6 3>;
16050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				#address-cells = <1>;
16150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				#size-cells = <0>;
16250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
16350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				disk@0 {
16450408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher					reg = <0>;
16550408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher				};
16650408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher			};
16750408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		};
16850408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	};
16950408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher
17050408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	chosen {
17150408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher		linux,stdout-path = "/pci@80000000/isa@7/serial@3f8";
17250408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher	};
17350408b7defa513a9ea1107b42674167e53ba7a4aGerhard Pircher};
174