ramips: provide common definition for ELECOM WRC GS devices
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 15 Jul 2020 18:08:22 +0000 (20:08 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 16 Jul 2020 11:39:44 +0000 (13:39 +0200)
Add a common definition for ELECOM WRC "GS" devices to mt7621.mk
to not repeat the same assignments five times.

To keep the naming consistent, slightly rename the DTSI and the
factory image recipe as well.

Note that elecom_wrc-1167ghbk2-s uses a slightly different build
recipe for the factory image, so we keep it separate.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: INAGAKI Hiroshi <musashino.open@gmail.com> [WRC-1750GSV]
target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts
target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts
target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts
target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts
target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts
target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi [deleted file]
target/linux/ramips/image/mt7621.mk

index 46d4c1a70876f3070dbe463478d42fcdade9e42b..d96fe0cfb543acb1b07489faa780e026a86421bf 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "mt7621_elecom_wrc-gst.dtsi"
+#include "mt7621_elecom_wrc-gs.dtsi"
 
 / {
        compatible = "elecom,wrc-1750gs", "mediatek,mt7621-soc";
index 6f2054b0769c42f3f8c935d7f5bdf049506bdc91..34631b5ce5c8dd0dee63fc64ad708ce862fee27e 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "mt7621_elecom_wrc-gst.dtsi"
+#include "mt7621_elecom_wrc-gs.dtsi"
 
 / {
        compatible = "elecom,wrc-1750gsv", "mediatek,mt7621-soc";
index 4b99cee31e612672e029260f34c96726fdbec0d2..c8e6d9c3c9d313860e9ccf0c514db48655366bc9 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /dts-v1/;
 
-#include "mt7621_elecom_wrc-gst.dtsi"
+#include "mt7621_elecom_wrc-gs.dtsi"
 
 / {
        compatible = "elecom,wrc-1900gst", "mediatek,mt7621-soc";
index 6158cf196ab309b391bebe53f5403f60b62b26ee..2c37c96961ebce62a90d3bb60352008fc4294a01 100644 (file)
@@ -1,6 +1,6 @@
 /dts-v1/;
 
-#include "mt7621_elecom_wrc-gst.dtsi"
+#include "mt7621_elecom_wrc-gs.dtsi"
 
 / {
        compatible = "elecom,wrc-2533gst", "mediatek,mt7621-soc";
index 01f32e9b206fc982d1f6b9e2521180d19caf4c7d..bce06a6b7dfe0a73f5e444c670277a78c34e732d 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "mt7621_elecom_wrc-gst.dtsi"
+#include "mt7621_elecom_wrc-gs.dtsi"
 
 / {
        compatible = "elecom,wrc-2533gst2", "mediatek,mt7621-soc";
diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi
new file mode 100644 (file)
index 0000000..c28ba7d
--- /dev/null
@@ -0,0 +1,199 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       aliases {
+               led-boot = &led_power_green;
+               led-failsafe = &led_power_green;
+               led-running = &led_power_green;
+               led-upgrade = &led_power_green;
+               label-mac-device = &wan;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_green: power_green {
+                       label = "wrc-gst:green:power";
+                       gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
+               };
+
+               power_blue {
+                       label = "wrc-gst:blue:power";
+                       gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
+               };
+
+               wps {
+                       label = "wrc-gst:red:wps";
+                       gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+               };
+
+               power_red {
+                       label = "wrc-gst:red:power";
+                       gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+
+               client {
+                       label = "client";
+                       gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+               };
+
+               ap {
+                       label = "ap";
+                       gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+               };
+
+               extender {
+                       label = "extender";
+                       gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+               };
+
+               router {
+                       label = "router";
+                       gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+                       linux,code = <BTN_0>;
+                       linux,input-type = <EV_SW>;
+               };
+       };
+};
+
+&gmac0 {
+       mtd-mac-address = <&factory 0xe000>;
+};
+
+&switch0 {
+       ports {
+               wan: port@0 {
+                       status = "okay";
+                       label = "wan";
+                       mtd-mac-address = <&factory 0xe006>;
+               };
+
+               port@1 {
+                       status = "okay";
+                       label = "lan4";
+               };
+
+               port@2 {
+                       status = "okay";
+                       label = "lan3";
+               };
+
+               port@3 {
+                       status = "okay";
+                       label = "lan2";
+               };
+
+               port@4 {
+                       status = "okay";
+                       label = "lan1";
+               };
+       };
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <40000000>;
+
+               partitions: partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0 0x30000>;
+                               read-only;
+                       };
+
+                       partition@30000 {
+                               label = "u-boot-env";
+                               reg = <0x30000 0x10000>;
+                               read-only;
+                       };
+
+                       factory: partition@40000 {
+                               label = "factory";
+                               reg = <0x40000 0x10000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "uart3", "jtag", "wdt", "sdhci";
+               function = "gpio";
+       };
+};
+
+&pcie {
+       status = "okay";
+};
+
+&pcie0 {
+       wifi@0,0 {
+               compatible = "mediatek,mt76";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x0000>;
+               ieee80211-freq-limit = <2400000 2500000>;
+
+               led {
+                       led-sources = <0>;
+                       led-active-low;
+               };
+       };
+};
+
+&pcie1 {
+       wifi@0,0 {
+               compatible = "mediatek,mt76";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+
+               led {
+                       led-sources = <0>;
+                       led-active-low;
+               };
+       };
+};
+
+&xhci {
+       status = "disabled";
+};
diff --git a/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi b/target/linux/ramips/dts/mt7621_elecom_wrc-gst.dtsi
deleted file mode 100644 (file)
index c28ba7d..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
-       aliases {
-               led-boot = &led_power_green;
-               led-failsafe = &led_power_green;
-               led-running = &led_power_green;
-               led-upgrade = &led_power_green;
-               label-mac-device = &wan;
-       };
-
-       chosen {
-               bootargs = "console=ttyS0,57600";
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               led_power_green: power_green {
-                       label = "wrc-gst:green:power";
-                       gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
-               };
-
-               power_blue {
-                       label = "wrc-gst:blue:power";
-                       gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
-               };
-
-               wps {
-                       label = "wrc-gst:red:wps";
-                       gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
-               };
-
-               power_red {
-                       label = "wrc-gst:red:power";
-                       gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
-               };
-       };
-
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-
-               wps {
-                       label = "wps";
-                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_WPS_BUTTON>;
-               };
-
-               client {
-                       label = "client";
-                       gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
-                       linux,code = <BTN_0>;
-                       linux,input-type = <EV_SW>;
-               };
-
-               ap {
-                       label = "ap";
-                       gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
-                       linux,code = <BTN_0>;
-                       linux,input-type = <EV_SW>;
-               };
-
-               extender {
-                       label = "extender";
-                       gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
-                       linux,code = <BTN_0>;
-                       linux,input-type = <EV_SW>;
-               };
-
-               router {
-                       label = "router";
-                       gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
-                       linux,code = <BTN_0>;
-                       linux,input-type = <EV_SW>;
-               };
-       };
-};
-
-&gmac0 {
-       mtd-mac-address = <&factory 0xe000>;
-};
-
-&switch0 {
-       ports {
-               wan: port@0 {
-                       status = "okay";
-                       label = "wan";
-                       mtd-mac-address = <&factory 0xe006>;
-               };
-
-               port@1 {
-                       status = "okay";
-                       label = "lan4";
-               };
-
-               port@2 {
-                       status = "okay";
-                       label = "lan3";
-               };
-
-               port@3 {
-                       status = "okay";
-                       label = "lan2";
-               };
-
-               port@4 {
-                       status = "okay";
-                       label = "lan1";
-               };
-       };
-};
-
-&spi0 {
-       status = "okay";
-
-       flash@0 {
-               compatible = "jedec,spi-nor";
-               reg = <0>;
-               spi-max-frequency = <40000000>;
-
-               partitions: partitions {
-                       compatible = "fixed-partitions";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-
-                       partition@0 {
-                               label = "u-boot";
-                               reg = <0x0 0x30000>;
-                               read-only;
-                       };
-
-                       partition@30000 {
-                               label = "u-boot-env";
-                               reg = <0x30000 0x10000>;
-                               read-only;
-                       };
-
-                       factory: partition@40000 {
-                               label = "factory";
-                               reg = <0x40000 0x10000>;
-                               read-only;
-                       };
-               };
-       };
-};
-
-&state_default {
-       gpio {
-               groups = "uart3", "jtag", "wdt", "sdhci";
-               function = "gpio";
-       };
-};
-
-&pcie {
-       status = "okay";
-};
-
-&pcie0 {
-       wifi@0,0 {
-               compatible = "mediatek,mt76";
-               reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x0000>;
-               ieee80211-freq-limit = <2400000 2500000>;
-
-               led {
-                       led-sources = <0>;
-                       led-active-low;
-               };
-       };
-};
-
-&pcie1 {
-       wifi@0,0 {
-               compatible = "mediatek,mt76";
-               reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x8000>;
-               ieee80211-freq-limit = <5000000 6000000>;
-
-               led {
-                       led-sources = <0>;
-                       led-active-low;
-               };
-       };
-};
-
-&xhci {
-       status = "disabled";
-};
index a16900aa8cf8962e99690822d5a88c02f81898b8..229897ffb5ba3c778981e097564e181c16475354 100644 (file)
@@ -7,7 +7,7 @@ include ./common-tp-link.mk
 DEFAULT_SOC := mt7621
 
 KERNEL_DTB += -d21
-DEVICE_VARS += UIMAGE_MAGIC
+DEVICE_VARS += UIMAGE_MAGIC ELECOM_HWNAME
 
 # The OEM webinterface expects an kernel with initramfs which has the uImage
 # header field ih_name.
@@ -23,7 +23,7 @@ define Build/custom-initramfs-uimage
        mv $@.new $@
 endef
 
-define Build/elecom-gst-factory
+define Build/elecom-wrc-gs-factory
        $(eval product=$(word 1,$(1)))
        $(eval version=$(word 2,$(1)))
        ( $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | tr -d '\n' ) >> $@
@@ -326,63 +326,52 @@ define Device/elecom_wrc-1167ghbk2-s
 endef
 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
 
-define Device/elecom_wrc-1750gs
+define Device/elecom_wrc-gs
   $(Device/uimage-lzma-loader)
-  IMAGE_SIZE := 11264k
   DEVICE_VENDOR := ELECOM
-  DEVICE_MODEL := WRC-1750GS
   IMAGES += factory.bin
   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
-       elecom-gst-factory WRC-1750GS 0.00
+       elecom-wrc-gs-factory $$$$(ELECOM_HWNAME) 0.00
   DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware wpad-basic
 endef
+
+define Device/elecom_wrc-1750gs
+  $(Device/elecom_wrc-gs)
+  IMAGE_SIZE := 11264k
+  DEVICE_MODEL := WRC-1750GS
+  ELECOM_HWNAME := WRC-1750GS
+endef
 TARGET_DEVICES += elecom_wrc-1750gs
 
 define Device/elecom_wrc-1750gsv
-  $(Device/uimage-lzma-loader)
+  $(Device/elecom_wrc-gs)
   IMAGE_SIZE := 11264k
-  DEVICE_VENDOR := ELECOM
   DEVICE_MODEL := WRC-1750GSV
-  IMAGES += factory.bin
-  IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
-       elecom-gst-factory WRC-1750GSV 0.00
-  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware wpad-basic
+  ELECOM_HWNAME := WRC-1750GSV
 endef
 TARGET_DEVICES += elecom_wrc-1750gsv
 
 define Device/elecom_wrc-1900gst
-  $(Device/uimage-lzma-loader)
+  $(Device/elecom_wrc-gs)
   IMAGE_SIZE := 11264k
-  DEVICE_VENDOR := ELECOM
   DEVICE_MODEL := WRC-1900GST
-  IMAGES += factory.bin
-  IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
-       elecom-gst-factory WRC-1900GST 0.00
-  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware wpad-basic
+  ELECOM_HWNAME := WRC-1900GST
 endef
 TARGET_DEVICES += elecom_wrc-1900gst
 
 define Device/elecom_wrc-2533gst
-  $(Device/uimage-lzma-loader)
+  $(Device/elecom_wrc-gs)
   IMAGE_SIZE := 11264k
-  DEVICE_VENDOR := ELECOM
   DEVICE_MODEL := WRC-2533GST
-  IMAGES += factory.bin
-  IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
-       elecom-gst-factory WRC-2533GST 0.00
-  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware wpad-basic
+  ELECOM_HWNAME := WRC-2533GST
 endef
 TARGET_DEVICES += elecom_wrc-2533gst
 
 define Device/elecom_wrc-2533gst2
-  $(Device/uimage-lzma-loader)
+  $(Device/elecom_wrc-gs)
   IMAGE_SIZE := 24576k
-  DEVICE_VENDOR := ELECOM
   DEVICE_MODEL := WRC-2533GST2
-  IMAGES += factory.bin
-  IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
-       elecom-gst-factory WRC-2533GST2 0.00
-  DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware wpad-basic
+  ELECOM_HWNAME := WRC-2533GST2
 endef
 TARGET_DEVICES += elecom_wrc-2533gst2