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