devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Initial for Linksys EA9350 V3 (linksys-jamaica)
@ 2024-10-02 12:08 Karl Chan
  2024-10-02 12:08 ` [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3 Karl Chan
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Karl Chan @ 2024-10-02 12:08 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel, Karl Chan

Add device tree source for Linksys EA9350 V3 which is a WiFi router based on the IPQ5018 SoC.

As of now , only the UART,USB,USB LED,buttons is working.The front PWM LED require the IPQ PWM driver.Therefore the PWM LED isn't configed in the tree.

Also The original firmware from Linksys can only boot ARM32 kernels.

As of now There seems to be no way to boot ARM64 kernels on those device.

However, it is possible to use this device tree by compiling an ARM32 kernel instead.

Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
---
Karl Chan (3):
  arm64: dts: qcom: add Linksys EA9350 V3
  dt-bindings: arm: qcom: add Linksys EA9350 V3
  arm: dts: qcom-ipq5018-linksys-jamaica: Include dts from arm64 Build
    the Linksys EA9350 V3 device trees from the arm64 tree together with
    the ARM32 include to allow booting this device on ARM32.

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm/boot/dts/qcom/Makefile               |   1 +
 .../dts/qcom/qcom-ipq5018-linksys-jamaica.dts |   2 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/ipq5018-linksys-jamaica.dts | 114 ++++++++++++++++++
 5 files changed, 119 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

-- 
2.46.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3
  2024-10-02 12:08 [PATCH 0/3] Initial for Linksys EA9350 V3 (linksys-jamaica) Karl Chan
@ 2024-10-02 12:08 ` Karl Chan
  2024-10-02 12:23   ` Krzysztof Kozlowski
  2024-10-02 12:08 ` [PATCH 2/3] dt-bindings: arm: " Karl Chan
  2024-10-02 12:08 ` [PATCH 3/3] arm: dts: qcom-ipq5018-linksys-jamaica: Include dts from arm64 Build the Linksys EA9350 V3 device trees from the arm64 tree together with the ARM32 include to allow booting this device on ARM32 Karl Chan
  2 siblings, 1 reply; 6+ messages in thread
From: Karl Chan @ 2024-10-02 12:08 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel, Karl Chan

Add device tree source for Linksys EA9350 V3 which is a WiFi router based on the IPQ5018 SoC.

As of now , only the UART,USB,USB LED,buttons is working.The front PWM LED require the IPQ PWM driver.Therefore the PWM LED isn't configed in the tree.

Also The original firmware from Linksys can only boot ARM32 kernels.

As of now There seems to be no way to boot ARM64 kernels on those device.

However, it is possible to use this device tree by compiling an ARM32 kernel instead.

Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/ipq5018-linksys-jamaica.dts | 114 ++++++++++++++++++
 2 files changed, 115 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index ae002c7cf126..9ddc1b695478 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -12,6 +12,7 @@ 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)	+= ipq5018-linksys-jamaica.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-linksys-jamaica.dts b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
new file mode 100644
index 000000000000..b6cb88884193
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
@@ -0,0 +1,114 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+
+/dts-v1/;
+
+/*
+ * NOTE: The original firmware from Linksys can only boot ARM32 kernels.
+ *
+ * As of now There seems to be no way to boot ARM64 kernels on those device.
+ *
+ * However, it is possible to use this device tree by compiling an ARM32 kernel
+ * instead. For clarity and build testing this device tree is maintained next
+ * to the other IPQ5018 device trees. However, it is actually used through
+ * arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
+ */
+
+#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>;
+		pinctrl-names = "default";
+
+		led-0 {
+			color = <LED_COLOR_ID_WHITE>;
+			function = LED_FUNCTION_USB;
+			gpios = <&tlmm 19 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;
+	};
+
+};
+
+&sleep_clk {
+	clock-frequency = <32000>;
+};
+
+&xo_board_clk {
+	clock-frequency = <24000000>;
+};
-- 
2.46.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] dt-bindings: arm: qcom: add Linksys EA9350 V3
  2024-10-02 12:08 [PATCH 0/3] Initial for Linksys EA9350 V3 (linksys-jamaica) Karl Chan
  2024-10-02 12:08 ` [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3 Karl Chan
@ 2024-10-02 12:08 ` Karl Chan
  2024-10-02 12:23   ` Krzysztof Kozlowski
  2024-10-02 12:08 ` [PATCH 3/3] arm: dts: qcom-ipq5018-linksys-jamaica: Include dts from arm64 Build the Linksys EA9350 V3 device trees from the arm64 tree together with the ARM32 include to allow booting this device on ARM32 Karl Chan
  2 siblings, 1 reply; 6+ messages in thread
From: Karl Chan @ 2024-10-02 12:08 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel, Karl Chan

Document linksys,jamaica for Linksys EA9350 V3.

Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 5cb54d69af0b..fa22f653a55f 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -340,6 +340,7 @@ properties:
           - enum:
               - qcom,ipq5018-rdp432-c2
               - tplink,archer-ax55-v1
+              - linksys,jamaica
           - const: qcom,ipq5018
 
       - items:
-- 
2.46.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] arm: dts: qcom-ipq5018-linksys-jamaica: Include dts from arm64 Build the Linksys EA9350 V3 device trees from the arm64 tree together with the ARM32 include to allow booting this device on ARM32.
  2024-10-02 12:08 [PATCH 0/3] Initial for Linksys EA9350 V3 (linksys-jamaica) Karl Chan
  2024-10-02 12:08 ` [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3 Karl Chan
  2024-10-02 12:08 ` [PATCH 2/3] dt-bindings: arm: " Karl Chan
@ 2024-10-02 12:08 ` Karl Chan
  2 siblings, 0 replies; 6+ messages in thread
From: Karl Chan @ 2024-10-02 12:08 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel, Karl Chan

The approach to include device tree files from other architectures is
inspired from e.g. the Raspberry Pi (bcm2711-rpi-4-b.dts) where this is
used to build the device tree for both ARM32 and ARM64.

Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
---
 arch/arm/boot/dts/qcom/Makefile                         | 1 +
 arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts | 2 ++
 2 files changed, 3 insertions(+)
 create mode 100644 arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts

diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index f06c6d425e91..147dbeb30a6a 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -23,6 +23,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-microsoft-dempsey.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 000000000000..9a6ad767ebd7
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
@@ -0,0 +1,2 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+#include <arm64/qcom/ipq5018-linksys-jamaica.dts>
-- 
2.46.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3
  2024-10-02 12:08 ` [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3 Karl Chan
@ 2024-10-02 12:23   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-02 12:23 UTC (permalink / raw)
  To: Karl Chan, linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel

On 02/10/2024 14:08, Karl Chan wrote:
> Add device tree source for Linksys EA9350 V3 which is a WiFi router based on the IPQ5018 SoC.
> 
> As of now , only the UART,USB,USB LED,buttons is working.The front PWM LED require the IPQ PWM driver.Therefore the PWM LED isn't configed in the tree.
> 
> Also The original firmware from Linksys can only boot ARM32 kernels.
> 
> As of now There seems to be no way to boot ARM64 kernels on those device.
> 
> However, it is possible to use this device tree by compiling an ARM32 kernel instead.
> 
> Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../boot/dts/qcom/ipq5018-linksys-jamaica.dts | 114 ++++++++++++++++++
>  2 files changed, 115 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index ae002c7cf126..9ddc1b695478 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -12,6 +12,7 @@ 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)	+= ipq5018-linksys-jamaica.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-linksys-jamaica.dts b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
> new file mode 100644
> index 000000000000..b6cb88884193
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
> @@ -0,0 +1,114 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
> +
> +/dts-v1/;
> +
> +/*
> + * NOTE: The original firmware from Linksys can only boot ARM32 kernels.
> + *
> + * As of now There seems to be no way to boot ARM64 kernels on those device.
> + *
> + * However, it is possible to use this device tree by compiling an ARM32 kernel
> + * instead. For clarity and build testing this device tree is maintained next
> + * to the other IPQ5018 device trees. However, it is actually used through
> + * arch/arm/boot/dts/qcom/qcom-ipq5018-linksys-jamaica.dts
> + */
> +
> +#include "ipq5018.dtsi"
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/gpio/gpio.h>
> +
> +

Just one blank line.

> +/ {
> +	model = "Linksys EA9350 V3";
> +	compatible = "linksys,jamaica", "qcom,ipq5018";

Please put bindings patch before users.

> +
> +	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_WHITE>;
> +			function = LED_FUNCTION_USB;
> +			gpios = <&tlmm 19 GPIO_ACTIVE_HIGH>;
> +		};
> +

Drop blank line.

> +	};
> +
> +	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>;
> +		};
> +	};
> +

Drop blank line.

> +};
> +
> +&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 {

Keep alphabetical order (or tlmm goes to the end).

> +	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;
> +	};
> +

Drop blank line.

> +};
> +
> +&sleep_clk {
> +	clock-frequency = <32000>;
> +};
> +
> +&xo_board_clk {
> +	clock-frequency = <24000000>;
> +};

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] dt-bindings: arm: qcom: add Linksys EA9350 V3
  2024-10-02 12:08 ` [PATCH 2/3] dt-bindings: arm: " Karl Chan
@ 2024-10-02 12:23   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-02 12:23 UTC (permalink / raw)
  To: Karl Chan, linux-arm-msm
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, devicetree,
	linux-kernel

On 02/10/2024 14:08, Karl Chan wrote:
> Document linksys,jamaica for Linksys EA9350 V3.
> 
> Signed-off-by: Karl Chan <exxxxkc@getgoogleoff.me>
> ---
>  Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> index 5cb54d69af0b..fa22f653a55f 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -340,6 +340,7 @@ properties:
>            - enum:
>                - qcom,ipq5018-rdp432-c2
>                - tplink,archer-ax55-v1
> +              - linksys,jamaica

Keep alphabetical order.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-10-02 12:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-02 12:08 [PATCH 0/3] Initial for Linksys EA9350 V3 (linksys-jamaica) Karl Chan
2024-10-02 12:08 ` [PATCH 1/3] arm64: dts: qcom: add Linksys EA9350 V3 Karl Chan
2024-10-02 12:23   ` Krzysztof Kozlowski
2024-10-02 12:08 ` [PATCH 2/3] dt-bindings: arm: " Karl Chan
2024-10-02 12:23   ` Krzysztof Kozlowski
2024-10-02 12:08 ` [PATCH 3/3] arm: dts: qcom-ipq5018-linksys-jamaica: Include dts from arm64 Build the Linksys EA9350 V3 device trees from the arm64 tree together with the ARM32 include to allow booting this device on ARM32 Karl Chan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).