2019-10-18 22:21:52

by Jeffrey Hugo

[permalink] [raw]
Subject: [RFC PATCH 0/4] Enable msm8998 bluetooth

This series enables bluetooth on the msm8998 platforms. However,
without fixes under discussion [1] and [2], the init process will fail,
leaving bluetooth non-functional. Perhaps it is best to wait until the
dependencies meet acceptance before taking this series.

[1] - https://lkml.org/lkml/2019/10/17/599
[2] - https://lkml.org/lkml/2019/10/17/975

Jeffrey Hugo (4):
arm64: dts: qcom: msm8998: Add blsp1 BAM
arm64: dts: qcom: msm8998: Add blsp1_uart3
arm64: dts: qcom: msm8998-mtp: Enable bluetooth
arm64: dts: qcom: msm8998-clamshell: Enable bluetooth

.../boot/dts/qcom/msm8998-clamshell.dtsi | 17 ++++++++++++
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 14 ++++++++++
arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 13 +++++++++
arch/arm64/boot/dts/qcom/msm8998.dtsi | 27 +++++++++++++++++++
4 files changed, 71 insertions(+)

--
2.17.1


2019-10-18 22:21:52

by Jeffrey Hugo

[permalink] [raw]
Subject: [RFC PATCH 1/4] arm64: dts: qcom: msm8998: Add blsp1 BAM

The BAM in the blsp1 block can be used as a DMA engine to offload work
when managing any of the peripherals in the blsp.

Signed-off-by: Jeffrey Hugo <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8998.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index e42177952690..a3465f6bae84 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1201,6 +1201,19 @@
status = "disabled";
};

+ blsp1_dma: dma@c144000 {
+ compatible = "qcom,bam-v1.7.0";
+ reg = <0x0c144000 0x25000>;
+ interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&gcc GCC_BLSP1_AHB_CLK>;
+ clock-names = "bam_clk";
+ #dma-cells = <1>;
+ qcom,ee = <0>;
+ qcom,controlled-remotely;
+ num-channels = <18>;
+ qcom,num-ees = <4>;
+ };
+
blsp1_i2c1: i2c@c175000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x0c175000 0x600>;
--
2.17.1

2019-10-18 22:21:56

by Jeffrey Hugo

[permalink] [raw]
Subject: [RFC PATCH 3/4] arm64: dts: qcom: msm8998-mtp: Enable bluetooth

Bluetooth is provided by a wcn3990, which is connected to the main SoC via
blsp1_uart3.

Signed-off-by: Jeffrey Hugo <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index 4f687570b6fd..1a1836ed1052 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -23,6 +23,20 @@
};
};

+&blsp1_uart3 {
+ status = "okay";
+
+ bluetooth {
+ compatible = "qcom,wcn3990-bt";
+
+ vddio-supply = <&vreg_s4a_1p8>;
+ vddxo-supply = <&vreg_l7a_1p8>;
+ vddrf-supply = <&vreg_l17a_1p3>;
+ vddch0-supply = <&vreg_l25a_3p3>;
+ max-speed = <3200000>;
+ };
+};
+
&blsp2_uart1 {
status = "okay";
};
--
2.17.1

2019-10-18 22:21:57

by Jeffrey Hugo

[permalink] [raw]
Subject: [RFC PATCH 4/4] arm64: dts: qcom: msm8998-clamshell: Enable bluetooth

Bluetooth is provided by a wcn3990, which is connected to the main SoC via
blsp1_uart3.

Signed-off-by: Jeffrey Hugo <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
index 8c35c1f54e32..ab24d415acc0 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi
@@ -60,6 +60,20 @@
};
};

+&blsp1_uart3 {
+ status = "okay";
+
+ bluetooth {
+ compatible = "qcom,wcn3990-bt";
+
+ vddio-supply = <&vreg_s4a_1p8>;
+ vddxo-supply = <&vreg_l7a_1p8>;
+ vddrf-supply = <&vreg_l17a_1p3>;
+ vddch0-supply = <&vreg_l25a_3p3>;
+ max-speed = <3200000>;
+ };
+};
+
&dsi0 {
status = "okay";

@@ -209,6 +223,7 @@
vreg_l7a_1p8: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
+ regulator-allow-set-load;
};
vreg_l8a_1p2: l8 {
regulator-min-microvolt = <1200000>;
@@ -249,6 +264,7 @@
vreg_l17a_1p3: l17 {
regulator-min-microvolt = <1304000>;
regulator-max-microvolt = <1304000>;
+ regulator-allow-set-load;
};
vreg_l18a_2p7: l18 {
regulator-min-microvolt = <2704000>;
@@ -284,6 +300,7 @@
vreg_l25a_3p3: l25 {
regulator-min-microvolt = <3104000>;
regulator-max-microvolt = <3312000>;
+ regulator-allow-set-load;
};
vreg_l26a_1p2: l26 {
regulator-min-microvolt = <1200000>;
--
2.17.1

2019-10-18 22:23:54

by Jeffrey Hugo

[permalink] [raw]
Subject: [RFC PATCH 2/4] arm64: dts: qcom: msm8998: Add blsp1_uart3

The blsp1_uart3 peripheral appears to be commonly used for interfacing with
other SoCs on a platform, such as a wcn3990 to provide bluetooth.

Signed-off-by: Jeffrey Hugo <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 13 +++++++++++++
arch/arm64/boot/dts/qcom/msm8998.dtsi | 14 ++++++++++++++
2 files changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi
index 6db70acd38ee..e32d3ab395ea 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi
@@ -75,4 +75,17 @@
drive-strength = <2>; /* 2 mA */
};
};
+
+ blsp1_uart3_on: blsp1_uart3_on {
+ mux {
+ pins = "gpio45", "gpio46", "gpio47", "gpio48";
+ function = "blsp_uart3_a";
+ };
+
+ config {
+ pins = "gpio45", "gpio46", "gpio47", "gpio48";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
};
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index a3465f6bae84..b69a7f38dd36 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1214,6 +1214,20 @@
qcom,num-ees = <4>;
};

+ blsp1_uart3: serial@c171000 {
+ compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+ reg = <0x0c171000 0x1000>;
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
+ <&gcc GCC_BLSP1_AHB_CLK>;
+ clock-names = "core", "iface";
+ dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default";
+ pinctrl-0 = <&blsp1_uart3_on>;
+ status = "disabled";
+ };
+
blsp1_i2c1: i2c@c175000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x0c175000 0x600>;
--
2.17.1

2019-10-19 08:51:04

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [RFC PATCH 0/4] Enable msm8998 bluetooth

On Thu 17 Oct 15:18 PDT 2019, Jeffrey Hugo wrote:

> This series enables bluetooth on the msm8998 platforms. However,
> without fixes under discussion [1] and [2], the init process will fail,
> leaving bluetooth non-functional. Perhaps it is best to wait until the
> dependencies meet acceptance before taking this series.
>
> [1] - https://lkml.org/lkml/2019/10/17/599
> [2] - https://lkml.org/lkml/2019/10/17/975

Since the two patches has been applied, by respective maintainer, I've
applied the series.

Thanks,
Bjorn

>
> Jeffrey Hugo (4):
> arm64: dts: qcom: msm8998: Add blsp1 BAM
> arm64: dts: qcom: msm8998: Add blsp1_uart3
> arm64: dts: qcom: msm8998-mtp: Enable bluetooth
> arm64: dts: qcom: msm8998-clamshell: Enable bluetooth
>
> .../boot/dts/qcom/msm8998-clamshell.dtsi | 17 ++++++++++++
> arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 14 ++++++++++
> arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 13 +++++++++
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 27 +++++++++++++++++++
> 4 files changed, 71 insertions(+)
>
> --
> 2.17.1
>