 6bb2ae535f
			
		
	
	
	6bb2ae535f
	
	
	
		
			
			The kernel reserves the I/O address space from 0x0 to 0xfff for legacy ISA devices. Change the ranges property for the PCI2ISA bridge to match the kernels behavior, even if the ranges property isn't used for now. Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
		
			
				
	
	
		
			173 lines
		
	
	
	
		
			4.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			173 lines
		
	
	
	
		
			4.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| /*
 | |
|  * AmigaOne Device Tree Source
 | |
|  *
 | |
|  * Copyright 2008 Gerhard Pircher (gerhard_pircher@gmx.net)
 | |
|  *
 | |
|  * This program is free software; you can redistribute  it and/or modify it
 | |
|  * under  the terms of  the GNU General  Public License as published by the
 | |
|  * Free Software Foundation;  either version 2 of the  License, or (at your
 | |
|  * option) any later version.
 | |
|  */
 | |
| 
 | |
| /dts-v1/;
 | |
| 
 | |
| / {
 | |
| 	model = "AmigaOne";
 | |
| 	compatible = "eyetech,amigaone";
 | |
| 	coherency-off;
 | |
| 	#address-cells = <1>;
 | |
| 	#size-cells = <1>;
 | |
| 
 | |
| 	cpus {
 | |
| 		#cpus = <1>;
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		cpu@0 {
 | |
| 			device_type = "cpu";
 | |
| 			reg = <0>;
 | |
| 			d-cache-line-size = <32>;	// 32 bytes
 | |
| 			i-cache-line-size = <32>;	// 32 bytes
 | |
| 			d-cache-size = <32768>;		// L1, 32K
 | |
| 			i-cache-size = <32768>;		// L1, 32K
 | |
| 			timebase-frequency = <0>;	// 33.3 MHz, from U-boot
 | |
| 			clock-frequency = <0>;		// From U-boot
 | |
| 			bus-frequency = <0>;		// From U-boot
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	memory {
 | |
| 		device_type = "memory";
 | |
| 		reg = <0 0>;				// From U-boot
 | |
| 	};
 | |
| 
 | |
| 	pci@80000000 {
 | |
| 		device_type = "pci";
 | |
| 		compatible = "mai-logic,articia-s";
 | |
| 		bus-frequency = <33333333>;
 | |
| 		bus-range = <0 0xff>;
 | |
| 		ranges = <0x01000000 0 0x00000000 0xfe000000 0 0x00c00000	// PCI I/O
 | |
| 		          0x02000000 0 0x80000000 0x80000000 0 0x7d000000	// PCI memory
 | |
| 		          0x02000000 0 0x00000000 0xfd000000 0 0x01000000>;	// PCI alias memory (ISA)
 | |
| 		// Configuration address and data register.
 | |
| 		reg = <0xfec00cf8 4
 | |
| 		       0xfee00cfc 4>;
 | |
| 		8259-interrupt-acknowledge = <0xfef00000>;
 | |
| 		// Do not define a interrupt-parent here, if there is no
 | |
| 		// interrupt-map property.
 | |
| 		#address-cells = <3>;
 | |
| 		#size-cells = <2>;
 | |
| 
 | |
| 		isa@7 {
 | |
| 			device_type = "isa";
 | |
| 			compatible = "pciclass,0601";
 | |
| 			vendor-id = <0x00001106>;
 | |
| 			device-id = <0x00000686>;
 | |
| 			revision-id = <0x00000010>;
 | |
| 			class-code = <0x00060100>;
 | |
| 			subsystem-id = <0>;
 | |
| 			subsystem-vendor-id = <0>;
 | |
| 			devsel-speed = <0x00000001>;
 | |
| 			min-grant = <0>;
 | |
| 			max-latency = <0>;
 | |
| 			/* First 4k for I/O at 0x0 on PCI mapped to 0x0 on ISA. */
 | |
| 			ranges = <0x00000001 0 0x01000000 0 0x00000000 0x00001000>;
 | |
| 			interrupt-parent = <&i8259>;
 | |
| 			#interrupt-cells = <2>;
 | |
| 			#address-cells = <2>;
 | |
| 			#size-cells = <1>;
 | |
| 
 | |
| 			dma-controller@0 {
 | |
| 				compatible = "pnpPNP,200";
 | |
| 				reg = <1 0x00000000 0x00000020
 | |
| 				       1 0x00000080 0x00000010
 | |
| 				       1 0x000000c0 0x00000020>;
 | |
| 			};
 | |
| 
 | |
| 			i8259: interrupt-controller@20 {
 | |
| 				device_type = "interrupt-controller";
 | |
| 				compatible = "pnpPNP,000";
 | |
| 				interrupt-controller;
 | |
| 				reg = <1 0x00000020 0x00000002
 | |
| 				       1 0x000000a0 0x00000002
 | |
| 				       1 0x000004d0 0x00000002>;
 | |
| 				reserved-interrupts = <2>;
 | |
| 				#interrupt-cells = <2>;
 | |
| 			};
 | |
| 
 | |
| 			timer@40 {
 | |
| 				// Also adds pcspkr to platform devices.
 | |
| 				compatible = "pnpPNP,100";
 | |
| 				reg = <1 0x00000040 0x00000020>;
 | |
| 			};
 | |
| 
 | |
| 			8042@60 {
 | |
| 				device_type = "8042";
 | |
| 				reg = <1 0x00000060 0x00000001
 | |
| 				       1 0x00000064 0x00000001>;
 | |
| 				interrupts = <1 3 12 3>;
 | |
| 				#address-cells = <1>;
 | |
| 				#size-cells = <0>;
 | |
| 
 | |
| 				keyboard@0 {
 | |
| 					compatible = "pnpPNP,303";
 | |
| 					reg = <0>;
 | |
| 				};
 | |
| 
 | |
| 				mouse@1 {
 | |
| 					compatible = "pnpPNP,f03";
 | |
| 					reg = <1>;
 | |
| 				};
 | |
| 			};
 | |
| 
 | |
| 			rtc@70 {
 | |
| 				compatible = "pnpPNP,b00";
 | |
| 				reg = <1 0x00000070 0x00000002>;
 | |
| 				interrupts = <8 3>;
 | |
| 			};
 | |
| 
 | |
| 			serial@3f8 {
 | |
| 				device_type = "serial";
 | |
| 				compatible = "pnpPNP,501","pnpPNP,500";
 | |
| 				reg = <1 0x000003f8 0x00000008>;
 | |
| 				interrupts = <4 3>;
 | |
| 				clock-frequency = <1843200>;
 | |
| 				current-speed = <115200>;
 | |
| 			};
 | |
| 
 | |
| 			serial@2f8 {
 | |
| 				device_type = "serial";
 | |
| 				compatible = "pnpPNP,501","pnpPNP,500";
 | |
| 				reg = <1 0x000002f8 0x00000008>;
 | |
| 				interrupts = <3 3>;
 | |
| 				clock-frequency = <1843200>;
 | |
| 				current-speed = <115200>;
 | |
| 			};
 | |
| 
 | |
| 			parallel@378 {
 | |
| 				device_type = "parallel";
 | |
| 				// No ECP support for now, otherwise add "pnpPNP,401".
 | |
| 				compatible = "pnpPNP,400";
 | |
| 				reg = <1 0x00000378 0x00000003
 | |
| 				       1 0x00000778 0x00000003>;
 | |
| 			};
 | |
| 
 | |
| 			fdc@3f0 {
 | |
| 				device_type = "fdc";
 | |
| 				compatible = "pnpPNP,700";
 | |
| 				reg = <1 0x000003f0 0x00000008>;
 | |
| 				interrupts = <6 3>;
 | |
| 				#address-cells = <1>;
 | |
| 				#size-cells = <0>;
 | |
| 
 | |
| 				disk@0 {
 | |
| 					reg = <0>;
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		linux,stdout-path = "/pci@80000000/isa@7/serial@3f8";
 | |
| 	};
 | |
| };
 |