]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: add TP-Link Archer AX55 v1
authorGabor Juhos <j4g8y7@gmail.com>
Tue, 26 Mar 2024 14:52:28 +0000 (15:52 +0100)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 May 2024 17:06:17 +0000 (12:06 -0500)
Add device tree source for the TP-Link Archer AX55 v1 [1]
which is a dual-band WiFi router based on the IPQ5018 SoC.

At the moment, only the UART, the GPIO LEDs and buttons
are usable, but it makes it possible to boot an initramfs
image on the device.

The device tree can be extended in the future, once support
for other periherals will be available for the platform.

1. https://www.tp-link.com/en/home-networking/wifi-router/archer-ax55/v1/

Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Link: https://lore.kernel.org/r/20240326-archer-ax55-v1-v4-2-dc5b54a4bb00@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/ipq5018-tplink-archer-ax55-v1.dts [new file with mode: 0644]

index 0cf3d5f764f83c2015927de34f80dc6b6766ac35..e8c5b364a09b025dae57874c013b922abe6b09c0 100644 (file)
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += apq8094-sony-xperia-kitakami-karin_windy.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8096-db820c.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += apq8096-ifc6640.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-rdp432-c2.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-tplink-archer-ax55-v1.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5332-rdp441.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5332-rdp442.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5332-rdp468.dtb
diff --git a/arch/arm64/boot/dts/qcom/ipq5018-tplink-archer-ax55-v1.dts b/arch/arm64/boot/dts/qcom/ipq5018-tplink-archer-ax55-v1.dts
new file mode 100644 (file)
index 0000000..5bb021c
--- /dev/null
@@ -0,0 +1,128 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+#include "ipq5018.dtsi"
+
+/ {
+       model = "TP-Link Archer AX55 v1";
+       compatible = "tplink,archer-ax55-v1", "qcom,ipq5018";
+
+       aliases {
+               serial0 = &blsp1_uart1;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
+
+               led-0 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_LAN;
+                       gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-1 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WAN_ONLINE;
+                       gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-2 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WLAN_2GHZ;
+                       gpios = <&tlmm 13 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-3 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_POWER;
+                       gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-4 {
+                       color = <LED_COLOR_ID_ORANGE>;
+                       function = LED_FUNCTION_WAN;
+                       gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-5 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_USB;
+                       gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-6 {
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_WLAN_5GHZ;
+                       gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       buttons {
+               compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
+
+               button-reset {
+                       debounce-interval = <60>;
+                       gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+               };
+
+               button-wps {
+                       debounce-interval = <60>;
+                       gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
+                       label = "wps";
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+};
+
+&blsp1_uart1 {
+       pinctrl-0 = <&uart_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&sleep_clk {
+       clock-frequency = <32000>;
+};
+
+&tlmm {
+       button_pins: button-pins-state {
+               pins = "gpio25", "gpio31";
+               function = "gpio";
+               drive-strength = <8>;
+               bias-pull-up;
+       };
+
+       led_pins: led-pins-state {
+               pins = "gpio10", "gpio11", "gpio13", "gpio18", "gpio22",
+                      "gpio38", "gpio39";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       uart_pins: uart-pins-state {
+               pins = "gpio20", "gpio21";
+               function = "blsp0_uart0";
+               drive-strength = <8>;
+               bias-disable;
+       };
+};
+
+&xo_board_clk {
+       clock-frequency = <24000000>;
+};