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 -#include +#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 = ; - }; - }; - 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; + }; -ðernet { - 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 -#include +#include "mt7628an_netgear_r6xxx.dtsi" / { compatible = "netgear,r6080", "mediatek,mt7628an-soc"; @@ -18,16 +15,6 @@ label-mac-device = ðernet; }; - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - 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"; -}; - -ðernet { - 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 -#include +#include "mt7628an_netgear_r6xxx.dtsi" / { compatible = "netgear,r6120", "mediatek,mt7628an-soc"; @@ -17,16 +14,6 @@ label-mac-device = ðernet; }; - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - gpios = <&gpio 38 GPIO_ACTIVE_LOW>; - linux,code = ; - }; - }; - 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; + }; }; -ðernet { +&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 +#include + +/ { + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&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"; +}; + +ðernet { + 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