// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "ar9344_teltonika_rut9xx.dtsi" / { model = "Teltonika RUT955"; compatible = "teltonika,rut955", "teltonika,rut9xx", "qca,ar9344"; aliases { led-boot = &led_system_green; led-failsafe = &led_system_red; led-running = &led_system_green; led-upgrade = &led_system_red; }; leds { compatible = "gpio-leds"; signal0 { label = "green:signal0"; gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; }; signal1 { label = "green:signal1"; gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; }; signal2 { label = "green:signal2"; gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; }; signal3 { label = "green:signal3"; gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; }; signal4 { label = "green:signal4"; gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>; }; led_system_red: system_red { label = "red:system"; gpios = <&gpio_ext 5 GPIO_ACTIVE_HIGH>; }; led_system_green: system_green { label = "green:system"; gpios = <&gpio_ext 6 GPIO_ACTIVE_HIGH>; default-state = "on"; }; }; }; &gpio { pinctrl-names = "default"; pinctrl-0 = <&jtag_disable_pins>; gpio-line-names = "RS485_D", "led_wan", "DIN3", "mmc_cs", "ext_sck", "", "", "", "", "", "", "", "ext_mosi", "led_lan2", "led_lan1", "", "i2c_scl", "i2c_sda", "", "DIN2", "ext_cs", "DIN1", "led_lan3", "", "", "", "", "", "", "", "", ""; ext_sck { gpio-hog; gpios = <4 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:ext:sck"; }; ext_mosi { gpio-hog; gpios = <12 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:ext:mosi"; }; ext_cs { gpio-hog; gpios = <20 GPIO_ACTIVE_HIGH>; output-low; line-name = "rut955:ext:cs"; }; mmc_cs { gpio-hog; gpios = <3 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:mmc:cs"; }; uart1_td { gpio-hog; gpios = <18 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:uart1:td"; }; uart1_rd { gpio-hog; gpios = <11 GPIO_ACTIVE_LOW>; input; line-name = "rut955:uart1:rd"; }; led_wan { gpio-hog; gpios = <1 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:led:wan"; }; led_lan2 { gpio-hog; gpios = <13 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:led:lan2"; }; led_lan1 { gpio-hog; gpios = <14 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:led:lan1"; }; led_lan3 { gpio-hog; gpios = <22 GPIO_ACTIVE_HIGH>; output-high; line-name = "rut955:led:lan3"; }; }; &spi { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pmx_spi>, <&pmx_spi_ext>; gpio_ext: gpio_ext@2 { compatible = "fairchild,74hc595"; reg = <2>; gpio-controller; #gpio-cells = <2>; registers-number = <2>; spi-max-frequency = <10000000>; gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3", "signal_bar4", "status_red", "status_green", "sim_sel", "DOUT1", "DOUT2", "modem_vbus", "modem_rst", "DOUT3", "RS485_R", "SDCS", "HWRST"; }; }; ð0 { status = "okay"; phy-handle = <&swphy4>; nvmem-cells = <&macaddr_config_0 1>; nvmem-cell-names = "mac-address"; }; ð1 { status = "okay"; nvmem-cells = <&macaddr_config_0 0>; nvmem-cell-names = "mac-address"; }; &builtin_switch { pinctrl-names = "default"; pinctrl-0 = <&pmx_leds_switch>; }; &pinmux { pmx_spi_ext: spi_ext { // 2nd SCK on GPIO 4, 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20 pinctrl-single,bits = <0x4 0x0a 0xff>, <0xc 0x0b 0xff>, <0x14 0x08 0xff>; }; };