123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738 |
- diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds
- index e63ef959caff..fd998f0b3c21 100644
- --- a/target/linux/ipq807x/base-files/etc/board.d/01_leds
- +++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds
- @@ -11,6 +11,10 @@ xiaomi,ax3600|\
- redmi,ax6)
- ucidef_set_led_netdev "wan" "WAN" "blue:network" "eth0"
- ;;
- +tplink,tl-er2260t)
- + ucidef_set_led_netdev "SFP1_active" "SFP1_ACTIVE" "green:sfp1" "eth5"
- + ucidef_set_led_netdev "SFP2_active" "SFP2_ACTIVE" "green:sfp2" "eth4"
- + ;;
- qnap,301w)
- ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0"
- ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1"
- diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network
- index 40c2d1de1a34..99745cdf4933 100644
- --- a/target/linux/ipq807x/base-files/etc/board.d/02_network
- +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
- @@ -21,6 +21,9 @@ ipq807x_setup_interfaces()
- zte,mf269)
- ucidef_set_interfaces_lan_wan "eth0" "eth1"
- ;;
- + tplink,tl-er2260t)
- + ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth5" "eth4"
- + ;;
- tplink,xtr10890)
- ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5"
- ;;
- diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- index 09b243a2dde8..ea2e8becf10c 100644
- --- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- @@ -46,6 +46,7 @@ platform_do_upgrade() {
- zte,mf269)
- nand_do_upgrade "$1"
- ;;
- + tplink,tl-er2260t|\
- tplink,xtr10890)
- nand_do_upgrade "$1"
- ;;
- diff --git a/target/linux/ipq807x/files-5.15/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts b/target/linux/ipq807x/files-5.15/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts
- new file mode 100644
- index 000000000000..fb6d4b831473
- --- /dev/null
- +++ b/target/linux/ipq807x/files-5.15/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts
- @@ -0,0 +1,666 @@
- +// SPDX-License-Identifier: GPL-2.0-only
- +/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
- + */
- +
- +/dts-v1/;
- +
- +#include "ipq8074.dtsi"
- +#include "ipq8074-ess.dtsi"
- +#include "ipq8074-hk-cpu.dtsi"
- +#include <dt-bindings/gpio/gpio.h>
- +#include <dt-bindings/input/input.h>
- +#include <dt-bindings/leds/common.h>
- +/ {
- + #address-cells = <0x2>;
- + #size-cells = <0x2>;
- + model = "TP-Link TL-ER2260T";
- + compatible = "tplink,tl-er2260t", "qcom,ipq8074";
- + qcom,msm-id = <0x143 0x0>;
- + interrupt-parent = <&intc>;
- +
- + aliases {
- + led-boot = &led_sys;
- + led-failsafe = &led_sys;
- + led-running = &led_sys;
- + led-upgrade = &led_sys;
- + serial0 = &blsp1_uart5;
- +
- + ethernet0 = "/soc/dp1";
- + ethernet1 = "/soc/dp2";
- + ethernet2 = "/soc/dp3";
- + ethernet3 = "/soc/dp4";
- + ethernet4 = "/soc/dp5";
- + ethernet5 = "/soc/dp6";
- + };
- +
- + chosen {
- + stdout-path = "serial0";
- + bootargs-append = " root=/dev/ubiblock0_1";
- + };
- +
- + gpio_keys {
- + compatible = "gpio-keys";
- + pinctrl-0 = <&button_pins>;
- + pinctrl-names = "default";
- +
- + reset {
- + label = "reset";
- + linux,code = <KEY_RESTART>;
- + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
- + linux,input-type = <1>;
- + debounce-interval = <60>;
- + };
- + };
- +
- + leds {
- + compatible = "gpio-leds";
- + pinctrl-0 = <&leds_pins>;
- + pinctrl-names = "default";
- +
- + led_sys: sys {
- + label = "green:sys";
- + gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
- + };
- +
- + usb {
- + label = "green:usb";
- + gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
- + linux,default-trigger = "usbport";
- + };
- +
- + sfp1-green {
- + label = "green:sfp1";
- + gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
- + };
- +
- + sfp2-green {
- + label = "green:sfp2";
- + gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
- + };
- + };
- +
- + spi@78b5000 {
- + status = "ok";
- + pinctrl-0 = <&spi_0_pins>;
- + pinctrl-names = "default";
- + cs-select = <0>;
- +
- + m25p80@0 {
- + compatible = "n25q128a11";
- + #address-cells = <1>;
- + #size-cells = <1>;
- + reg = <0>;
- + spi-max-frequency = <50000000>;
- + };
- + };
- +};
- +
- +&tlmm {
- + mdio_pins: mdio_pinmux {
- + mux_0 {
- + pins = "gpio68";
- + function = "mdc";
- + drive-strength = <8>;
- + bias-pull-up;
- + };
- + mux_1 {
- + pins = "gpio69";
- + function = "mdio";
- + drive-strength = <8>;
- + bias-pull-up;
- + };
- + mux_2 {
- + pins = "gpio44";
- + function = "gpio";
- + bias-pull-up;
- + };
- + };
- +
- + i2c_1_pins: i2c_1_pins {
- + pins = "gpio46", "gpio47";
- + function = "blsp2_i2c";
- + drive-strength = <8>;
- + bias-disable;
- + };
- +
- + button_pins: button_pins {
- + reset {
- + pins = "gpio50";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-pull-up;
- + };
- + };
- +
- + uniphy_pins: uniphy_pinmux {
- + mux {
- + pins = "gpio60";
- + function = "rx2";
- + bias-disable;
- + };
- + sfp_tx {
- + pins = "gpio59";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-pull-down;
- + output-high;
- + };
- + };
- +
- + leds_pins: leds_pinmux {
- + mux {
- + pins = "gpio21", "gpio22", "gpio65";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-pull-down;
- + };
- + led_sfp1_active {
- + pins = "gpio51";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-pull-down;
- + };
- + led_sfp2_active {
- + pins = "gpio55";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-pull-down;
- + };
- + };
- +};
- +
- +&mdio {
- + status = "okay";
- + pinctrl-0 = <&mdio_pins>;
- + pinctrl-names = "default";
- + reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
- +
- + phy0:ethernet-phy@0 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <0>;
- + };
- + phy1:ethernet-phy@1 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <1>;
- + };
- + phy2:ethernet-phy@2 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <2>;
- + };
- + phy3:ethernet-phy@3 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <3>;
- + };
- + phy4: ethernet-phy@29 {
- + reg = <29>;
- + };
- + phy5: ethernet-phy@30 {
- + reg = <30>;
- + };
- +};
- +
- +&switch {
- + status = "okay";
- + switch_cpu_bmp = <0x1>; /* cpu port bitmap */
- + switch_lan_bmp = <0x3e>; /* lan port bitmap */
- + switch_wan_bmp = <0x40>; /* wan port bitmap */
- + switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/
- + switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1*/ //use 10g_baser mode for default
- + switch_mac_mode2 = <0xe>; /* mac mode for uniphy instance2*/ //use 10g_baser mode for default
- + bm_tick_mode = <0>; /* bm tick mode */
- + tm_tick_mode = <0>; /* tm tick mode */
- + cmnblk_clk = "external_50MHz";
- +
- + qcom,port_phyinfo {
- + port@0 {
- + port_id = <1>;
- + phy_address = <0>;
- + };
- + port@1 {
- + port_id = <2>;
- + phy_address = <1>;
- + };
- + port@2 {
- + port_id = <3>;
- + phy_address = <2>;
- + };
- + port@3 {
- + port_id = <4>;
- + phy_address = <3>;
- + };
- + port@4 {
- + port_id = <5>;
- + phy_address = <29>;//29
- + phy_i2c_address = <29>;//29
- + phy-i2c-mode; /*i2c access phy */
- + media-type = "sfp"; /* fiber mode */
- + };
- + port@5 {
- + port_id = <6>;
- + phy_address = <30>;//30
- + phy_i2c_address = <30>;//30
- + phy-i2c-mode; /*i2c access phy */
- + media-type = "sfp"; /* fiber mode */
- + };
- + };
- + port_scheduler_resource {
- + port@0 {
- + port_id = <0>;
- + ucast_queue = <0 143>;
- + mcast_queue = <256 271>;
- + l0sp = <0 35>;
- + l0cdrr = <0 47>;
- + l0edrr = <0 47>;
- + l1cdrr = <0 7>;
- + l1edrr = <0 7>;
- + };
- + port@1 {
- + port_id = <1>;
- + ucast_queue = <144 159>;
- + mcast_queue = <272 275>;
- + l0sp = <36 39>;
- + l0cdrr = <48 63>;
- + l0edrr = <48 63>;
- + l1cdrr = <8 11>;
- + l1edrr = <8 11>;
- + };
- + port@2 {
- + port_id = <2>;
- + ucast_queue = <160 175>;
- + mcast_queue = <276 279>;
- + l0sp = <40 43>;
- + l0cdrr = <64 79>;
- + l0edrr = <64 79>;
- + l1cdrr = <12 15>;
- + l1edrr = <12 15>;
- + };
- + port@3 {
- + port_id = <3>;
- + ucast_queue = <176 191>;
- + mcast_queue = <280 283>;
- + l0sp = <44 47>;
- + l0cdrr = <80 95>;
- + l0edrr = <80 95>;
- + l1cdrr = <16 19>;
- + l1edrr = <16 19>;
- + };
- + port@4 {
- + port_id = <4>;
- + ucast_queue = <192 207>;
- + mcast_queue = <284 287>;
- + l0sp = <48 51>;
- + l0cdrr = <96 111>;
- + l0edrr = <96 111>;
- + l1cdrr = <20 23>;
- + l1edrr = <20 23>;
- + };
- + port@5 {
- + port_id = <5>;
- + ucast_queue = <208 223>;
- + mcast_queue = <288 291>;
- + l0sp = <52 55>;
- + l0cdrr = <112 127>;
- + l0edrr = <112 127>;
- + l1cdrr = <24 27>;
- + l1edrr = <24 27>;
- + };
- + port@6 {
- + port_id = <6>;
- + ucast_queue = <224 239>;
- + mcast_queue = <292 295>;
- + l0sp = <56 59>;
- + l0cdrr = <128 143>;
- + l0edrr = <128 143>;
- + l1cdrr = <28 31>;
- + l1edrr = <28 31>;
- + };
- + port@7 {
- + port_id = <7>;
- + ucast_queue = <240 255>;
- + mcast_queue = <296 299>;
- + l0sp = <60 63>;
- + l0cdrr = <144 159>;
- + l0edrr = <144 159>;
- + l1cdrr = <32 35>;
- + l1edrr = <32 35>;
- + };
- + };
- + port_scheduler_config {
- + port@0 {
- + port_id = <0>;
- + l1scheduler {
- + group@0 {
- + sp = <0 1>; /*L0 SPs*/
- + /*cpri cdrr epri edrr*/
- + cfg = <0 0 0 0>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + /*unicast queues*/
- + ucast_queue = <0 4 8>;
- + /*multicast queues*/
- + mcast_queue = <256 260>;
- + /*sp cpri cdrr epri edrr*/
- + cfg = <0 0 0 0 0>;
- + };
- + group@1 {
- + ucast_queue = <1 5 9>;
- + mcast_queue = <257 261>;
- + cfg = <0 1 1 1 1>;
- + };
- + group@2 {
- + ucast_queue = <2 6 10>;
- + mcast_queue = <258 262>;
- + cfg = <0 2 2 2 2>;
- + };
- + group@3 {
- + ucast_queue = <3 7 11>;
- + mcast_queue = <259 263>;
- + cfg = <0 3 3 3 3>;
- + };
- + };
- + };
- + port@1 {
- + port_id = <1>;
- + l1scheduler {
- + group@0 {
- + sp = <36>;
- + cfg = <0 8 0 8>;
- + };
- + group@1 {
- + sp = <37>;
- + cfg = <1 9 1 9>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <144>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <272>;
- + mcast_loop_pri = <4>;
- + cfg = <36 0 48 0 48>;
- + };
- + };
- + };
- + port@2 {
- + port_id = <2>;
- + l1scheduler {
- + group@0 {
- + sp = <40>;
- + cfg = <0 12 0 12>;
- + };
- + group@1 {
- + sp = <41>;
- + cfg = <1 13 1 13>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <160>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <276>;
- + mcast_loop_pri = <4>;
- + cfg = <40 0 64 0 64>;
- + };
- + };
- + };
- + port@3 {
- + port_id = <3>;
- + l1scheduler {
- + group@0 {
- + sp = <44>;
- + cfg = <0 16 0 16>;
- + };
- + group@1 {
- + sp = <45>;
- + cfg = <1 17 1 17>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <176>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <280>;
- + mcast_loop_pri = <4>;
- + cfg = <44 0 80 0 80>;
- + };
- + };
- + };
- + port@4 {
- + port_id = <4>;
- + l1scheduler {
- + group@0 {
- + sp = <48>;
- + cfg = <0 20 0 20>;
- + };
- + group@1 {
- + sp = <49>;
- + cfg = <1 21 1 21>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <192>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <284>;
- + mcast_loop_pri = <4>;
- + cfg = <48 0 96 0 96>;
- + };
- + };
- + };
- + port@5 {
- + port_id = <5>;
- + l1scheduler {
- + group@0 {
- + sp = <52>;
- + cfg = <0 24 0 24>;
- + };
- + group@1 {
- + sp = <53>;
- + cfg = <1 25 1 25>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <208>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <288>;
- + mcast_loop_pri = <4>;
- + cfg = <52 0 112 0 112>;
- + };
- + };
- + };
- + port@6 {
- + port_id = <6>;
- + l1scheduler {
- + group@0 {
- + sp = <56>;
- + cfg = <0 28 0 28>;
- + };
- + group@1 {
- + sp = <57>;
- + cfg = <1 29 1 29>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <224>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <292>;
- + mcast_loop_pri = <4>;
- + cfg = <56 0 128 0 128>;
- + };
- + };
- + };
- + port@7 {
- + port_id = <7>;
- + l1scheduler {
- + group@0 {
- + sp = <60>;
- + cfg = <0 32 0 32>;
- + };
- + group@1 {
- + sp = <61>;
- + cfg = <1 33 1 33>;
- + };
- + };
- + l0scheduler {
- + group@0 {
- + ucast_queue = <240>;
- + ucast_loop_pri = <16>;
- + mcast_queue = <296>;
- + cfg = <60 0 144 0 144>;
- + };
- + };
- + };
- + };
- +};
- +
- +&soc {
- + dp1: dp1 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <1>;
- + reg = <0x3a001000 0x200>;
- + qcom,mactype = <0>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <0>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- + dp2: dp2 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <2>;
- + reg = <0x3a001200 0x200>;
- + qcom,mactype = <0>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <1>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- + dp3: dp3 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <3>;
- + reg = <0x3a001400 0x200>;
- + qcom,mactype = <0>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <2>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- + dp4: dp4 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <4>;
- + reg = <0x3a001600 0x200>;
- + qcom,mactype = <0>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <3>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- + dp5: dp5 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <5>;
- + reg = <0x3a001800 0x200>;
- + qcom,mactype = <1>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <29>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- + dp6: dp6 {
- + device_type = "network";
- + compatible = "qcom,nss-dp";
- + qcom,id = <6>;
- + reg = <0x3a007000 0x3fff>;
- + qcom,mactype = <1>;
- + local-mac-address = [000000000000];
- + qcom,link-poll = <1>;
- + qcom,phy-mdio-addr = <30>;
- + phy-mode = "sgmii";
- + mdio-bus = <&mdio>;
- + };
- +
- + nss-macsec1 {
- + compatible = "qcom,nss-macsec";
- + phy_addr = <0x1c>;
- + phy_access_mode = <0x00>;
- + mdiobus = <&mdio>;
- + };
- +
- + watchdog@b017000 {
- + compatible = "qcom,kpss-wdt-ipq807x";
- + reg = <0xb017000 0x1000>;
- + reg-names = "kpss_wdt";
- + interrupt-names = "bark_irq";
- + interrupts = <0x00 0x03 0x00>;
- + clocks = <&sleep_clk>;
- + timeout-sec = <0x0a>;
- + wdt-max-timeout = <0x20>;
- + };
- +};
- +
- +&blsp1_i2c2 {
- + status = "okay";
- +};
- +
- +&blsp1_i2c3 {
- + pinctrl-0 = <&i2c_1_pins>;
- + pinctrl-names = "default";
- + status = "okay";
- +};
- +
- +&blsp1_uart5 {
- + status = "okay";
- +};
- +
- +&cryptobam {
- + status = "okay";
- +};
- +
- +&crypto {
- + status = "okay";
- +};
- +
- +&qpic_bam {
- + status = "okay";
- +};
- +
- +&qpic_nand {
- + status = "okay";
- +
- + nand@0 {
- + reg = <0>;
- + #address-cells = <1>;
- + #size-cells = <1>;
- + nand-ecc-strength = <4>;
- + nand-ecc-step-size = <512>;
- + nand-bus-width = <8>;
- +
- + partitions {
- + compatible = "qcom,smem-part";
- + };
- + };
- +};
- +
- +&qusb_phy_0 {
- + status = "okay";
- +};
- +
- +&ssphy_0 {
- + status = "okay";
- +};
- +
- +&usb_0 {
- + status = "okay";
- +};
- diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk
- index b853ae4338d0..8cbf99f7586e 100644
- --- a/target/linux/ipq807x/image/generic.mk
- +++ b/target/linux/ipq807x/image/generic.mk
- @@ -45,6 +45,19 @@ define Device/zte_mf269
- endef
- TARGET_DEVICES += zte_mf269
-
- +define Device/tplink_tl-er2260t
- + $(call Device/FitImage)
- + $(call Device/UbiFit)
- + DEVICE_DTS := ipq8070-tl-er2260t
- + DEVICE_DTS_CONFIG := config@hk07
- + BLOCKSIZE := 128k
- + PAGESIZE := 2048
- + BOARD_NAME := tplink,tl-er2260t
- + DEVICE_TITLE := TPLINK TL-ER2260T
- + DEVICE_PACKAGES := qca-ssdk-shell
- +endef
- +TARGET_DEVICES += tplink_tl-er2260t
- +
- define Device/tplink_xtr10890
- $(call Device/FitImage)
- $(call Device/UbiFit)
|