Re: [PATCH v3] arm64: dts: qcom: qcs6490-rb3gen2: enable Bluetooth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2.12.2024 10:36 AM, Krzysztof Kozlowski wrote:
> On 02/12/2024 10:32, Janaki Ramaiah Thota wrote:
>>>
>>>> +	pinctrl-names = "default", "sleep";
>>>> +	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>,
>>>> +			<&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
>>>
>>> This could be just one phandle to state node with multiple pins subnode.
>>>
>>
>> Since we have different configuration for 3 GPIOs, it’s not good to 
>> combine all 4 GPIOs into one common sleep configuration. Each GPIO 
>> configuration is having separate requirements based on the Bluetooth SOC.
> 
> I did not propose that. Please read bindings and other existing DTS sources.

Janaki,

you can refer to my older patch (attached)

Konrad
From 29a6e0ddbaf7bafc22b44062890bb9915eb665b6 Mon Sep 17 00:00:00 2001
From: Konrad Dybcio <quic_kdybcio@xxxxxxxxxxx>
Date: Fri, 23 Aug 2024 02:01:49 +0200
Subject: [PATCH] arm64: dts: qcom: qcs6490-rb3gen2: Configure the bluetooth
 module

RB3Gen2 features a WCN6856/6570 Wi-Fi + Bluetooth chip. Configure the
latter part.

Signed-off-by: Konrad Dybcio <quic_kdybcio@xxxxxxxxxxx>
---
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 73 ++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index da61e7b90798ed..2c61d42ded553b 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -33,6 +33,7 @@
 
 	aliases {
 		serial0 = &uart5;
+		serial1 = &uart7;
 	};
 
 	chosen {
@@ -781,12 +782,84 @@
 &tlmm {
 	gpio-reserved-ranges = <32 2>, /* ADSP */
 			       <48 4>; /* NFC */
+
+	qup_uart7_sleep: qup-uart7-sleep-state {
+		qup_uart7_sleep_cts: qup-uart7-sleep-cts-pins {
+			pins = "gpio28";
+			function = "gpio";
+			bias-bus-hold;
+		};
+
+		qup_uart7_sleep_rts: qup-uart7-sleep-rts-pins {
+			pins = "gpio29";
+			function = "gpio";
+			bias-pull-down;
+		};
+
+		qup_uart7_sleep_tx: qup-uart7-sleep-tx-pins {
+			pins = "gpio30";
+			function = "gpio";
+			bias-pull-up;
+		};
+
+		qup_uart7_sleep_rx: qup-uart7-sleep-rx-pins {
+			pins = "gpio31";
+			function = "gpio";
+			bias-pull-up;
+		};
+	};
+
+	wcn_bt_en_default: wcn-bt-en-default-state {
+		pins = "gpio85";
+		function = "gpio";
+		bias-disable;
+		output-low;
+	};
+
+	sw_ctrl_default: sw-ctrl-default-state {
+		pins = "gpio86";
+		function = "gpio";
+		bias-pull-down;
+	};
 };
 
 &uart5 {
 	status = "okay";
 };
 
+&uart7 {
+	/delete-property/ interrupts;
+	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
+			      <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
+
+	pinctrl-1 = <&qup_uart7_sleep>;
+	pinctrl-names = "default", "sleep";
+
+	status = "okay";
+
+	bluetooth: bluetooth {
+		compatible = "qcom,wcn6750-bt";
+
+		pinctrl-0 = <&wcn_bt_en_default>, <&sw_ctrl_default>;
+		pinctrl-names = "default";
+
+		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
+		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
+
+		vddio-supply = <&vreg_l19b_1p8>;
+		vddaon-supply = <&vreg_s7b_0p972>;
+		vddbtcxmx-supply = <&vreg_s7b_0p972>;
+		vddrfacmn-supply = <&vreg_s7b_0p972>;
+		vddrfa0p8-supply = <&vreg_s7b_0p972>;
+		vddrfa1p7-supply = <&vreg_s1b_1p872>;
+		vddrfa1p2-supply = <&vreg_s8b_1p272>;
+		vddrfa2p2-supply = <&vreg_s1c_2p19>;
+		vddasd-supply = <&vreg_l11c_2p8>;
+
+		max-speed = <3200000>;
+	};
+};
+
 &usb_1 {
 	status = "okay";
 };

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux