From c5a7dc49d11810838af9eafdddadf92a3b8218aa Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 21 Apr 2017 00:53:03 +0200 Subject: [PATCH] ramips: split Phicomm PSG1218 and PSG1218K2C PSG1218 got only 4 Ethernet ports and WAN on port 3 while PSG1218K2C got 5 Ethernet ports and WAN on port 4 Switch to use kmod-kt76x2 instead of kmod-mt76 for both devices while at it. Signed-off-by: Daniel Golle --- .../ramips/base-files/etc/board.d/01_leds | 3 +- .../ramips/base-files/etc/board.d/02_network | 6 +- target/linux/ramips/base-files/etc/diag.sh | 3 +- target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/PSG1218.dts | 83 +------------------ target/linux/ramips/dts/PSG1218.dtsi | 74 +++++++++++++++++ target/linux/ramips/dts/PSG1218K2C.dts | 47 +++++++++++ target/linux/ramips/image/mt7620.mk | 9 +- 9 files changed, 145 insertions(+), 84 deletions(-) create mode 100644 target/linux/ramips/dts/PSG1218.dtsi create mode 100644 target/linux/ramips/dts/PSG1218K2C.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 4073d803f2..2c44a83f28 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -287,7 +287,8 @@ pbr-m1) psg1208) set_wifi_led "$board:white:wlan2g" ;; -psg1218) +psg1218\| +psg1218k2c) ucidef_set_led_netdev "Network" "Network" "$board:blue:status" "eth0" ucidef_set_led_default "status" "STATUS" "$board:yellow:status" "0" ;; diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 7bdebbe97f..b2966c26da 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -95,7 +95,7 @@ ramips_setup_interfaces() oy-0001|\ pbr-m1|\ psg1208|\ - psg1218|\ + psg1218k2c|\ r6220|\ sap-g3200u3|\ sk-wb8|\ @@ -115,6 +115,10 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0" ;; + psg1218) + ucidef_add_switch "switch0" \ + "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0" + ;; whr-300hp2|\ whr-600d|\ wsr-1166|\ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 3dbf87ac5d..af18264f99 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -104,7 +104,8 @@ get_status_led() { psg1208) status_led="$board:white:wps" ;; - psg1218) + psg1218|\ + psg1218k2c) status_led="$board:yellow:status" ;; cy-swr1100|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 786aecb99b..a75f5208a3 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -400,6 +400,9 @@ ramips_board_detect() { *"PSG1218") name="psg1218" ;; + *"PSG1218K2C") + name="psg1218k2c" + ;; *"PSR-680W"*) name="psr-680w" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 08fa45ad98..827109b59e 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -113,6 +113,7 @@ platform_check_image() { pbr-m1|\ psg1208|\ psg1218|\ + psg1218k2c|\ psr-680w|\ px-4885|\ rb750gr3|\ diff --git a/target/linux/ramips/dts/PSG1218.dts b/target/linux/ramips/dts/PSG1218.dts index 1e53dcef3d..0492d65502 100644 --- a/target/linux/ramips/dts/PSG1218.dts +++ b/target/linux/ramips/dts/PSG1218.dts @@ -1,8 +1,6 @@ /dts-v1/; -#include "mt7620a.dtsi" - -#include +#include "PSG1218.dtsi" / { compatible = "PSG1218", "ralink,mt7620a-soc"; @@ -10,7 +8,6 @@ gpio-leds { compatible = "gpio-leds"; - blue { label = "psg1218:blue:status"; gpios = <&gpio0 10 1>; @@ -23,59 +20,7 @@ red { label = "psg1218:red:status"; - gpios = <&gpio0 8 0>; - }; - }; - - gpio-keys-polled { - compatible = "gpio-keys-polled"; - #address-cells = <1>; - #size-cells = <0>; - poll-interval = <20>; - - reset { - label = "reset"; - gpios = <&gpio0 1 1>; - linux,code = ; - }; - }; -}; - -&gpio0 { - status = "okay"; -}; - -&spi0 { - status = "okay"; - - m25p80@0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <10000000>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x30000>; - read-only; - }; - - partition@20000 { - label = "u-boot-env"; - reg = <0x30000 0x10000>; - read-only; - }; - - factory: partition@30000 { - label = "factory"; - reg = <0x40000 0x10000>; - read-only; - }; - - partition@40000 { - label = "firmware"; - reg = <0x50000 0x7b0000>; + gpios = <&gpio0 8 0>; }; }; }; @@ -83,14 +28,9 @@ &pinctrl { state_default: pinctrl0 { gpio { - ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "pa"; ralink,function = "gpio"; }; - - pa { - ralink,group = "pa"; - ralink,function = "pa"; - }; }; }; @@ -100,20 +40,3 @@ mtd-mac-address = <&factory 0x28>; mediatek,portmap = "llllw"; }; - -&pcie { - status = "okay"; - - pcie-bridge { - mt76@0,0 { - reg = <0x0000 0 0 0 0>; - device_type = "pci"; - mediatek,mtd-eeprom = <&factory 0x8000>; - ieee80211-freq-limit = <5000000 6000000>; - }; - }; -}; - -&wmac { - ralink,mtd-eeprom = <&factory 0>; -}; diff --git a/target/linux/ramips/dts/PSG1218.dtsi b/target/linux/ramips/dts/PSG1218.dtsi new file mode 100644 index 0000000000..b3b58948d2 --- /dev/null +++ b/target/linux/ramips/dts/PSG1218.dtsi @@ -0,0 +1,74 @@ +#include "mt7620a.dtsi" + +#include + +/ { + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = ; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; +}; + +&pcie { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + }; + }; +}; + +&wmac { + ralink,mtd-eeprom = <&factory 0>; +}; diff --git a/target/linux/ramips/dts/PSG1218K2C.dts b/target/linux/ramips/dts/PSG1218K2C.dts new file mode 100644 index 0000000000..d8105b9a22 --- /dev/null +++ b/target/linux/ramips/dts/PSG1218K2C.dts @@ -0,0 +1,47 @@ +/dts-v1/; + +#include "PSG1218.dtsi" + +/ { + compatible = "PSG1218K2C", "ralink,mt7620a-soc"; + model = "Phicomm PSG1218K2C"; + + gpio-leds { + compatible = "gpio-leds"; + blue { + label = "psg1218k2c:blue:status"; + gpios = <&gpio0 10 1>; + }; + + yellow { + label = "psg1218k2c:yellow:status"; + gpios = <&gpio0 11 1>; + }; + + red { + label = "psg1218k2c:red:status"; + gpios = <&gpio0 8 0>; + }; + }; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; +}; + +ðernet { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x28>; + mediatek,portmap = "llllw"; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index 016e5acc59..63d5a7c00a 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -325,10 +325,17 @@ TARGET_DEVICES += psg1208 define Device/psg1218 DTS := PSG1218 DEVICE_TITLE := Phicomm PSG1218 - DEVICE_PACKAGES := kmod-mt76 + DEVICE_PACKAGES := kmod-mt76x2 endef TARGET_DEVICES += psg1218 +define Device/psg1218k2c + DTS := PSG1218K2C + DEVICE_TITLE := Phicomm PSG1218K2C + DEVICE_PACKAGES := kmod-mt76x2 +endef +TARGET_DEVICES += psg1218k2c + define Device/rp-n53 DTS := RP-N53 DEVICE_TITLE := Asus RP-N53