diff options
author | Nicholas Smith <mips171@icloud.com> | 2019-04-19 14:12:11 +1000 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2019-05-18 17:59:49 +0200 |
commit | 73e0f52b6e4e1c79e4e95573f2050ae9ff10ac00 (patch) | |
tree | 7d4cb49b09384b3d8c82cbe798149b680b2382f2 | |
parent | f5d2c91415a68f554815860d574145644fc31c16 (diff) | |
download | upstream-73e0f52b6e4e1c79e4e95573f2050ae9ff10ac00.tar.gz upstream-73e0f52b6e4e1c79e4e95573f2050ae9ff10ac00.tar.bz2 upstream-73e0f52b6e4e1c79e4e95573f2050ae9ff10ac00.zip |
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 <mips171@icloud.com>
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/02_network | 1 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/03_gpio_switches | 3 | ||||
-rw-r--r-- | target/linux/ramips/dts/Telco-Electronics-X1.dts | 172 | ||||
-rw-r--r-- | target/linux/ramips/image/mt7621.mk | 8 |
4 files changed, 184 insertions, 0 deletions
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 <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + 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 = <KEY_RESTART>; + }; + }; + + 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 |