2019-10-12 14:59:04

by Nikita Travkin

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: msm8916-longcheer-l8150: Enable WCNSS for WiFi and BT

From: Nikita Travkin <[email protected]>

WCNSS is used on L8150 for WiFi and BT.
Its firmware isn't relocatable and must be loaded at specific address.

Signed-off-by: Nikita Travkin <[email protected]>
---
.../boot/dts/qcom/msm8916-longcheer-l8150.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 2b28e383fd0b..e4d467e7dedb 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -18,6 +18,16 @@
stdout-path = "serial0";
};

+ reserved-memory {
+ // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
+ /delete-node/ wcnss@89300000;
+
+ wcnss_mem: wcnss@8b600000 {
+ reg = <0x0 0x8b600000 0x0 0x600000>;
+ no-map;
+ };
+ };
+
soc {
sdhci@7824000 {
status = "okay";
@@ -68,6 +78,10 @@
};
};

+ wcnss@a21b000 {
+ status = "okay";
+ };
+
/*
* Attempting to enable these devices causes a "synchronous
* external abort". Suspected cause is that the debug power
--
2.19.1


2019-10-12 14:59:08

by Nikita Travkin

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: msm8916-longcheer-l8150: Add Volume buttons

From: Nikita Travkin <[email protected]>

Add nodes for Volume UP button connected to GPIO and Volume DOWN button,
which is handled by the pm8916 as is common with msm8916 devices.

Signed-off-by: Nikita Travkin <[email protected]>
---
.../boot/dts/qcom/msm8916-longcheer-l8150.dts | 41 +++++++++++++++++++
1 file changed, 41 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index e4d467e7dedb..d1ccb9472c8b 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -5,6 +5,7 @@
#include "msm8916.dtsi"
#include "pm8916.dtsi"
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>

/ {
model = "Longcheer L8150";
@@ -113,9 +114,36 @@
pinctrl-names = "default";
pinctrl-0 = <&usb_vbus_default>;
};
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio_keys_default>;
+
+ label = "GPIO Buttons";
+
+ volume-up {
+ label = "Volume Up";
+ gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_VOLUMEUP>;
+ };
+ };
};

&msmgpio {
+ gpio_keys_default: gpio_keys_default {
+ pinmux {
+ function = "gpio";
+ pins = "gpio107";
+ };
+ pinconf {
+ pins = "gpio107";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
usb_vbus_default: usb-vbus-default {
pinmux {
function = "gpio";
@@ -128,6 +156,19 @@
};
};

+&spmi_bus {
+ pm8916@0 {
+ pon@800 {
+ volume-down {
+ compatible = "qcom,pm8941-resin";
+ interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
+ bias-pull-up;
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+ };
+ };
+};
+
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
--
2.19.1

2019-10-12 15:20:26

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: msm8916-longcheer-l8150: Enable WCNSS for WiFi and BT

On Sat, Oct 12, 2019 at 07:58:20PM +0500, [email protected] wrote:
> From: Nikita Travkin <[email protected]>
>
> WCNSS is used on L8150 for WiFi and BT.
> Its firmware isn't relocatable and must be loaded at specific address.
>
> Signed-off-by: Nikita Travkin <[email protected]>

Reviewed-by: Stephan Gerhold <[email protected]>

> ---
> .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index 2b28e383fd0b..e4d467e7dedb 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -18,6 +18,16 @@
> stdout-path = "serial0";
> };
>
> + reserved-memory {
> + // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
> + /delete-node/ wcnss@89300000;
> +
> + wcnss_mem: wcnss@8b600000 {
> + reg = <0x0 0x8b600000 0x0 0x600000>;
> + no-map;
> + };
> + };
> +
> soc {
> sdhci@7824000 {
> status = "okay";
> @@ -68,6 +78,10 @@
> };
> };
>
> + wcnss@a21b000 {
> + status = "okay";
> + };
> +
> /*
> * Attempting to enable these devices causes a "synchronous
> * external abort". Suspected cause is that the debug power
> --
> 2.19.1
>

2019-10-12 15:32:38

by Stephan Gerhold

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: msm8916-longcheer-l8150: Add Volume buttons

On Sat, Oct 12, 2019 at 07:58:21PM +0500, [email protected] wrote:
> From: Nikita Travkin <[email protected]>
>
> Add nodes for Volume UP button connected to GPIO and Volume DOWN button,
> which is handled by the pm8916 as is common with msm8916 devices.
>
> Signed-off-by: Nikita Travkin <[email protected]>

Reviewed-by: Stephan Gerhold <[email protected]>

> ---
> .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 41 +++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index e4d467e7dedb..d1ccb9472c8b 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -5,6 +5,7 @@
> #include "msm8916.dtsi"
> #include "pm8916.dtsi"
> #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
>
> / {
> model = "Longcheer L8150";
> @@ -113,9 +114,36 @@
> pinctrl-names = "default";
> pinctrl-0 = <&usb_vbus_default>;
> };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio_keys_default>;
> +
> + label = "GPIO Buttons";
> +
> + volume-up {
> + label = "Volume Up";
> + gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEUP>;
> + };
> + };
> };
>
> &msmgpio {
> + gpio_keys_default: gpio_keys_default {
> + pinmux {
> + function = "gpio";
> + pins = "gpio107";
> + };
> + pinconf {
> + pins = "gpio107";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> + };
> +
> usb_vbus_default: usb-vbus-default {
> pinmux {
> function = "gpio";
> @@ -128,6 +156,19 @@
> };
> };
>
> +&spmi_bus {
> + pm8916@0 {
> + pon@800 {
> + volume-down {
> + compatible = "qcom,pm8941-resin";
> + interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
> + bias-pull-up;
> + linux,code = <KEY_VOLUMEDOWN>;
> + };
> + };
> + };
> +};
> +
> &smd_rpm_regulators {
> vdd_l1_l2_l3-supply = <&pm8916_s3>;
> vdd_l4_l5_l6-supply = <&pm8916_s4>;
> --
> 2.19.1
>

2019-10-15 07:06:24

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: msm8916-longcheer-l8150: Enable WCNSS for WiFi and BT

On Sat 12 Oct 07:58 PDT 2019, [email protected] wrote:

> From: Nikita Travkin <[email protected]>
>
> WCNSS is used on L8150 for WiFi and BT.
> Its firmware isn't relocatable and must be loaded at specific address.
>
> Signed-off-by: Nikita Travkin <[email protected]>

Both patches applied

Thank you,
Bjorn

> ---
> .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index 2b28e383fd0b..e4d467e7dedb 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -18,6 +18,16 @@
> stdout-path = "serial0";
> };
>
> + reserved-memory {
> + // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
> + /delete-node/ wcnss@89300000;
> +
> + wcnss_mem: wcnss@8b600000 {
> + reg = <0x0 0x8b600000 0x0 0x600000>;
> + no-map;
> + };
> + };
> +
> soc {
> sdhci@7824000 {
> status = "okay";
> @@ -68,6 +78,10 @@
> };
> };
>
> + wcnss@a21b000 {
> + status = "okay";
> + };
> +
> /*
> * Attempting to enable these devices causes a "synchronous
> * external abort". Suspected cause is that the debug power
> --
> 2.19.1
>