0
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2025-02-24 16:28:46 +00:00
openwrt/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rutx50.dts
David Bauer 897d55bcdf ipq40xx: add support for Teltonika RUTX50
Hardware
--------
CPU:     Qualcomm IPQ4018
RAM:     256M
Flash:   16MB SPI-NOR (W25Q128)
         128MB SPI-NAND (XTX)
WiFi:    2T2R (2GHz 802.11n ; 5 GHz 802.11ac)
ETH:     4x LAN ; 1x WAN (Gigabit)
CELL:    Quectel RG501Q 3G/4G/5G

UART: Available on the goldfinger connector (Pinout silkscreened)
      115200 8N1 3V3 - Only connect RX / TX / GND

Installation
------------

1. Enable SSH in the Teltonika UI
   (System --> Administration --> Access Control)

2. Check from which partition set the device is currently running from.

   $ cat /proc/boot_info/rootfs/primaryboot

   In case this output reads 0, install a Software update from Teltonika
   first. After upgrade completion, check this file now reads 1 before
   continuing.

2. Transfer the OpenWrt factory image to the device using scp. Use the
   same password (user root!) as used for the Web-UI.

   $ scp -O openwrt-factory.bin root@192.168.1.1:/tmp

3. Connect to the device using ssh as the root user.

4. Install OpenWrt by writing the factory image to flash.

   $ ubiformat /dev/mtd16 -y -f /tmp/openwrt-factory.bin

5. Instruct the bootloaer to boot from the first partition set.

   $ echo 0 > /proc/boot_info/rootfs/primaryboot
   $ cat /proc/boot_info/getbinary_bootconfig > /tmp/bootconfig.bin
   $ cat /proc/boot_info/getbinary_bootconfig1 > /tmp/bootconfig1.bin
   $ mtd write /tmp/bootconfig.bin /dev/mtd2
   $ mtd write /tmp/bootconfig1.bin /dev/mtd3

6. Reboot the device.

   $ reboot

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 844bb4bfad84cc6267f9b138d1f63b07ed3b77d0)
2023-07-26 15:37:56 +02:00

182 lines
3.0 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qcom-ipq4018-rutx.dtsi"
/ {
model = "Teltonika RUTX50";
compatible = "teltonika,rutx50";
aliases {
led-boot = &led_rssi0;
led-failsafe = &led_rssi0;
led-running = &led_rssi0;
led-upgrade = &led_rssi0;
label-mac-device = &gmac;
};
soc {
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
gpio_modem_reset {
gpio-export,name = "modem_reset";
gpio-export,output = <0>;
gpios = <&shift_io 8 GPIO_ACTIVE_HIGH>;
};
gpio_modem_power {
gpio-export,name = "modem_power";
gpio-export,output = <0>;
gpios = <&shift_io 9 GPIO_ACTIVE_HIGH>;
};
gpio_out_1 {
gpio-export,name = "sim-select";
/* 0 = SIM1 ; 1 = SIM2 */
gpio-export,output = <0>;
gpios = <&shift_io 10 GPIO_ACTIVE_HIGH>;
};
gpio_in_1 {
gpio-export,name = "sim-detect";
gpio-export,input = <0>;
gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
label = "green:sim1";
gpios = <&shift_io 14 GPIO_ACTIVE_HIGH>;
};
led-1 {
label = "green:sim2";
gpios = <&shift_io 15 GPIO_ACTIVE_HIGH>;
};
led-2 {
label = "green:eth";
gpios = <&shift_io 6 GPIO_ACTIVE_HIGH>;
};
led-3 {
label = "green:wifi";
gpios = <&shift_io 7 GPIO_ACTIVE_HIGH>;
};
led-4 {
label = "green:3g";
gpios = <&shift_io 5 GPIO_ACTIVE_HIGH>;
};
led-5 {
label = "green:4g";
gpios = <&shift_io 4 GPIO_ACTIVE_HIGH>;
};
led-6 {
label = "green:5g";
gpios = <&shift_io 3 GPIO_ACTIVE_HIGH>;
};
led_rssi0: led-7 {
label = "green:rssi0";
gpios = <&shift_io 0 GPIO_ACTIVE_HIGH>;
};
led-8 {
label = "green:rssi1";
gpios = <&shift_io 1 GPIO_ACTIVE_HIGH>;
};
led-9 {
label = "green:rssi2";
gpios = <&shift_io 2 GPIO_ACTIVE_HIGH>;
};
led-10 {
label = "green:wifi2g";
gpios = <&shift_io 12 GPIO_ACTIVE_HIGH>;
};
led-11 {
label = "green:wifi5g";
gpios = <&shift_io 13 GPIO_ACTIVE_HIGH>;
};
};
spi-gpio {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpio-sck = <&tlmm 1 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&tlmm 3 GPIO_ACTIVE_HIGH>;
cs-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
shift_io: shift_io@0 {
compatible = "fairchild,74hc595";
reg = <0>;
gpio-controller;
#gpio-cells = <2>;
/* Attn: This is specific to RUTX50 in Teltonika GPL */
registers-number = <2>;
spi-max-frequency = <10000000>;
};
};
};
};
&wifi0 {
status = "okay";
qcom,ath10k-calibration-variant = "Teltonika-RUTX10";
};
&wifi1 {
status = "okay";
qcom,ath10k-calibration-variant = "Teltonika-RUTX10";
};
&gmac {
status = "okay";
};
&switch {
status = "okay";
};
&swport1 {
status = "okay";
label = "lan1";
};
&swport2 {
status = "okay";
label = "lan2";
};
&swport3 {
status = "okay";
label = "lan3";
};
&swport4 {
status = "okay";
label = "lan4";
};
&swport5 {
status = "okay";
label = "wan";
};