Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.10.11.
  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-cells = <1>;
124			interrupt-map-mask = <0xf800 0 0 7>;
125			interrupt-map =
126			/* IDSEL 1 */
127			<0x0800 0 0 1 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 2 */
128			<0x0800 0 0 2 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 2 */
129			<0x0800 0 0 3 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 2 */
130			<0x0800 0 0 4 &gpio0 2 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 2 */
131			/* IDSEL 2 */
132			<0x1000 0 0 1 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 3 */
133			<0x1000 0 0 2 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 3 */
134			<0x1000 0 0 3 &gpio0 3 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 3 */
135			<0x1000 0 0 4 &gpio0 3 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 3 */
136		};
137
138		/* EthB */
139		ethernet@c8009000 {
140			status = "ok";
141			queue-rx = <&qmgr 3>;
142			queue-txready = <&qmgr 20>;
143			phy-mode = "rgmii";
144			phy-handle = <&phy0>;
145
146			mdio {
147				#address-cells = <1>;
148				#size-cells = <0>;
149
150				phy0: ethernet-phy@0 {
151					reg = <0>;
152				};
153
154				phy1: ethernet-phy@1 {
155					reg = <1>;
156				};
157			};
158		};
159
160		/* EthC */
161		ethernet@c800a000 {
162			status = "ok";
163			queue-rx = <&qmgr 4>;
164			queue-txready = <&qmgr 21>;
165			phy-mode = "rgmii";
166			phy-handle = <&phy1>;
167		};
168	};
169};