aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch')
-rw-r--r--target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch165
1 files changed, 165 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch b/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
new file mode 100644
index 0000000000..6102963f82
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
@@ -0,0 +1,165 @@
+From 9f66e1dd82e3186aee95282657512ca2aef1afe0 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Wed, 19 Oct 2022 21:34:49 +0200
+Subject: [PATCH] ARM: dts: bcm53016: Add devicetree for D-Link DWL-8610AP
+
+This adds a device tree for the BCM53016-based D-Link DWL-8610AP
+access point wireless router.
+
+The TRX-format partitions had to be named "firmware" due to
+an OpenWrt patch that only accepts parting such nodes if they
+are named "firmware".
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20221019193449.3036010-2-linus.walleij@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ .../boot/dts/bcm53016-dlink-dwl-8610ap.dts | 131 ++++++++++++++++++
+ 2 files changed, 132 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -122,6 +122,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+ bcm47094-luxul-xwr-3150-v1.dtb \
+ bcm47094-netgear-r8500.dtb \
+ bcm47094-phicomm-k3.dtb \
++ bcm53016-dlink-dwl-8610ap.dtb \
+ bcm53016-meraki-mr32.dtb \
+ bcm94708.dtb \
+ bcm94709.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+@@ -0,0 +1,131 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/dts-v1/;
++
++#include "bcm4709.dtsi"
++#include "bcm5301x-nand-cs0-bch8.dtsi"
++#include <dt-bindings/leds/common.h>
++#include <dt-bindings/input/input.h>
++
++/ {
++ model = "D-Link DWL-8610AP";
++ compatible = "dlink,dwl-8610ap", "brcm,bcm53016", "brcm,bcm4708";
++
++ memory@0 {
++ device_type = "memory";
++ /* 512 MB RAM in 2 x Macronix D9PSH chips */
++ reg = <0x00000000 0x08000000>,
++ <0x88000000 0x08000000>;
++ };
++
++ leds {
++ compatible = "gpio-leds";
++
++ power {
++ function = LED_FUNCTION_POWER;
++ color = <LED_COLOR_ID_GREEN>;
++ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
++ default-state = "on";
++ };
++
++ diag {
++ /* Actually "diag" unclear what this means */
++ function = LED_FUNCTION_INDICATOR;
++ color = <LED_COLOR_ID_RED>;
++ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
++ default-state = "on";
++ linux,default-trigger = "heartbeat";
++ };
++
++ wlan-2g {
++ function = LED_FUNCTION_WLAN;
++ color = <LED_COLOR_ID_GREEN>;
++ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
++ };
++
++ wlan-5g {
++ function = LED_FUNCTION_WLAN;
++ color = <LED_COLOR_ID_GREEN>;
++ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
++ };
++ };
++
++ gpio_keys {
++ compatible = "gpio-keys";
++
++ button-reset {
++ debounce-interval = <100>;
++ wakeup-source;
++ linux,code = <KEY_RESTART>;
++ label = "reset";
++ /* This GPIO is actually stored in NVRAM, but it's not gonna change */
++ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
++ };
++ };
++
++ /*
++ * Flash memory at 0x1e000000-0x1fffffff
++ * Macronix 32 64KB blocks; total size 2MB, same that can be
++ * found attached to the spi_nor SPI controller.
++ */
++ nvram@1e080000 {
++ compatible = "brcm,nvram";
++ reg = <0x1e080000 0x00020000>;
++
++ et0macaddr: et0macaddr {
++ };
++
++ et1macaddr: et1macaddr {
++ };
++ };
++};
++
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
++&gmac1 {
++ nvmem-cells = <&et1macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
++&spi_nor {
++ /* Serial SPI NOR Flash MX 25L1606E */
++ status = "okay";
++};
++
++&nandcs {
++ /*
++ * Spansion S34ML01G100TFI00 128 MB NAND Flash memory
++ *
++ * This ECC is a bit unorthodox but it is what the stock firmware
++ * is using, so to be able to mount the original partitions
++ * this is necessary.
++ */
++ nand-ecc-strength = <5>;
++ partitions {
++ compatible = "fixed-partitions";
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ /* This is named nflash1.trx in CFE */
++ trx@0 {
++ label = "firmware";
++ reg = <0x00000000 0x02800000>;
++ compatible = "brcm,trx";
++ };
++
++ /* This is named nflash1.trx2 in CFE */
++ trx2@2800000 {
++ label = "firmware2";
++ reg = <0x02800000 0x02800000>;
++ compatible = "brcm,trx";
++ };
++
++ /* This is named nflash1.rwfs in CFE */
++ free@5000000 {
++ label = "free";
++ reg = <0x05000000 0x03000000>;
++ };
++ };
++};