* [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
* 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
* [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
* 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
* [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
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).