From dcae3723fdde4ef48ee1336abfbd2d57a2b8cc85 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 24 Jul 2015 09:09:22 +0000 Subject: [PATCH] ramips: add support for STORYLiNK SAP-G3200U3 STORYLiNK SAP-G3200U3 is an AC1200 router based on MT7621AT+MT7602EN+MT7612EN. It has 128MB DDR3, 8MB NOR FLASH, 5-port Gbps switch and 1x USB 3.0. The following patch adds support for this device. Tested and working: * ethernet * both WiFi radios * USB 3.0 * buttons * ethernet switch and USB diag LEDs * UART * GPIOs Tested and not working: * LEDs for WiFi radios (connected with WiFi chips, not supported in mt76?) * failsafe mode (known problem, needs workaround like other MTK based devices) More information in Wiki: http://wiki.openwrt.org/toh/storylink/sap-g3200u3 Signed-off-by: Piotr Dymacz SVN-Revision: 46454 --- .../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/SAP-G3200U3.dts | 122 ++++++++++++++++++ target/linux/ramips/image/Makefile | 6 +- .../ramips/mt7621/profiles/sap-g3200u3.mk | 18 +++ 8 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/SAP-G3200U3.dts create mode 100644 target/linux/ramips/mt7621/profiles/sap-g3200u3.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 0672a2272b..c6bfd7e7a8 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -184,6 +184,9 @@ case $board in ucidef_set_led_default "power" "power" "pbr-m1:green:power" "1" ucidef_set_led_default "sys" "sys" "pbr-m1:green:sys" "1" ;; + sap-g3200u3) + set_usb_led "storylink:green:usb" + ;; sl-r7205) set_wifi_led "rt2800pci-phy0::radio" ;; 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 f896afafee..da1854a415 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -140,6 +140,7 @@ ramips_setup_interfaces() whr-300hp2 | \ whr-600d | \ oy-0001 | \ + sap-g3200u3 | \ wsr-600 | \ wsr-1166 | \ wt1520 | \ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 319763e645..e63f0df079 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -150,6 +150,9 @@ get_status_led() { rut5xx) status_led="rut5xx:green:status" ;; + sap-g3200u3) + status_led="storylink:green:usb" + ;; sl-r7205) status_led="sl-r7205:green:status" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index d7fd5f91aa..b0a4506ad7 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -307,6 +307,9 @@ ramips_board_detect() { *"Sparklan WCR-150GN") name="wcr-150gn" ;; + *"STORYLiNK SAP-G3200U3") + name="sap-g3200u3" + ;; *"V22RW-2X2") name="v22rw-2x2" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 04af3225be..8221997a0a 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -90,6 +90,7 @@ platform_check_image() { rt-n15 | \ rt-n56u | \ rut5xx | \ + sap-g3200u3 | \ sl-r7205 | \ tew-691gr | \ tew-692gr | \ diff --git a/target/linux/ramips/dts/SAP-G3200U3.dts b/target/linux/ramips/dts/SAP-G3200U3.dts new file mode 100644 index 0000000000..06c2f23952 --- /dev/null +++ b/target/linux/ramips/dts/SAP-G3200U3.dts @@ -0,0 +1,122 @@ +/dts-v1/; + +/include/ "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "STORYLiNK SAP-G3200U3"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l6405d"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x1000>; + read-only; + }; + + partition@31000 { + label = "config"; + reg = <0x31000 0xf000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe006>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "storylink:green:usb"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 16 1>; + linux,code = <0x198>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio0 14 1>; + linux,code = <0xf7>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart3", "jtag"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index b71d935a93..46307ecd2c 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -926,7 +926,7 @@ endif # ifeq ($(SUBTARGET),mt7621) - TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 + TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 sap-g3200u3 endif define Device/mt7621 @@ -972,6 +972,10 @@ define Device/pbr-m1 IMAGE_SIZE := $(ralink_default_fw_size_16M) endef +define Device/sap-g3200u3 + DTS := SAP-G3200U3 +endef + # # MT7628 Profiles # diff --git a/target/linux/ramips/mt7621/profiles/sap-g3200u3.mk b/target/linux/ramips/mt7621/profiles/sap-g3200u3.mk new file mode 100644 index 0000000000..9ca4a2f743 --- /dev/null +++ b/target/linux/ramips/mt7621/profiles/sap-g3200u3.mk @@ -0,0 +1,18 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/SAP-G3200U3 + NAME:=STORYLiNK SAP-G3200U3 + PACKAGES:=\ + kmod-usb-core kmod-usb3 kmod-usb-hid \ + kmod-ledtrig-usbdev +endef + +define Profile/SAP-G3200U3/Description + Package set compatible with the STORYLiNK SAP-G3200U3 board. +endef +$(eval $(call Profile,SAP-G3200U3)) -- 2.30.2