1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/dts-v1/;
3
4#include "bcm4709.dtsi"
5#include "bcm5301x-nand-cs0-bch8.dtsi"
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/input/input.h>
8
9/ {
10	model = "D-Link DWL-8610AP";
11	compatible = "dlink,dwl-8610ap", "brcm,bcm53016", "brcm,bcm4708";
12
13	memory@0 {
14		device_type = "memory";
15		/* 512 MB RAM in 2 x Macronix D9PSH chips */
16		reg = <0x00000000 0x08000000>,
17		      <0x88000000 0x08000000>;
18	};
19
20	leds {
21		compatible = "gpio-leds";
22
23		led-power {
24			function = LED_FUNCTION_POWER;
25			color = <LED_COLOR_ID_GREEN>;
26			gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
27			default-state = "on";
28		};
29
30		led-diag {
31			/* Actually "diag" unclear what this means */
32			function = LED_FUNCTION_INDICATOR;
33			color = <LED_COLOR_ID_RED>;
34			gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
35			default-state = "on";
36			linux,default-trigger = "heartbeat";
37		};
38
39		led-wlan-2g {
40			function = LED_FUNCTION_WLAN;
41			color = <LED_COLOR_ID_GREEN>;
42			gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
43		};
44
45		led-wlan-5g {
46			function = LED_FUNCTION_WLAN;
47			color = <LED_COLOR_ID_GREEN>;
48			gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
49		};
50	};
51
52	gpio_keys {
53		compatible = "gpio-keys";
54
55		button-reset {
56			debounce-interval = <100>;
57			wakeup-source;
58			linux,code = <KEY_RESTART>;
59			label = "reset";
60			/* This GPIO is actually stored in NVRAM, but it's not gonna change */
61			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
62		};
63	};
64
65	/*
66	 * Flash memory at 0x1e000000-0x1fffffff
67	 * Macronix 32 64KB blocks; total size 2MB, same that can be
68	 * found attached to the spi_nor SPI controller.
69	 */
70	nvram@1e080000 {
71		compatible = "brcm,nvram";
72		reg = <0x1e080000 0x00020000>;
73
74		et0macaddr: et0macaddr {
75		};
76
77		et1macaddr: et1macaddr {
78		};
79	};
80};
81
82&gmac0 {
83	nvmem-cells = <&et0macaddr>;
84	nvmem-cell-names = "mac-address";
85};
86
87&gmac1 {
88	nvmem-cells = <&et1macaddr>;
89	nvmem-cell-names = "mac-address";
90};
91
92&spi_nor {
93	/* Serial SPI NOR Flash MX 25L1606E */
94	status = "okay";
95};
96
97&nandcs {
98	/*
99	 * Spansion S34ML01G100TFI00 128 MB NAND Flash memory
100	 *
101	 * This ECC is a bit unorthodox but it is what the stock firmware
102	 * is using, so to be able to mount the original partitions
103	 * this is necessary.
104	 */
105	nand-ecc-strength = <5>;
106	partitions {
107		compatible = "fixed-partitions";
108		#address-cells = <1>;
109		#size-cells = <1>;
110
111		/* This is named nflash1.trx in CFE */
112		trx@0 {
113			label = "firmware";
114			reg = <0x00000000 0x02800000>;
115			compatible = "brcm,trx";
116		};
117
118		/* This is named nflash1.trx2 in CFE */
119		trx2@2800000 {
120			label = "firmware2";
121			reg = <0x02800000 0x02800000>;
122			compatible = "brcm,trx";
123		};
124
125		/* This is named nflash1.rwfs in CFE */
126		free@5000000 {
127			label = "free";
128			reg = <0x05000000 0x03000000>;
129		};
130	};
131};
132