bcm53xx: add support for Netgear R7000
authorrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 26 Aug 2015 16:20:39 +0000 (16:20 +0000)
committerrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 26 Aug 2015 16:20:39 +0000 (16:20 +0000)
Backport of r46363 r46730 r46731 r46732.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@46733 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
target/linux/bcm53xx/image/Makefile
target/linux/bcm53xx/patches-3.18/069-ARM-BCM5301X-Add-DT-for-Netgear-R7000.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-3.18/303-ARM-BCM5310X-Enable-earlyprintk-on-tested-devices.patch
target/linux/bcm53xx/patches-3.18/306-ARM-BCM5301X-Specify-RAM-on-devices-by-including-HIG.patch
target/linux/bcm53xx/patches-3.18/351-ARM-BCM5301X-Enable-ChipCommon-UART-serial-console.patch

index 131f6dd..eff7aff 100644 (file)
@@ -26,6 +26,7 @@ platform_expected_image() {
        case "$machine" in
                "netgear,r6250v1")      echo "chk U12H245T00_NETGEAR"; return;;
                "netgear,r6300v2")      echo "chk U12H240T00_NETGEAR"; return;;
+               "netgear,r7000")        echo "chk U12H270T00_NETGEAR"; return;;
                "netgear,r8000")        echo "chk U12H315T00_NETGEAR"; return;;
        esac
 }
index b22dfe5..0aeb6ea 100644 (file)
@@ -99,6 +99,14 @@ define Device/netgear
   REGION := 1
 endef
 
+define NetgearDevice
+  define Device/netgear-$(1)
+       $$(Device/netgear)
+       BOARD_ID := $(2)
+  endef
+  TARGET_DEVICES += netgear-$(1)
+endef
+
 define Device/netgear-r6250
   $(Device/netgear)
   BOARD_ID := U12H245T00_NETGEAR
@@ -129,5 +137,6 @@ $(eval $(call AsusDevice,rt-ac56u,RT-AC56U))
 $(eval $(call AsusDevice,rt-ac68u,RT-AC68U))
 $(eval $(call AsusDevice,rt-ac87u,RT-AC87U))
 $(eval $(call AsusDevice,rt-n18u,RT-N18U))
+$(eval $(call NetgearDevice,r7000,U12H270T00_NETGEAR))
 
 $(eval $(call BuildImage))
diff --git a/target/linux/bcm53xx/patches-3.18/069-ARM-BCM5301X-Add-DT-for-Netgear-R7000.patch b/target/linux/bcm53xx/patches-3.18/069-ARM-BCM5301X-Add-DT-for-Netgear-R7000.patch
new file mode 100644 (file)
index 0000000..2268871
--- /dev/null
@@ -0,0 +1,128 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
+Date: Wed, 26 Aug 2015 16:11:38 +0200
+Subject: [PATCH] ARM: BCM5301X: Add DT for Netgear R7000
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+---
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -67,6 +67,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+       bcm47081-buffalo-wzr-900dhp.dtb \
+       bcm4709-asus-rt-ac87u.dtb \
+       bcm4709-buffalo-wxr-1900dhp.dtb \
++      bcm4709-netgear-r7000.dtb \
+       bcm4709-netgear-r8000.dtb
+ dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
+ dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -0,0 +1,106 @@
++/*
++ * Broadcom BCM470X / BCM5301X ARM platform code.
++ * DTS for Netgear R7000
++ *
++ * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
++ *
++ * Licensed under the GNU/GPL. See COPYING for details.
++ */
++
++/dts-v1/;
++
++#include "bcm4708.dtsi"
++#include "bcm5301x-nand-cs0-bch8.dtsi"
++
++/ {
++      compatible = "netgear,r7000", "brcm,bcm4709", "brcm,bcm4708";
++      model = "Netgear R7000";
++
++      chosen {
++              bootargs = "console=ttyS0,115200";
++      };
++
++      memory {
++              reg = <0x00000000 0x08000000>;
++      };
++
++      leds {
++              compatible = "gpio-leds";
++
++              power-white {
++                      label = "bcm53xx:white:power";
++                      gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-on";
++              };
++
++              power-amber {
++                      label = "bcm53xx:amber:power";
++                      gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-off";
++              };
++
++              5ghz {
++                      label = "bcm53xx:white:5ghz";
++                      gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-off";
++              };
++
++              2ghz {
++                      label = "bcm53xx:white:2ghz";
++                      gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-off";
++              };
++
++              wps {
++                      label = "bcm53xx:white:wps";
++                      gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
++                      linux,default-trigger = "default-off";
++              };
++
++              wireless {
++                      label = "bcm53xx:white:wireless";
++                      gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
++                      linux,default-trigger = "default-off";
++              };
++
++              usb3 {
++                      label = "bcm53xx:white:usb3";
++                      gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-off";
++              };
++
++              usb2 {
++                      label = "bcm53xx:white:usb2";
++                      gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-off";
++              };
++      };
++
++      gpio-keys {
++              compatible = "gpio-keys";
++              #address-cells = <1>;
++              #size-cells = <0>;
++
++              wps {
++                      label = "WPS";
++                      linux,code = <KEY_WPS_BUTTON>;
++                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
++              };
++
++              rfkill {
++                      label = "WiFi";
++                      linux,code = <KEY_RFKILL>;
++                      gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
++              };
++
++              restart {
++                      label = "Reset";
++                      linux,code = <KEY_RESTART>;
++                      gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
++              };
++      };
++};
++
++&uart0 {
++      status = "okay";
++};
index 9b562ce..86025c1 100644 (file)
@@ -146,3 +146,14 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
        };
  
        memory {
+--- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -17,7 +17,7 @@
+       model = "Netgear R7000";
+       chosen {
+-              bootargs = "console=ttyS0,115200";
++              bootargs = "console=ttyS0,115200 earlyprintk";
+       };
+       memory {
index 6637a62..aab6b23 100644 (file)
@@ -159,3 +159,15 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
        };
  
        leds {
+--- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -21,7 +21,8 @@
+       };
+       memory {
+-              reg = <0x00000000 0x08000000>;
++              reg = <0x00000000 0x08000000
++                     0x88000000 0x08000000>;
+       };
+       leds {
index 87065de..bd68693 100644 (file)
@@ -248,3 +248,19 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
        leds {
                compatible = "gpio-leds";
  
+--- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -25,6 +25,13 @@
+                      0x88000000 0x08000000>;
+       };
++      chipcommonA {
++              uart0: serial@0300 {
++                      status = "okay";
++                      clock-frequency = <125000000>;
++              };
++      };
++
+       leds {
+               compatible = "gpio-leds";