0001 // SPDX-License-Identifier: ISC
0002 /*
0003 * Device Tree file for Linksys NSLU2
0004 */
0005
0006 /dts-v1/;
0007
0008 #include "intel-ixp42x.dtsi"
0009 #include <dt-bindings/input/input.h>
0010
0011 / {
0012 model = "Linksys NSLU2 (Network Storage Link for USB 2.0 Disk Drives)";
0013 compatible = "linksys,nslu2", "intel,ixp42x";
0014 #address-cells = <1>;
0015 #size-cells = <1>;
0016
0017 memory@0 {
0018 /* 32 MB SDRAM */
0019 device_type = "memory";
0020 reg = <0x00000000 0x2000000>;
0021 };
0022
0023 chosen {
0024 bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
0025 stdout-path = "uart0:115200n8";
0026 };
0027
0028 aliases {
0029 serial0 = &uart0;
0030 };
0031
0032 leds {
0033 compatible = "gpio-leds";
0034 led-status {
0035 label = "nslu2:red:status";
0036 gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
0037 default-state = "on";
0038 linux,default-trigger = "heartbeat";
0039 };
0040 led-ready {
0041 label = "nslu2:green:ready";
0042 gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
0043 default-state = "on";
0044 };
0045 led-disk-1 {
0046 label = "nslu2:green:disk-1";
0047 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
0048 default-state = "off";
0049 };
0050 led-disk-2 {
0051 label = "nslu2:green:disk-2";
0052 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
0053 default-state = "off";
0054 };
0055 };
0056
0057 gpio_keys {
0058 compatible = "gpio-keys";
0059
0060 button-power {
0061 wakeup-source;
0062 linux,code = <KEY_POWER>;
0063 label = "power";
0064 gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
0065 };
0066 button-reset {
0067 wakeup-source;
0068 linux,code = <KEY_ESC>;
0069 label = "reset";
0070 gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
0071 };
0072 };
0073
0074 i2c {
0075 compatible = "i2c-gpio";
0076 sda-gpios = <&gpio0 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0077 scl-gpios = <&gpio0 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
0078 #address-cells = <1>;
0079 #size-cells = <0>;
0080
0081 rtc@6f {
0082 compatible = "xicor,x1205";
0083 reg = <0x6f>;
0084 };
0085 };
0086
0087 gpio-poweroff {
0088 compatible = "gpio-poweroff";
0089 gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
0090 timeout-ms = <5000>;
0091 };
0092
0093 gpio-beeper {
0094 compatible = "gpio-beeper";
0095 gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
0096 };
0097
0098 soc {
0099 bus@c4000000 {
0100 /* The first 16MB region at CS0 on the expansion bus */
0101 flash@0,0 {
0102 compatible = "intel,ixp4xx-flash", "cfi-flash";
0103 bank-width = <2>;
0104 /*
0105 * 8 MB of Flash in 0x20000 byte blocks
0106 * mapped in at CS0.
0107 */
0108 reg = <0 0x00000000 0x800000>;
0109
0110 partitions {
0111 compatible = "redboot-fis";
0112 /* Eraseblock at 0x7e0000 */
0113 fis-index-block = <0x3f>;
0114 };
0115 };
0116 };
0117
0118 pci@c0000000 {
0119 status = "ok";
0120
0121 /*
0122 * Taken from NSLU2 PCI boardfile, INT A, B, C swizzled D constant
0123 * We have slots (IDSEL) 1, 2 and 3.
0124 */
0125 #interrupt-cells = <1>;
0126 interrupt-map-mask = <0xf800 0 0 7>;
0127 interrupt-map =
0128 /* IDSEL 1 */
0129 <0x0800 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 11 */
0130 <0x0800 0 0 2 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 10 */
0131 <0x0800 0 0 3 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 9 */
0132 <0x0800 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 8 */
0133 /* IDSEL 2 */
0134 <0x1000 0 0 1 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 10 */
0135 <0x1000 0 0 2 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 9 */
0136 <0x1000 0 0 3 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 11 */
0137 <0x1000 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 2 is irq 8 */
0138 /* IDSEL 3 */
0139 <0x1800 0 0 1 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 3 is irq 9 */
0140 <0x1800 0 0 2 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 3 is irq 11 */
0141 <0x1800 0 0 3 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 3 is irq 10 */
0142 <0x1800 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 3 is irq 8 */
0143 };
0144
0145 ethernet@c8009000 {
0146 status = "ok";
0147 queue-rx = <&qmgr 3>;
0148 queue-txready = <&qmgr 20>;
0149 phy-mode = "rgmii";
0150 phy-handle = <&phy1>;
0151
0152 mdio {
0153 #address-cells = <1>;
0154 #size-cells = <0>;
0155
0156 phy1: ethernet-phy@1 {
0157 reg = <1>;
0158 };
0159 };
0160 };
0161 };
0162 };