// SPDX-License-Identifier: ISC /* * Device Tree file for the Arcom/Eurotech Vulcan board. * This board is a single board computer in the PC/104 form factor based on * IXP425, and was released around 2005. It previously had the name "Mercury". */ /dts-v1/; #include "intel-ixp42x.dtsi" #include <dt-bindings/input/input.h> / { model = "Arcom/Eurotech Vulcan"; compatible = "arcom,vulcan", "intel,ixp42x"; #address-cells = <1>; #size-cells = <1>; memory@0 { device_type = "memory"; reg = <0x00000000 0x4000000>; }; chosen { /* CHECKME: using a harddrive at /dev/sda1 as rootfs by default */ bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootfstype=ext4 rootwait"; stdout-path = "uart0:115200n8"; }; aliases { serial0 = &uart0; }; onewire { compatible = "w1-gpio"; gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; }; soc { bus@c4000000 { flash@0,0 { compatible = "intel,ixp4xx-flash", "cfi-flash"; bank-width = <2>; /* * 32 MB of Flash in 0x20000 byte blocks * mapped in at CS0 and CS1. * * The documentation mentions the existence * of a 16MB version, which we conveniently * ignore. Shout if you own one! */ reg = <0 0x00000000 0x2000000>; /* Expansion bus settings */ intel,ixp4xx-eb-t3 = <3>; intel,ixp4xx-eb-byte-access-on-halfword = <1>; intel,ixp4xx-eb-write-enable = <1>; partitions { compatible = "redboot-fis"; fis-index-block = <0x1ff>; }; }; sram@2,0 { /* 256 KB SDRAM memory at CS2 */ compatible = "shared-dma-pool"; device_type = "memory"; reg = <2 0x00000000 0x40000>; no-map; /* Expansion bus settings */ intel,ixp4xx-eb-t3 = <1>; intel,ixp4xx-eb-t4 = <2>; intel,ixp4xx-eb-ahb-split-transfers = <1>; intel,ixp4xx-eb-write-enable = <1>; intel,ixp4xx-eb-byte-access = <1>; }; serial@3,0 { /* * 8250-compatible Exar XR16L2551 2 x UART * * CHECKME: if special tweaks are needed, then fix the * operating system to handle it. */ compatible = "exar,xr16l2551", "ns8250"; reg = <3 0x00000000 0x10>; interrupt-parent = <&gpio0>; interrupts = <4 IRQ_TYPE_LEVEL_LOW>; clock-frequency = <1843200>; /* Expansion bus settings */ intel,ixp4xx-eb-t3 = <3>; intel,ixp4xx-eb-cycle-type = <1>; /* Motorola cycles */ intel,ixp4xx-eb-write-enable = <1>; intel,ixp4xx-eb-byte-access = <1>; }; gpio1: gpio@4,0 { /* * MMIO GPIO in one byte */ compatible = "arcom,vulcan-gpio"; reg = <4 0x00000000 0x1>; /* Expansion bus settings */ intel,ixp4xx-eb-write-enable = <1>; intel,ixp4xx-eb-byte-access = <1>; }; watchdog@5,0 { compatible = "maxim,max6369"; reg = <5 0x00000000 0x1>; /* Expansion bus settings */ intel,ixp4xx-eb-write-enable = <1>; intel,ixp4xx-eb-byte-access = <1>; }; }; pci@c0000000 { status = "okay"; /* * Taken from Vulcan PCI boardfile. * * We have 2 slots (IDSEL) 1 and 2 with one dedicated interrupt * per slot. This interrupt is shared (OR:ed) by all four pins. */ #interrupt-cells = <1>; interrupt-map-mask = <0xf800 0 0 7>; interrupt-map = /* IDSEL 1 */ <0x0800 0 0 1 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 2 */ <0x0800 0 0 2 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 2 */ <0x0800 0 0 3 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 2 */ <0x0800 0 0 4 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 2 */ /* IDSEL 2 */ <0x1000 0 0 1 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 3 */ <0x1000 0 0 2 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 3 */ <0x1000 0 0 3 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 3 */ <0x1000 0 0 4 &gpio0 3 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 3 */ }; /* EthB */ ethernet@c8009000 { status = "okay"; queue-rx = <&qmgr 3>; queue-txready = <&qmgr 20>; phy-mode = "rgmii"; phy-handle = <&phy0>; mdio { #address-cells = <1>; #size-cells = <0>; phy0: ethernet-phy@0 { reg = <0>; }; phy1: ethernet-phy@1 { reg = <1>; }; }; }; /* EthC */ ethernet@c800a000 { status = "okay"; queue-rx = <&qmgr 4>; queue-txready = <&qmgr 21>; phy-mode = "rgmii"; phy-handle = <&phy1>; }; }; };