xref: /freebsd-src/sys/contrib/device-tree/src/arm/intel/ixp/intel-ixp42x-iomega-nas100d.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: ISC
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Device Tree file for Iomega NAS 100D
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/dts-v1/;
7f126890aSEmmanuel Vadot
8f126890aSEmmanuel Vadot#include "intel-ixp42x.dtsi"
9f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot/ {
12f126890aSEmmanuel Vadot	model = "Iomega NAS 100D";
13f126890aSEmmanuel Vadot	compatible = "iom,nas-100d", "intel,ixp42x";
14f126890aSEmmanuel Vadot	#address-cells = <1>;
15f126890aSEmmanuel Vadot	#size-cells = <1>;
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot	memory@0 {
18f126890aSEmmanuel Vadot		/* 64 MB SDRAM */
19f126890aSEmmanuel Vadot		device_type = "memory";
20f126890aSEmmanuel Vadot		reg = <0x00000000 0x4000000>;
21f126890aSEmmanuel Vadot	};
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	chosen {
24f126890aSEmmanuel Vadot		bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
25f126890aSEmmanuel Vadot		stdout-path = "uart0:115200n8";
26f126890aSEmmanuel Vadot	};
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot	aliases {
29f126890aSEmmanuel Vadot		serial0 = &uart0;
30f126890aSEmmanuel Vadot	};
31f126890aSEmmanuel Vadot
32f126890aSEmmanuel Vadot	leds {
33f126890aSEmmanuel Vadot		compatible = "gpio-leds";
34f126890aSEmmanuel Vadot		led-wlan {
35f126890aSEmmanuel Vadot			label = "nas100d:red:wlan";
36f126890aSEmmanuel Vadot			gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
37f126890aSEmmanuel Vadot			default-state = "on";
38f126890aSEmmanuel Vadot			/* We don't have WLAN trigger in the kernel (yet) */
39f126890aSEmmanuel Vadot			linux,default-trigger = "netdev";
40f126890aSEmmanuel Vadot		};
41f126890aSEmmanuel Vadot		led-disk {
42f126890aSEmmanuel Vadot			label = "nas100d:red:disk";
43f126890aSEmmanuel Vadot			gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
44f126890aSEmmanuel Vadot			default-state = "on";
45f126890aSEmmanuel Vadot			linux,default-trigger = "disk-activity";
46f126890aSEmmanuel Vadot		};
47f126890aSEmmanuel Vadot		led-power {
48f126890aSEmmanuel Vadot			label = "nas100d:red:power";
49f126890aSEmmanuel Vadot			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
50f126890aSEmmanuel Vadot			default-state = "on";
51f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
52f126890aSEmmanuel Vadot		};
53f126890aSEmmanuel Vadot	};
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot	gpio_keys {
56f126890aSEmmanuel Vadot		compatible = "gpio-keys";
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot		button-power {
59f126890aSEmmanuel Vadot			wakeup-source;
60f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
61f126890aSEmmanuel Vadot			label = "power";
62f126890aSEmmanuel Vadot			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot		button-reset {
65f126890aSEmmanuel Vadot			wakeup-source;
66*84943d6fSEmmanuel Vadot			linux,code = <KEY_RESTART>;
67f126890aSEmmanuel Vadot			label = "reset";
68f126890aSEmmanuel Vadot			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
69f126890aSEmmanuel Vadot		};
70f126890aSEmmanuel Vadot	};
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot	i2c {
73f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
74f126890aSEmmanuel Vadot		sda-gpios = <&gpio0 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
75f126890aSEmmanuel Vadot		scl-gpios = <&gpio0 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
76f126890aSEmmanuel Vadot		#address-cells = <1>;
77f126890aSEmmanuel Vadot		#size-cells = <0>;
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot		rtc@51 {
80f126890aSEmmanuel Vadot			compatible = "nxp,pcf8563";
81f126890aSEmmanuel Vadot			reg = <0x51>;
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot	};
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot	gpio-poweroff {
86f126890aSEmmanuel Vadot		compatible = "gpio-poweroff";
87f126890aSEmmanuel Vadot		gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
88f126890aSEmmanuel Vadot		timeout-ms = <5000>;
89f126890aSEmmanuel Vadot	};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot	soc {
92f126890aSEmmanuel Vadot		bus@c4000000 {
93f126890aSEmmanuel Vadot			/* The first 16MB region at CS0 on the expansion bus */
94f126890aSEmmanuel Vadot			flash@0,0 {
95f126890aSEmmanuel Vadot				compatible = "intel,ixp4xx-flash", "cfi-flash";
96f126890aSEmmanuel Vadot				bank-width = <2>;
97f126890aSEmmanuel Vadot				/*
98f126890aSEmmanuel Vadot				 * 8 MB of Flash in 0x20000 byte blocks
99f126890aSEmmanuel Vadot				 * mapped in at CS0.
100f126890aSEmmanuel Vadot				 */
101f126890aSEmmanuel Vadot				reg = <0 0x00000000 0x800000>;
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot				partitions {
104f126890aSEmmanuel Vadot					compatible = "redboot-fis";
105f126890aSEmmanuel Vadot					/* Eraseblock at 0x7e0000 */
106f126890aSEmmanuel Vadot					fis-index-block = <0x3f>;
107f126890aSEmmanuel Vadot				};
108f126890aSEmmanuel Vadot			};
109f126890aSEmmanuel Vadot		};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot		pci@c0000000 {
112f126890aSEmmanuel Vadot			status = "okay";
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot			/*
115f126890aSEmmanuel Vadot			 * Taken from NAS 100D PCI boardfile (nas100d-pci.c)
116f126890aSEmmanuel Vadot			 * We have slots (IDSEL) 1, 2 and 3 and pins 1, 2 and 3.
117f126890aSEmmanuel Vadot			 */
118f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
119f126890aSEmmanuel Vadot			interrupt-map-mask = <0xf800 0 0 7>;
120f126890aSEmmanuel Vadot			interrupt-map =
121f126890aSEmmanuel Vadot			/* IDSEL 1 */
122f126890aSEmmanuel Vadot			<0x0800 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 11 */
123f126890aSEmmanuel Vadot			/* IDSEL 2 */
124f126890aSEmmanuel Vadot			<0x1000 0 0 1 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 10 */
125f126890aSEmmanuel Vadot			/* IDSEL 3 */
126f126890aSEmmanuel Vadot			<0x1800 0 0 1 &gpio0 9  IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 3 is irq 9 */
127f126890aSEmmanuel Vadot			<0x1800 0 0 2 &gpio0 8  IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 3 is irq 8 */
128f126890aSEmmanuel Vadot			<0x1800 0 0 3 &gpio0 7  IRQ_TYPE_LEVEL_LOW>; /* INT C on slot 3 is irq 7 */
129f126890aSEmmanuel Vadot		};
130f126890aSEmmanuel Vadot
131f126890aSEmmanuel Vadot		ethernet@c8009000 {
132f126890aSEmmanuel Vadot			status = "okay";
133f126890aSEmmanuel Vadot			queue-rx = <&qmgr 3>;
134f126890aSEmmanuel Vadot			queue-txready = <&qmgr 20>;
135f126890aSEmmanuel Vadot			phy-mode = "rgmii";
136f126890aSEmmanuel Vadot			phy-handle = <&phy0>;
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot			mdio {
139f126890aSEmmanuel Vadot				#address-cells = <1>;
140f126890aSEmmanuel Vadot				#size-cells = <0>;
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot				phy0: ethernet-phy@0 {
143f126890aSEmmanuel Vadot					reg = <0>;
144f126890aSEmmanuel Vadot				};
145f126890aSEmmanuel Vadot			};
146f126890aSEmmanuel Vadot		};
147f126890aSEmmanuel Vadot	};
148f126890aSEmmanuel Vadot};
149