From 80e70be0ab8461f2856ababa4b74fff9c9a331ed Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Tue, 27 Jul 2021 12:45:05 +0800 Subject: [PATCH] ramips: add new flash layout support to Phicomm K2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 [rebase, add/harmonize version in model variables, fix version typo in commit message, wrap commit message properly] Signed-off-by: Adrian Schmutzler --- ...1218a.dts => mt7620a_phicomm_k2-v22.4.dts} | 4 +-- .../ramips/dts/mt7620a_phicomm_k2-v22.5.dts | 29 +++++++++++++++++ target/linux/ramips/image/mt7620.mk | 32 ++++++++++++------- .../mt7620/base-files/etc/board.d/02_network | 6 ++-- 4 files changed, 56 insertions(+), 15 deletions(-) rename target/linux/ramips/dts/{mt7620a_phicomm_psg1218a.dts => mt7620a_phicomm_k2-v22.4.dts} (71%) create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts diff --git a/target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts b/target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts similarity index 71% rename from target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts rename to 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>; + }; +}; + +ðernet { + 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