1// SPDX-License-Identifier: ISC 2/* 3 * Device Tree file for the Arcom/Eurotech Vulcan board. 4 * This board is a single board computer in the PC/104 form factor based on 5 * IXP425, and was released around 2005. It previously had the name "Mercury". 6 */ 7 8/dts-v1/; 9 10#include "intel-ixp42x.dtsi" 11#include <dt-bindings/input/input.h> 12 13/ { 14 model = "Arcom/Eurotech Vulcan"; 15 compatible = "arcom,vulcan", "intel,ixp42x"; 16 #address-cells = <1>; 17 #size-cells = <1>; 18 19 memory@0 { 20 device_type = "memory"; 21 reg = <0x00000000 0x4000000>; 22 }; 23 24 chosen { 25 /* CHECKME: using a harddrive at /dev/sda1 as rootfs by default */ 26 bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootfstype=ext4 rootwait"; 27 stdout-path = "uart0:115200n8"; 28 }; 29 30 aliases { 31 serial0 = &uart0; 32 }; 33 34 onewire { 35 compatible = "w1-gpio"; 36 gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 37 }; 38 39 soc { 40 bus@c4000000 { 41 flash@0,0 { 42 compatible = "intel,ixp4xx-flash", "cfi-flash"; 43 bank-width = <2>; 44 /* 45 * 32 MB of Flash in 0x20000 byte blocks 46 * mapped in at CS0 and CS1. 47 * 48 * The documentation mentions the existence 49 * of a 16MB version, which we conveniently 50 * ignore. Shout if you own one! 51 */ 52 reg = <0 0x00000000 0x2000000>; 53 54 /* Expansion bus settings */ 55 intel,ixp4xx-eb-t3 = <3>; 56 intel,ixp4xx-eb-byte-access-on-halfword = <1>; 57 intel,ixp4xx-eb-write-enable = <1>; 58 59 partitions { 60 compatible = "redboot-fis"; 61 fis-index-block = <0x1ff>; 62 }; 63 }; 64 sram@2,0 { 65 /* 256 KB SDRAM memory at CS2 */ 66 compatible = "shared-dma-pool"; 67 device_type = "memory"; 68 reg = <2 0x00000000 0x40000>; 69 no-map; 70 /* Expansion bus settings */ 71 intel,ixp4xx-eb-t3 = <1>; 72 intel,ixp4xx-eb-t4 = <2>; 73 intel,ixp4xx-eb-ahb-split-transfers = <1>; 74 intel,ixp4xx-eb-write-enable = <1>; 75 intel,ixp4xx-eb-byte-access = <1>; 76 }; 77 serial@3,0 { 78 /* 79 * 8250-compatible Exar XR16L2551 2 x UART 80 * 81 * CHECKME: if special tweaks are needed, then fix the 82 * operating system to handle it. 83 */ 84 compatible = "exar,xr16l2551", "ns8250"; 85 reg = <3 0x00000000 0x10>; 86 interrupt-parent = <&gpio0>; 87 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 88 clock-frequency = <1843200>; 89 /* Expansion bus settings */ 90 intel,ixp4xx-eb-t3 = <3>; 91 intel,ixp4xx-eb-cycle-type = <1>; /* Motorola cycles */ 92 intel,ixp4xx-eb-write-enable = <1>; 93 intel,ixp4xx-eb-byte-access = <1>; 94 }; 95 gpio1: gpio@4,0 { 96 /* 97 * MMIO GPIO in one byte 98 */ 99 compatible = "arcom,vulcan-gpio"; 100 reg = <4 0x00000000 0x1>; 101 /* Expansion bus settings */ 102 intel,ixp4xx-eb-write-enable = <1>; 103 intel,ixp4xx-eb-byte-access = <1>; 104 }; 105 watchdog@5,0 { 106 compatible = "maxim,max6369"; 107 reg = <5 0x00000000 0x1>; 108 /* Expansion bus settings */ 109 intel,ixp4xx-eb-write-enable = <1>; 110 intel,ixp4xx-eb-byte-access = <1>; 111 }; 112 }; 113 114 pci@c0000000 { 115 status = "ok"; 116 117 /* 118 * Taken from Vulcan PCI boardfile. 119 * 120 * We have 2 slots (IDSEL) 1 and 2 with one dedicated interrupt 121 * per slot. This interrupt is shared (OR:ed) by all four pins. 122 */ 123 interrupt-map = 124 /* IDSEL 1 */ 125 <0x0800 0 0 1 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 2 */ 126 <0x0800 0 0 2 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 2 */ 127 <0x0800 0 0 3 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 2 */ 128 <0x0800 0 0 4 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 2 */ 129 /* IDSEL 2 */ 130 <0x1000 0 0 1 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 3 */ 131 <0x1000 0 0 2 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 3 */ 132 <0x1000 0 0 3 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 3 */ 133 <0x1000 0 0 4 &gpio0 3 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 3 */ 134 }; 135 136 /* EthB */ 137 ethernet@c8009000 { 138 status = "ok"; 139 queue-rx = <&qmgr 3>; 140 queue-txready = <&qmgr 20>; 141 phy-mode = "rgmii"; 142 phy-handle = <&phy0>; 143 144 mdio { 145 #address-cells = <1>; 146 #size-cells = <0>; 147 148 phy0: ethernet-phy@0 { 149 reg = <0>; 150 }; 151 152 phy1: ethernet-phy@1 { 153 reg = <1>; 154 }; 155 }; 156 }; 157 158 /* EthC */ 159 ethernet@c800a000 { 160 status = "ok"; 161 queue-rx = <&qmgr 4>; 162 queue-txready = <&qmgr 21>; 163 phy-mode = "rgmii"; 164 phy-handle = <&phy1>; 165 }; 166 }; 167}; 168