mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-11 23:42:57 +00:00
ramips: add support for Mikrotik LtAP-2HnD
Mikrotik LtAP-2HnD is a outdoor/automotive WLAN 4 router with integrated GPS receiver and two mPCIe slots. Specifications: * SoC: MT7621A * RAM: 128 MiB Nanya NT5CC64M16GP-DI * Flash: 16 MiB winbond W25Q128JV * WLAN: * Atheros AR9382 with power amplifier SKY 85330 (2x2 internal antennas, with RF switches for external connectors) * Ethernet: 1 Gbps, single port * USB Host: USB 2.0 Speeds * Serial: 115200 baud * LEDs: Power, System, GPS, 5* RSSI * mPCIe: * miniPCIe slot 1: PCIe and USB 2.0 Host (via switch shared with USB Host) * miniPCIe slot 2: USB 2.0 and 3.0 * SIM Cards: * Slot 1 Connected to mPCIe slot 1 * Slot 2 and 3 connected to mPCIe slot 2 via switch * GPS: MTK 3333 on serial port 2 (/dev/ttyS1), 115200 baud and PPS on gpio 14 gpios are exposed to /sys/class/gpio: * usb-select: swithes USB 2.0 interface between external port and internal mPCIe slot 1 default is the external USB interface * gps-reset: resets the GPS interface chip * sim-select: switches between sim slot 2 and 3 connected to mPCIe slot 2 * gps-ant-select: switches GPS antenna between internal antenna and SMA connected antenna * lte-reset: resets mPCIe slot 2 Flashing: TFTP boot initramfs image and then perform sysupgrade. Follow common MikroTik procedure as in https://openwrt.org/toh/mikrotik/common. Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
This commit is contained in:
parent
5a1af6ed62
commit
ffa4b5283b
171
target/linux/ramips/dts/mt7621_mikrotik_ltap-2hnd.dts
Normal file
171
target/linux/ramips/dts/mt7621_mikrotik_ltap-2hnd.dts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "mt7621_mikrotik.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "mikrotik,ltap-2hnd", "mediatek,mt7621-soc";
|
||||||
|
model = "MikroTik RouterBOARD LtAP-2HnD";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_usr;
|
||||||
|
led-failsafe = &led_usr;
|
||||||
|
led-running = &led_usr;
|
||||||
|
led-upgrade = &led_usr;
|
||||||
|
};
|
||||||
|
|
||||||
|
ath9k-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
rssi0 {
|
||||||
|
label = "green:rssi0";
|
||||||
|
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
rssi1 {
|
||||||
|
label = "green:rssi1";
|
||||||
|
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
rssi2 {
|
||||||
|
label = "green:rssi2";
|
||||||
|
gpios = <&ath9k 2 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
rssi3 {
|
||||||
|
label = "green:rssi3";
|
||||||
|
gpios = <&ath9k 3 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
rssi4 {
|
||||||
|
label = "green:rssi4";
|
||||||
|
gpios = <&ath9k 4 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
pwr {
|
||||||
|
label = "blue:pwr";
|
||||||
|
gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
|
||||||
|
default-state = "on";
|
||||||
|
};
|
||||||
|
|
||||||
|
led_usr: usr {
|
||||||
|
label = "green:usr";
|
||||||
|
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gps {
|
||||||
|
label = "green:gps";
|
||||||
|
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* TODO: find GPIOs for the WLAN antenna switches */
|
||||||
|
gpio-export {
|
||||||
|
compatible = "gpio-export";
|
||||||
|
|
||||||
|
usb-select {
|
||||||
|
gpio-export,name = "usb-select";
|
||||||
|
gpio-export,output = <1>;
|
||||||
|
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
gps-reset {
|
||||||
|
gpio-export,name = "gps-reset";
|
||||||
|
gpio-export,output = <1>;
|
||||||
|
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
sim-select {
|
||||||
|
gpio-export,name = "sim-select";
|
||||||
|
gpio-export,output = <1>;
|
||||||
|
gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
gps-ant-select {
|
||||||
|
/* internal antenna = 0 */
|
||||||
|
gpio-export,name = "gps-ant-select";
|
||||||
|
gpio-export,output = <0>;
|
||||||
|
gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
lte-reset {
|
||||||
|
gpio-export,name = "lte-reset";
|
||||||
|
gpio-export,output = <1>;
|
||||||
|
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pps {
|
||||||
|
compatible = "pps-gpio";
|
||||||
|
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&partitions {
|
||||||
|
partition@40000 {
|
||||||
|
compatible = "mikrotik,minor";
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x040000 0xfc0000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ðernet {
|
||||||
|
pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&switch0 {
|
||||||
|
ports {
|
||||||
|
port@0 {
|
||||||
|
status = "okay";
|
||||||
|
label = "lan";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ath9k: wifi@0,0 {
|
||||||
|
compatible = "pci168c,0030";
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
qca,no-eeprom;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&state_default {
|
||||||
|
gpio {
|
||||||
|
groups = "uart2", "wdt", "rgmii2";
|
||||||
|
function = "gpio";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uartlite3 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
@ -1350,6 +1350,13 @@ define Device/MikroTik
|
|||||||
append-metadata
|
append-metadata
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Device/mikrotik_ltap-2hnd
|
||||||
|
$(Device/MikroTik)
|
||||||
|
DEVICE_MODEL := LtAP-2HnD
|
||||||
|
DEVICE_PACKAGES += kmod-ath9k kmod-pps-gpio rssileds
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += mikrotik_ltap-2hnd
|
||||||
|
|
||||||
define Device/mikrotik_routerboard-750gr3
|
define Device/mikrotik_routerboard-750gr3
|
||||||
$(Device/MikroTik)
|
$(Device/MikroTik)
|
||||||
DEVICE_MODEL := RouterBOARD 750Gr3
|
DEVICE_MODEL := RouterBOARD 750Gr3
|
||||||
|
@ -95,6 +95,7 @@ linksys,ea8100-v2)
|
|||||||
mikrotik,routerboard-760igs)
|
mikrotik,routerboard-760igs)
|
||||||
ucidef_set_led_netdev "sfp" "SFP" "blue:sfp" "sfp"
|
ucidef_set_led_netdev "sfp" "SFP" "blue:sfp" "sfp"
|
||||||
;;
|
;;
|
||||||
|
mikrotik,ltap-2hnd|\
|
||||||
mikrotik,routerboard-m11g)
|
mikrotik,routerboard-m11g)
|
||||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "green:rssi0" "wlan0" "1" "100"
|
ucidef_set_led_rssi "rssilow" "RSSILOW" "green:rssi0" "wlan0" "1" "100"
|
||||||
|
@ -12,6 +12,7 @@ ramips_setup_interfaces()
|
|||||||
asus,rp-ac56|\
|
asus,rp-ac56|\
|
||||||
asus,rp-ac87|\
|
asus,rp-ac87|\
|
||||||
edimax,re23s|\
|
edimax,re23s|\
|
||||||
|
mikrotik,ltap-2hnd|\
|
||||||
mikrotik,routerboard-m11g|\
|
mikrotik,routerboard-m11g|\
|
||||||
netgear,ex6150|\
|
netgear,ex6150|\
|
||||||
sercomm,na502|\
|
sercomm,na502|\
|
||||||
@ -218,6 +219,9 @@ ramips_setup_macs()
|
|||||||
lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
|
lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
|
||||||
wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
|
wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
|
||||||
label_mac=$lan_mac
|
label_mac=$lan_mac
|
||||||
|
mikrotik,ltap-2hnd)
|
||||||
|
label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
|
||||||
|
lan_mac=$label_mac
|
||||||
;;
|
;;
|
||||||
tplink,mr600-v2-eu)
|
tplink,mr600-v2-eu)
|
||||||
label_mac=$(cat "/sys/class/net/eth0/address")
|
label_mac=$(cat "/sys/class/net/eth0/address")
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||||
|
|
||||||
|
. /lib/functions/caldata.sh
|
||||||
|
|
||||||
|
caldata_mikrotik_ath9k() {
|
||||||
|
local offset=$(($1))
|
||||||
|
local count=$(($2))
|
||||||
|
local macaddr=$3
|
||||||
|
local wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
|
||||||
|
|
||||||
|
caldata_from_file $wlan_data $offset $count /tmp/$FIRMWARE
|
||||||
|
ath9k_patch_mac "$macaddr" /tmp/$FIRMWARE
|
||||||
|
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 $count
|
||||||
|
rm -f /tmp/$FIRMWARE
|
||||||
|
}
|
||||||
|
|
||||||
|
board=$(board_name)
|
||||||
|
|
||||||
|
case "$FIRMWARE" in
|
||||||
|
"ath9k-eeprom-pci-0000:01:00.0.bin")
|
||||||
|
case $board in
|
||||||
|
mikrotik,ltap-2hnd)
|
||||||
|
mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
|
||||||
|
caldata_mikrotik_ath9k 0x5000 0x440 $(macaddr_add "$mac_base" 1)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
caldata_die "board $board is not supported yet"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
@ -33,6 +33,7 @@ platform_do_upgrade() {
|
|||||||
fw_setenv --lock / bootImage 0 || exit 1
|
fw_setenv --lock / bootImage 0 || exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
mikrotik,ltap-2hnd|\
|
||||||
mikrotik,routerboard-750gr3|\
|
mikrotik,routerboard-750gr3|\
|
||||||
mikrotik,routerboard-760igs|\
|
mikrotik,routerboard-760igs|\
|
||||||
mikrotik,routerboard-m11g|\
|
mikrotik,routerboard-m11g|\
|
||||||
|
Loading…
Reference in New Issue
Block a user