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