aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-07-10 12:00:08 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-07-13 10:37:22 +0200
commit11478524a28498b8698779370e4575a42251c429 (patch)
treead96656d8183bda1cac3a12398d184dfe862569f /target
parentad81e2da0888a0c346c9ceeeaf0481386838f846 (diff)
downloadupstream-11478524a28498b8698779370e4575a42251c429.tar.gz
upstream-11478524a28498b8698779370e4575a42251c429.tar.bz2
upstream-11478524a28498b8698779370e4575a42251c429.zip
ramips: consolidate Netgear devices for mt7628
This creates a common DTSI and shared image definition for the relatively similar Netgear devices for mt7628 platform. As a side effect, this raises SPI flash frequency for the R6120, as it's expected to work there as well if it works for R6080 and R6020. Based on the data from the other devices, it also seems probable the 5g MAC address for R6120 could be extracted from the caldata, and the mtd-mac-address there could be dropped. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target')
-rw-r--r--target/linux/ramips/dts/mt7628an_netgear_r6020.dts133
-rw-r--r--target/linux/ramips/dts/mt7628an_netgear_r6080.dts86
-rw-r--r--target/linux/ramips/dts/mt7628an_netgear_r6120.dts93
-rw-r--r--target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi73
-rw-r--r--target/linux/ramips/image/Makefile2
-rw-r--r--target/linux/ramips/image/mt7621.mk2
-rw-r--r--target/linux/ramips/image/mt76x8.mk45
7 files changed, 151 insertions, 283 deletions
diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6020.dts b/target/linux/ramips/dts/mt7628an_netgear_r6020.dts
index 83a751c2f7..b0be381eca 100644
--- a/target/linux/ramips/dts/mt7628an_netgear_r6020.dts
+++ b/target/linux/ramips/dts/mt7628an_netgear_r6020.dts
@@ -1,10 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
-#include "mt7628an.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7628an_netgear_r6xxx.dtsi"
/ {
compatible = "netgear,r6020", "mediatek,mt7628an-soc";
@@ -17,16 +14,6 @@
led-upgrade = &led_power;
};
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
-
leds {
compatible = "gpio-leds";
@@ -65,101 +52,47 @@
&state_default {
gpio {
- groups = "p0led_an", "p1led_an", "p2led_an",
- "p3led_an", "p4led_an", "wdt",
- "wled_an";
+ groups = "p0led_an", "p1led_an", "p2led_an", "p3led_an",
+ "p4led_an", "wdt", "wled_an";
function = "gpio";
};
};
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <86000000>;
- m25p,fast-read;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x40000>;
- read-only;
- };
-
- factory: partition@40000 {
- label = "factory";
- reg = <0x40000 0x20000>;
- read-only;
- };
-
- partition@60000 {
- label = "nvram";
- reg = <0x60000 0x30000>;
- read-only;
- };
-
- partition@90000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x90000 0x6f0000>;
- };
-
- partition@780000 {
- label = "ML";
- reg = <0x780000 0x20000>;
- read-only;
- };
-
- partition@7a0000 {
- label = "ML1";
- reg = <0x7a0000 0x20000>;
- read-only;
- };
-
- partition@7c0000 {
- label = "ML2";
- reg = <0x7c0000 0x20000>;
- read-only;
- };
-
- partition@7e0000 {
- label = "POT";
- reg = <0x7e0000 0x10000>;
- read-only;
- };
-
- partition@7f0000 {
- label = "reserved";
- reg = <0x7f0000 0x10000>;
- read-only;
- };
- };
+&partitions {
+ partition@90000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x90000 0x6f0000>;
};
-};
-&wmac {
- status = "okay";
-};
+ partition@780000 {
+ label = "ML";
+ reg = <0x780000 0x20000>;
+ read-only;
+ };
-&ethernet {
- mtd-mac-address = <&factory 0x4>;
-};
+ partition@7a0000 {
+ label = "ML1";
+ reg = <0x7a0000 0x20000>;
+ read-only;
+ };
-&pcie {
- status = "okay";
-};
+ partition@7c0000 {
+ label = "ML2";
+ reg = <0x7c0000 0x20000>;
+ read-only;
+ };
+
+ partition@7e0000 {
+ label = "POT";
+ reg = <0x7e0000 0x10000>;
+ read-only;
+ };
-&pcie0 {
- wifi@0,0 {
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
+ partition@7f0000 {
+ label = "reserved";
+ reg = <0x7f0000 0x10000>;
+ read-only;
};
};
diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6080.dts b/target/linux/ramips/dts/mt7628an_netgear_r6080.dts
index 5bca023c71..b56bab8b41 100644
--- a/target/linux/ramips/dts/mt7628an_netgear_r6080.dts
+++ b/target/linux/ramips/dts/mt7628an_netgear_r6080.dts
@@ -1,10 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
-#include "mt7628an.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7628an_netgear_r6xxx.dtsi"
/ {
compatible = "netgear,r6080", "mediatek,mt7628an-soc";
@@ -18,16 +15,6 @@
label-mac-device = &ethernet;
};
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
-
leds {
compatible = "gpio-leds";
@@ -72,70 +59,17 @@
};
};
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <86000000>;
- m25p,fast-read;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x40000>;
- read-only;
- };
-
- factory: partition@40000 {
- label = "factory";
- reg = <0x40000 0x20000>;
- read-only;
- };
-
- partition@60000 {
- label = "nvram";
- reg = <0x60000 0x30000>;
- read-only;
- };
-
- partition@90000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x90000 0x760000>;
- };
-
- partition@7f0000 {
- label = "reserved";
- reg = <0x7f0000 0x10000>;
- read-only;
- };
- };
+&partitions {
+ partition@90000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x90000 0x760000>;
};
-};
-
-&wmac {
- status = "okay";
-};
-
-&ethernet {
- mtd-mac-address = <&factory 0x4>;
-};
-
-&pcie {
- status = "okay";
-};
-&pcie0 {
- wifi@0,0 {
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
+ partition@7f0000 {
+ label = "reserved";
+ reg = <0x7f0000 0x10000>;
+ read-only;
};
};
diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6120.dts b/target/linux/ramips/dts/mt7628an_netgear_r6120.dts
index 191538100c..51e51db3ec 100644
--- a/target/linux/ramips/dts/mt7628an_netgear_r6120.dts
+++ b/target/linux/ramips/dts/mt7628an_netgear_r6120.dts
@@ -1,9 +1,6 @@
/dts-v1/;
-#include "mt7628an.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7628an_netgear_r6xxx.dtsi"
/ {
compatible = "netgear,r6120", "mediatek,mt7628an-soc";
@@ -17,16 +14,6 @@
label-mac-device = &ethernet;
};
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
-
leds {
compatible = "gpio-leds";
@@ -77,77 +64,27 @@
&state_default {
gpio {
- groups = "p0led_an", "p1led_an", "p2led_an",
- "p3led_an", "p4led_an", "wdt",
- "wled_an", "uart1";
+ groups = "p0led_an", "p1led_an", "p2led_an", "p3led_an",
+ "p4led_an", "wdt", "wled_an", "uart1";
function = "gpio";
};
};
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <10000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x40000>;
- read-only;
- };
-
- factory: partition@40000 {
- label = "factory";
- reg = <0x40000 0x20000>;
- read-only;
- };
-
- partition@60000 {
- label = "nvram";
- reg = <0x60000 0x30000>;
- read-only;
- };
-
- partition@90000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x90000 0xf60000>;
- };
-
- partition@ff0000 {
- label = "reserved";
- reg = <0xff0000 0x10000>;
- read-only;
- };
- };
+&partitions {
+ partition@90000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x90000 0xf60000>;
};
-};
-&wmac {
- status = "okay";
+ partition@ff0000 {
+ label = "reserved";
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
};
-&ethernet {
+&wifi5 {
mtd-mac-address = <&factory 0x4>;
-};
-
-&pcie {
- status = "okay";
-};
-
-&pcie0 {
- wifi@0,0 {
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
- mtd-mac-address = <&factory 0x4>;
- mtd-mac-address-increment = <(2)>;
- };
+ mtd-mac-address-increment = <(2)>;
};
diff --git a/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi
new file mode 100644
index 0000000000..640591c316
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <86000000>;
+ m25p,fast-read;
+
+ partitions: partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ factory: partition@40000 {
+ label = "factory";
+ reg = <0x40000 0x20000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "nvram";
+ reg = <0x60000 0x30000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi5: wifi@0,0 {
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 3ee9828a64..d72d937ab8 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -11,7 +11,7 @@ DEVICE_VARS += LOADER_TYPE
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
-DEVICE_VARS += SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER
+DEVICE_VARS += SERCOMM_HWNAME SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER
DEVICE_VARS += JCG_MAXSIZE
loadaddr-y := 0x80000000
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 25de2fa597..9e5bd811b0 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -7,7 +7,7 @@ include ./common-tp-link.mk
DEFAULT_SOC := mt7621
KERNEL_DTB += -d21
-DEVICE_VARS += UIMAGE_MAGIC SERCOMM_HWNAME
+DEVICE_VARS += UIMAGE_MAGIC
# The OEM webinterface expects an kernel with initramfs which has the uImage
# header field ih_name.
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index de92c982cc..4b2255bd6a 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -189,60 +189,51 @@ define Device/mercury_mac1200r-v2
endef
TARGET_DEVICES += mercury_mac1200r-v2
-define Device/netgear_r6020
+define Device/netgear_r6xxx
BLOCKSIZE := 64k
- IMAGE_SIZE := 7104k
DEVICE_VENDOR := NETGEAR
- DEVICE_MODEL := R6020
- DEVICE_PACKAGES := kmod-mt76x2
- SERCOMM_HWID := CFR
- SERCOMM_HWVER := A001
- SERCOMM_SWVER := 0x0040
IMAGES += factory.img
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size
IMAGE/factory.img := pad-extra 576k | $$(IMAGE/default) | \
- pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | zip R6020.bin | \
- sercom-seal
+ pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
+ zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
+endef
+
+define Device/netgear_r6020
+ $(Device/netgear_r6xxx)
+ IMAGE_SIZE := 7104k
+ DEVICE_MODEL := R6020
+ DEVICE_PACKAGES := kmod-mt76x2
+ SERCOMM_HWNAME := R6020
+ SERCOMM_HWID := CFR
+ SERCOMM_HWVER := A001
+ SERCOMM_SWVER := 0x0040
endef
TARGET_DEVICES += netgear_r6020
define Device/netgear_r6080
- BLOCKSIZE := 64k
+ $(Device/netgear_r6xxx)
IMAGE_SIZE := 7552k
- DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := R6080
DEVICE_PACKAGES := kmod-mt76x2
+ SERCOMM_HWNAME := R6080
SERCOMM_HWID := CFR
SERCOMM_HWVER := A001
SERCOMM_SWVER := 0x0040
- IMAGES += factory.img
- IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
- pad-rootfs
- IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size
- IMAGE/factory.img := pad-extra 576k | $$(IMAGE/default) | \
- pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | zip R6080.bin | \
- sercom-seal
endef
TARGET_DEVICES += netgear_r6080
define Device/netgear_r6120
- BLOCKSIZE := 64k
+ $(Device/netgear_r6xxx)
IMAGE_SIZE := 15744k
- DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := R6120
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
+ SERCOMM_HWNAME := R6120
SERCOMM_HWID := CGQ
SERCOMM_HWVER := A001
SERCOMM_SWVER := 0x0040
- IMAGES += factory.img
- IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
- pad-rootfs
- IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size
- IMAGE/factory.img := pad-extra 576k | $$(IMAGE/default) | \
- pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | zip R6120.bin | \
- sercom-seal
endef
TARGET_DEVICES += netgear_r6120