From 73e0f52b6e4e1c79e4e95573f2050ae9ff10ac00 Mon Sep 17 00:00:00 2001 From: Nicholas Smith Date: Fri, 19 Apr 2019 14:12:11 +1000 Subject: [PATCH] ramips: add support for Telco Electronics X1 Hardware: SoC: MT7621 DRAM: 256MB DDR3 Flash: 16MB SPI-NOR WiFi: 2.4GHz: MT7603 @ PCIe0 WiFi: 5.8GHz: MT7612 @ PCIe1 Modem: Sierra Wireless MC74xx Interfaces: GBE RJ45 x5 mPCIe x2 UART x1 I2C x1 JTAG x1 UIM x1 LEDs x6 Flash instructions: Flash from within the factory bootloader, firmware web interface or CLI using sysupgrade -F -n Signed-off-by: Nicholas Smith --- .../ramips/base-files/etc/board.d/02_network | 1 + .../base-files/etc/board.d/03_gpio_switches | 3 + .../linux/ramips/dts/Telco-Electronics-X1.dts | 172 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 8 + 4 files changed, 184 insertions(+) create mode 100644 target/linux/ramips/dts/Telco-Electronics-X1.dts 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 9c9517a7f3..dcc7b4a747 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -119,6 +119,7 @@ ramips_setup_interfaces() rt-n12p|\ sap-g3200u3|\ sk-wb8|\ + telco-electronics,x1|\ unielec,u7621-06-256m-16m|\ unielec,u7621-06-512m-64m|\ vr500|\ diff --git a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches index 8abe107a7c..1406f91f8f 100755 --- a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches @@ -22,6 +22,9 @@ head-weblink,hdrm200) mikrotik,rb750gr3) ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "17" ;; +telco-electronics,x1) + ucidef_add_gpio_switch "modem_reset" "Modem Reset" "16" + ;; ubnt-erx) ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "0" ;; diff --git a/target/linux/ramips/dts/Telco-Electronics-X1.dts b/target/linux/ramips/dts/Telco-Electronics-X1.dts new file mode 100644 index 0000000000..33fc1810a2 --- /dev/null +++ b/target/linux/ramips/dts/Telco-Electronics-X1.dts @@ -0,0 +1,172 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "telco-electronics,x1", "mediatek,mt7621-soc"; + model = "Telco Electronics X1"; + + aliases { + led-boot = &system_led; + led-failsafe = &system_led; + led-running = &system_led; + led-upgrade = &system_led; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + system_led: system { + label = "x1:green:system"; + gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; + }; + + modem_offline { + label = "x1:red:modem-offline"; + gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; + }; + + modem_4g { + label = "x1:blue:modem-4g"; + gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; + }; + + modem_3g { + label = "x1:green:modem-3g"; + gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; + }; + + modem_rssi_lowest { + label = "x1:green:modem-rssi-lowest"; + gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + }; + + modem_rssi_low { + label = "x1:green:modem-rssi-low"; + gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; + }; + + modem_rssi_medium { + label = "x1:green:modem-rssi-medium"; + gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; + }; + + modem_rssi_high { + label = "x1:green:modem-rssi-high"; + gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; + }; + + modem_rssi_highest { + label = "x1:green:modem-rssi-highest"; + gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; + }; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <14000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + firmware: partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +ðernet { + mtd-mac-address = <&factory 0xe006>; + mediatek,portmap = "llllw"; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag", "uart2", "wdt", "rgmii2"; + ralink,function = "gpio"; + }; + }; +}; + +&pcie { + status = "okay"; + + pcie0 { + wifi@0,0 { + compatible = "pci14c3,7603"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + ieee80211-freq-limit = <2400000 2500000>; + }; + }; + + pcie1 { + wifi@0,0 { + compatible = "pci14c3,7662"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + led { + led-sources = <2>; + }; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 671e7f378a..c21b9b4b63 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -435,6 +435,14 @@ define Device/sk-wb8 endef TARGET_DEVICES += sk-wb8 +define Device/telco-electronics_x1 + DTS := Telco-Electronics-X1 + IMAGE_SIZE := 16064k + DEVICE_TITLE := Telco Electronics X1 + DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic +endef +TARGET_DEVICES += telco-electronics_x1 + define Device/timecloud DTS := Timecloud DEVICE_TITLE := Thunder Timecloud