From 8b38a9450bd0e07306641d9250e1565f5804351b Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 15 Feb 2016 18:45:22 +0000 Subject: [PATCH] ramips: Add support for Phicomm PSG1208 This patch adds support for Phicomm PSG1208.This is a router with MT7620A SoC with 8M flash and 64M ram. The WPS led is uesd as status_led because the power light can't be controlled with GPIO. It seems that the 5g wifi led is connected to MT7612E and it can't be controlled with GPIO too. Signed-off-by: Chuanhong Guo SVN-Revision: 48721 --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 1 + 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/PSG1208.dts | 114 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + .../linux/ramips/mt7620/profiles/phicomm.mk | 16 +++ 8 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/PSG1208.dts create mode 100644 target/linux/ramips/mt7620/profiles/phicomm.mk 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 b10f5f1eba..d1b4e159ae 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -208,6 +208,9 @@ pbr-m1) ucidef_set_led_default "power" "power" "$board:blue:power" "1" ucidef_set_led_default "sys" "sys" "$board:blue:sys" "1" ;; +psg1208) + set_wifi_led "$board:white:wlan2g" + ;; px-4885) set_wifi_led "$board:orange:wifi" set_usb_led "$board:blue:storage" 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 98537292b1..0121e51665 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -74,6 +74,7 @@ ramips_setup_interfaces() mzk-w300nh2|\ oy-0001|\ pbr-m1|\ + psg1208|\ sap-g3200u3|\ wf-2881|\ whr-300hp2|\ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 59c5965396..c7c7815b25 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -75,7 +75,8 @@ get_status_led() { dir-645) status_led="$board:green:wps" ;; - cf-wr800n) + cf-wr800n|\ + psg1208) status_led="$board:white:wps" ;; cy-swr1100|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index aed8350291..c6c32fe7db 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -292,6 +292,9 @@ ramips_board_detect() { *"PBR-M1") name="pbr-m1" ;; + *"PSG1208") + name="psg1208" + ;; *"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 78edd22164..5575b4c980 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -84,6 +84,7 @@ platform_check_image() { nw718|\ oy-0001|\ pbr-m1|\ + psg1208|\ psr-680w|\ px-4885|\ re6500|\ diff --git a/target/linux/ramips/dts/PSG1208.dts b/target/linux/ramips/dts/PSG1208.dts new file mode 100644 index 0000000000..c3be8ef7cb --- /dev/null +++ b/target/linux/ramips/dts/PSG1208.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "PSG1208", "ralink,mt7620a-soc"; + model = "Phicomm PSG1208"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + 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>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "psg1208:white:wps"; + gpios = <&gpio1 15 1>; + }; + + wlan { + label = "psg1208:white:wlan2g"; + gpios = <&gpio3 0 1>; + }; + }; + + 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 = <0x198>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index a42f8b9dbc..8bdd76a35c 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -937,6 +937,7 @@ Image/Build/Profile/HC5661=$(call BuildFirmware/Default16M/$(1),$(1),hc5661,HC56 Image/Build/Profile/HC5761=$(call BuildFirmware/Default16M/$(1),$(1),hc5761,HC5761) Image/Build/Profile/HC5861=$(call BuildFirmware/Default16M/$(1),$(1),hc5861,HC5861) Image/Build/Profile/OY-0001=$(call BuildFirmware/Default16M/$(1),$(1),oy-0001,OY-0001) +Image/Build/Profile/PSG1208=$(call BuildFirmware/Default8M/$(1),$(1),psg1208,PSG1208) Image/Build/Profile/Y1=$(call BuildFirmware/Default16M/$(1),$(1),y1,Y1) Image/Build/Profile/Y1S=$(call BuildFirmware/Default16M/$(1),$(1),y1s,Y1S) Image/Build/Profile/MLW221=$(call BuildFirmware/Default16M/$(1),$(1),mlw221,MLW221) @@ -978,6 +979,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/HC5761,$(1)) $(call Image/Build/Profile/HC5861,$(1)) $(call Image/Build/Profile/OY-0001,$(1)) + $(call Image/Build/Profile/PSG1208,$(1)) $(call Image/Build/Profile/Y1,$(1)) $(call Image/Build/Profile/Y1S,$(1)) $(call Image/Build/Profile/MLW221,$(1)) diff --git a/target/linux/ramips/mt7620/profiles/phicomm.mk b/target/linux/ramips/mt7620/profiles/phicomm.mk new file mode 100644 index 0000000000..e083a4c975 --- /dev/null +++ b/target/linux/ramips/mt7620/profiles/phicomm.mk @@ -0,0 +1,16 @@ +# +# Copyright (C) 2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/PSG1208 + NAME:=Phicomm PSG1208 + PACKAGES:=kmod-mt76 +endef + +define Profile/PSG1208/Description + Default package set for Phicomm PSG1208. +endef +$(eval $(call Profile,PSG1208)) -- 2.25.1