pmaports-a71/device/testing/linux-linksys-jamaica/jamaica.patch
exkc ddcd0aedfd
linksys-jamaica: add mainline support (MR 5649)
[ci:skip-build]: already built successfully in CI
2024-09-29 16:42:37 +02:00

168 lines
3.8 KiB
Diff

From 7efb515c91773def452ab34d394593b2ab2990c9 Mon Sep 17 00:00:00 2001
From: exkc <exkc@exkc.moe>
Date: Sat, 28 Sep 2024 15:27:22 +0800
Subject: [PATCH] add linksys ea9560
---
arch/arm/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/qcom-ipq5018-linksys-jamaica.dts | 1 +
.../boot/dts/qcom/ipq5018-linksys-jamaica.dts | 126 ++++++++++++++++++
4 files changed, 128 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
create mode 100644 arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index 3dfb1c8ce..c9ee98e38 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-ipq4019-ap.dk04.1-c3.dtb \
qcom-ipq4019-ap.dk07.1-c1.dtb \
qcom-ipq4019-ap.dk07.1-c2.dtb \
+ qcom-ipq5018-linksys-jamaica.dtb \
qcom-ipq8064-ap148.dtb \
qcom-ipq8064-rb3011.dtb \
qcom-msm8226-samsung-s3ve3g.dtb \
diff --git a/arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts b/arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
new file mode 100644
index 000000000..8d69e73cc
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
@@ -0,0 +1 @@
+#include <arm64/qcom/ipq5018-linksys-jamaica.dts>
diff --git a/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
new file mode 100644
index 000000000..ca05c8945
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+
+/dts-v1/;
+
+#include "ipq5018.dtsi"
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/gpio/gpio.h>
+
+
+/ {
+ model = "Linksys EA9350 V3";
+ compatible = "linksys,jamaica", "qcom,ipq5018";
+
+ aliases {
+ serial0 = &blsp1_uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = <&led_pins &pwm_led_pins_hack>;
+ pinctrl-names = "default";
+
+ led-0 {
+ color = <LED_COLOR_ID_WHITE>;
+ function = LED_FUNCTION_USB;
+ gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
+ };
+
+ //Use gpio led driver to control the pwm power led as of now
+ pwm-hack-0 {
+ label = "blue:power";
+ gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ pwm-hack-1 {
+ label = "green:power";
+ gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+
+ pwm-hack-2 {
+ label = "red:power";
+ gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&button_pins>;
+ pinctrl-names = "default";
+
+ button-0 {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&tlmm 28 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ button-1 {
+ label = "wps";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+};
+
+&blsp1_uart1 {
+ pinctrl-0 = <&uart1_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&sleep_clk {
+ clock-frequency = <32000>;
+};
+
+&usbphy0 {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&usb_dwc {
+ dr_mode = "host";
+};
+
+&tlmm {
+ button_pins: button-pins-state {
+ pins = "gpio27", "gpio28";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ led_pins: led-pins-state {
+ pins = "gpio19";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ //Use gpio led driver to control the pwd power led as of now
+ pwm_led_pins_hack: led-pins-state {
+ pins = "gpio1","gpio46","gpio30";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};
+
+&sleep_clk {
+ clock-frequency = <32000>;
+};
+
+&xo_board_clk {
+ clock-frequency = <24000000>;
+};
--
GitLab