aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShiji Yang <yangshiji66@qq.com>2021-07-27 12:45:05 +0800
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-08-24 20:26:00 +0200
commit80e70be0ab8461f2856ababa4b74fff9c9a331ed (patch)
tree66309975455b792276f16782971c7c163263ebcb
parentc4143505e0c0ef39a4254888397c801b5dab455c (diff)
downloadupstream-80e70be0ab8461f2856ababa4b74fff9c9a331ed.tar.gz
upstream-80e70be0ab8461f2856ababa4b74fff9c9a331ed.tar.bz2
upstream-80e70be0ab8461f2856ababa4b74fff9c9a331ed.zip
ramips: add new flash layout support to Phicomm K2
Descriptions: Phicomm K2 (PSG1218) got a new "permanent_config" partition after update firmware to v22.5. This partition located in front of the firmware partition, same as The Phicomm K2P and K2G. Due to this change the new bootloader can't load previous firmware any more. This commit is aimed at add support for Phicomm K2 which official firmware version is 22.5.x or newer. For which runs old firmware version, just update OpenWrt that has a prefix of "k2-v22.4". For uniform naming, this commit also changed the model name PSG1218 to a more recognizable name K2, refer to Phicomm K2G, K2P K2T. OpenWrt selection table: official firmware version OpenWrt v22.4.x.x or older phicomm_k2-v22.4 v22.5.x.x or newer phicomm_k2-v22.5 Installation: Same as Phicomm K2G, K2P, PSG1208. a. TFTP + U-Boot b. Open telnet by some web page vulnerability (Search Baidu by key words "K2 telnet"), and then we can upload firmware image to /tmp and write it to firmware partition with mtd instruction. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [rebase, add/harmonize version in model variables, fix version typo in commit message, wrap commit message properly] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rw-r--r--target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts (renamed from target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts)4
-rw-r--r--target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts29
-rw-r--r--target/linux/ramips/image/mt7620.mk32
-rw-r--r--target/linux/ramips/mt7620/base-files/etc/board.d/02_network6
4 files changed, 56 insertions, 15 deletions
diff --git a/target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts b/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts
index cda05173b1..4e9fc1307b 100644
--- a/target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts
+++ b/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts
@@ -1,8 +1,8 @@
#include "mt7620a_phicomm_k2x.dtsi"
/ {
- compatible = "phicomm,psg1218a", "phicomm,psg1218", "ralink,mt7620a-soc";
- model = "Phicomm PSG1218 rev.A";
+ compatible = "phicomm,k2-v22.4", "ralink,mt7620a-soc";
+ model = "Phicomm K2 v22.4 or older";
};
&partitions {
diff --git a/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts b/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts
new file mode 100644
index 0000000000..2a682872c6
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts
@@ -0,0 +1,29 @@
+#include "mt7620a_phicomm_k2x.dtsi"
+
+/ {
+ compatible = "phicomm,k2-v22.5", "ralink,mt7620a-soc";
+ model = "Phicomm K2 v22.5 or newer";
+};
+
+&partitions {
+ partition@50000 {
+ label = "permanent_config";
+ reg = <0x50000 0x50000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0xa0000 0x760000>;
+ };
+};
+
+&ethernet {
+ mediatek,portmap = "llllw";
+};
+
+&wmac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pa_pins>;
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index c3b9bc9f6b..bfc7fa7db0 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -807,6 +807,27 @@ define Device/ohyeah_oy-0001
endef
TARGET_DEVICES += ohyeah_oy-0001
+define Device/phicomm_k2-v22.4
+ SOC := mt7620a
+ IMAGE_SIZE := 7872k
+ DEVICE_VENDOR := Phicomm
+ DEVICE_MODEL := K2
+ DEVICE_VARIANT:= v22.4 or older
+ DEVICE_PACKAGES := kmod-mt76x2
+ SUPPORTED_DEVICES += psg1218 psg1218a phicomm,psg1218a
+endef
+TARGET_DEVICES += phicomm_k2-v22.4
+
+define Device/phicomm_k2-v22.5
+ SOC := mt7620a
+ IMAGE_SIZE := 7552k
+ DEVICE_VENDOR := Phicomm
+ DEVICE_MODEL := K2
+ DEVICE_VARIANT:= v22.5 or newer
+ DEVICE_PACKAGES := kmod-mt76x2
+endef
+TARGET_DEVICES += phicomm_k2-v22.5
+
define Device/phicomm_k2g
SOC := mt7620a
IMAGE_SIZE := 7552k
@@ -826,17 +847,6 @@ define Device/phicomm_psg1208
endef
TARGET_DEVICES += phicomm_psg1208
-define Device/phicomm_psg1218a
- SOC := mt7620a
- IMAGE_SIZE := 7872k
- DEVICE_VENDOR := Phicomm
- DEVICE_MODEL := PSG1218
- DEVICE_VARIANT:= Ax
- DEVICE_PACKAGES := kmod-mt76x2
- SUPPORTED_DEVICES += psg1218 psg1218a
-endef
-TARGET_DEVICES += phicomm_psg1218a
-
define Device/phicomm_psg1218b
SOC := mt7620a
IMAGE_SIZE := 7872k
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index eaa8cbf7aa..057428e622 100644
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -107,7 +107,8 @@ ramips_setup_interfaces()
;;
dlink,dir-810l|\
netgear,jwnr2010-v5|\
- phicomm,psg1218a|\
+ phicomm,k2-v22.4|\
+ phicomm,k2-v22.5|\
trendnet,tew-810dr|\
zbtlink,zbt-we2026)
ucidef_add_switch "switch0" \
@@ -339,8 +340,9 @@ ramips_setup_macs()
wan_mac=$(macaddr_add "$(mtd_get_mac_binary u-boot 0x1fc20)" 2)
;;
lb-link,bl-w1200|\
+ phicomm,k2-v22.4|\
+ phicomm,k2-v22.5|\
phicomm,k2g|\
- phicomm,psg1218a|\
phicomm,psg1218b)
wan_mac=$(mtd_get_mac_binary factory 0x2e)
label_mac=$wan_mac