From 79a4d6475465adfb9f427567d737e022e09a18a5 Mon Sep 17 00:00:00 2001 From: gwrx Date: Wed, 27 May 2020 15:55:07 +0200 Subject: [PATCH] add support for Mikrotik LtAP LTE6 --- scripts/config/mconf_check | 0 .../mt7621_mikrotik_routerboard-ltap-lte6.dts | 187 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 7 + .../mt7621/base-files/etc/board.d/01_leds | 1 + .../mt7621/base-files/etc/board.d/02_network | 2 + .../etc/uci-defaults/04_led_migration | 2 + .../mt7621/base-files/lib/upgrade/platform.sh | 3 + 7 files changed, 202 insertions(+) create mode 100644 scripts/config/mconf_check create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-ltap-lte6.dts diff --git a/scripts/config/mconf_check b/scripts/config/mconf_check new file mode 100644 index 0000000000..e69de29bb2 diff --git a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-ltap-lte6.dts b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-ltap-lte6.dts new file mode 100644 index 0000000000..a58c532386 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-ltap-lte6.dts @@ -0,0 +1,187 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "mikrotik,routerboard-ltap-lte6", "mediatek,mt7621-soc"; + model = "MikroTik RouterBOARD LTAP LTE6"; + + aliases { + led-boot = &led_usr; + led-failsafe = &led_usr; + led-running = &led_usr; + led-upgrade = &led_usr; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + leds { + compatible = "gpio-leds"; + + led_usr: usr { + label = "routerboard-ltap-lte6:green:usr"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + res { + label = "res"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + pcie0_vcc_reg { + compatible = "regulator-fixed"; + regulator-name = "pcie0_vcc"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio 9 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + pcie1_vcc_reg { + compatible = "regulator-fixed"; + regulator-name = "pcie1_vcc"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + pcie2_vcc_reg { + compatible = "regulator-fixed"; + regulator-name = "pcie2_vcc"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio 11 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + regulator-always-on; + }; + + usb_vcc_reg { + compatible = "regulator-fixed"; + regulator-name = "usb_vcc"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 12 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <3125000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "RouterBoot"; + reg = <0x0 0x40000>; + read-only; + compatible = "mikrotik,routerboot-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader1"; + reg = <0x0 0x0>; + read-only; + }; + + hard_config: hard_config { + read-only; + }; + + partition@10000 { + label = "bootloader2"; + reg = <0x10000 0xf000>; + read-only; + }; + + soft_config { + }; + + partition@30000 { + label = "bios"; + reg = <0x30000 0x1000>; + read-only; + }; + }; + }; + }; + + flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + // XXX empiric value to obtain actual 10MHz SCK at the chip + spi-max-frequency = <3125000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + // Region <0x0 0x40000> seems reserved by OEM + + partition@40000 { + compatible = "mikrotik,minor"; + label = "firmware"; + reg = <0x040000 0xFC0000>; + }; + }; + }; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan"; + }; + }; +}; + +&state_default { + gpio { + groups = "uart2", "wdt"; + function = "gpio"; + }; +}; + +&sdhci { + status = "okay"; +}; + +&i2c { + status = "okay"; +}; + +&pcie { + status = "okay"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index e86c86cf11..e4398204fd 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -531,6 +531,13 @@ define Device/mikrotik_routerboard-750gr3 endef TARGET_DEVICES += mikrotik_routerboard-750gr3 +define Device/mikrotik_routerboard-ltap-lte6 + $(Device/MikroTik) + DEVICE_MODEL := RouterBOARD LTAP LTE6 + SUPPORTED_DEVICES += mikrotik,rbltaplte6 +endef +TARGET_DEVICES += mikrotik_routerboard-ltap-lte6 + define Device/mikrotik_routerboard-m11g $(Device/MikroTik) DEVICE_MODEL := RouterBOARD M11G diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index fdfd29d011..ff14cee98b 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -41,6 +41,7 @@ linksys,ea7500-v2) ucidef_set_led_netdev "lan4" "lan4 link" "$boardname:green:lan4" "lan4" "link" ucidef_set_led_netdev "wan" "wan link" "$boardname:green:wan" "wan" "link" ;; +mikrotik,routerboard-ltap-lte6|\ mikrotik,routerboard-m11g) ucidef_set_rssimon "wlan0" "200000" "1" ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" "wlan0" "1" "100" diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index ba9f7fb7b6..c700b0e6ad 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -9,6 +9,7 @@ ramips_setup_interfaces() local board="$1" case $board in + mikrotik,routerboard-ltap-lte6|\ asiarf,ap7621-001) ucidef_set_interfaces_lan_wan "lan" "wan" ;; @@ -99,6 +100,7 @@ ramips_setup_macs() ;; mikrotik,routerboard-750gr3|\ mikrotik,routerboard-m11g|\ + mikrotik,routerboard-ltap-lte6|\ mikrotik,routerboard-m33g) label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base") wan_mac=$label_mac diff --git a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration index 73140fd7d5..f0bdf2068e 100644 --- a/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration +++ b/target/linux/ramips/mt7621/base-files/etc/uci-defaults/04_led_migration @@ -9,6 +9,8 @@ boardonly="${board##*,}" case "$board" in mikrotik,routerboard-750gr3) migrate_leds "^rb750gr3:=$boardonly:" +mikrotik,routerboard-ltap-lte6) + migrate_leds "^rbltaplte6:=$boardonly:" mikrotik,routerboard-m11g) migrate_leds "^rbm11g:=$boardonly:" mikrotik,routerboard-m33g) diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 3cc29b244c..9f41cbee64 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -29,6 +29,9 @@ platform_do_upgrade() { ;; mikrotik,routerboard-750gr3|\ mikrotik,routerboard-m11g|\ + mikrotik,routerboard-ltap-lte6) + [ -z "$(rootfs_type)" ] && mtd erase firmware + ;; mikrotik,routerboard-m33g) [ -z "$(rootfs_type)" ] && mtd erase firmware ;;