| // 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>; |
| }; |
| }; |
| }; |