Skip to contentSkip to conversation

arm64: dts: qcom: sc7280: Add bluetooth node on SC7280 IDP board

PATCH Superseded Balakrishna Godavarthi 3 participants 8 messages Oct 6, 2021 – Oct 12, 2021

Subsystems (5)

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 arm64: dts: qcom: sc7280: Add bluetooth node on SC7280 IDP board

Add bluetooth SoC WCN6750 node for SC7280 IDP board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp.dts  |  2 ++
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 31 +++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +2 -0
index 64fc22a..d3f5393 100644
@@ -17,6 +17,8 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;
 	};
 
 	chosen {
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +31 -0
index 272d5ca..05aa729 100644
@@ -393,6 +393,24 @@
 				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
 	pinctrl-names = "default", "sleep";
 	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
+
+	bluetooth: wcn6750-bt {
+		compatible = "qcom,wcn6750-bt";
+		pinctrl-names = "default";
+		pinctrl-0 = <&bt_en_default>;
+		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; /* BT_EN */
+		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; /* SW_CTRL */
+		vddio-supply = <&vreg_l19b_1p8>;
+		vddaon-supply = <&vreg_s7b_0p9>;
+		vddbtcxmx-supply = <&vreg_s7b_0p9>;
+		vddrfacmn-supply = <&vreg_s7b_0p9>;
+		vddrfa0p8-supply = <&vreg_s7b_0p9>;
+		vddrfa1p7-supply = <&vreg_s1b_1p8>;
+		vddrfa1p2-supply = <&vreg_s8b_1p2>;
+		vddrfa2p2-supply = <&vreg_s1c_2p2>;
+		vddasd-supply = <&vreg_l11c_2p8>;
+		max-speed = <3200000>;
+	};
 };
 
 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
@@ -504,6 +522,19 @@
 		 */
 		bias-pull-up;
 	};
+
+	bt_en_default: bt_en_default {
+		pinmux {
+			pins = "gpio85";
+			function = "gpio";
+		};
+		pinconf {
+			pins = "gpio85";
+			drive-strength = <2>;
+			output-low;
+			bias-pull-down;
+		};
+	};
 };
 
 &sdc1_on {
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#1 lore raw

PATCH 2/2 arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

This patch updates bluetooth node in SC7280 IDP2 board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +6 -0
index 1fc2add..5c8d54b 100644
@@ -15,9 +15,15 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;
 	};
 
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
 };
+
+&bluetooth: wcn6750-bt {
+	vddio-supply = <&vreg_l18b_1p8>;
+};
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#2 lore raw

Re: [PATCH v1 2/2] arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

Quoted 12 lines · Balakrishna Godavarthi

This patch updates bluetooth node in SC7280 IDP2 board.

---
  arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 6 ++++++
  1 file changed, 6 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +0 -0
index 1fc2add..5c8d54b 100644

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 19

Quoted 5 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
@@ -15,9 +15,15 @@
 
  	aliases {
  		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;

hsuartX does not follow existing aliases definition, so it was frowned upon by Rob Herring in the past.

Quoted 11 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +4 -0
  	};
 
  	chosen {
  		stdout-path = "serial0:115200n8";
  	};
  };
+
+&bluetooth: wcn6750-bt {
+	vddio-supply = <&vreg_l18b_1p8>;
+};
Signature · 2 lines
With best wishes
Dmitry
#3 lore raw

Re: [PATCH v1 2/2] arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

Hi Dmitry,

Quoted 8 lines · Dmitry Baryshkov
Quoted 7 lines · Balakrishna Godavarthi

This patch updates bluetooth node in SC7280 IDP2 board.

---
  arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 6 ++++++
  1 file changed, 6 insertions(+)
Quoted 13 lines

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 18

Quoted 9 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
index 1fc2add..5c8d54b 100644
@@ -15,9 +15,15 @@
    	aliases {
  		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;

hsuartX does not follow existing aliases definition, so it was frowned upon by Rob Herring in the past.

[Bala]: Thanks for pointing out will do in similar way.

Quoted 10 lines
Quoted 10 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +4 -0
  	};
    	chosen {
  		stdout-path = "serial0:115200n8";
  	};
  };
+
+&bluetooth: wcn6750-bt {
+	vddio-supply = <&vreg_l18b_1p8>;
+};
 
#4 lore raw

Re: [PATCH v1 2/2] arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

In reply to Balakrishna Godavarthi
Quoted 1 line · Balakrishna Godavarthi

Subject: arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

Not super helpful, what does 'update' mean?

It might be easier to have a single patch for both IDP boards, since the Bluetooth node is added in the common sc7280-idp.dtsi board, rather than explaining what this patch does :)

Quoted 12 lines

This patch updates bluetooth node in SC7280 IDP2 board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +0 -0
index 1fc2add..5c8d54b 100644

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 20

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
@@ -15,9 +15,15 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;
 	};

Sort aliases alphabetically

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 27

Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
 };
+
+&bluetooth: wcn6750-bt {

&bluetooth {

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 28

Quoted 1 line
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +1 -0
+	vddio-supply = <&vreg_l18b_1p8>;

nit: if it's not really common across IDP boards or a default, you could leave it unconfigured in sc7280-idp.dtsi, and set in both board files. Just an idea, with only two boards it doesn't really matter too much.

#5 lore raw

Re: [PATCH v1 2/2] arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

Hi Matthias,

Quoted 8 lines · Matthias Kaehlcke
Quoted 1 line · Balakrishna Godavarthi

Subject: arm64: dts: qcom: sc7280: update bluetooth node in SC7280 IDP2 board

Not super helpful, what does 'update' mean?

It might be easier to have a single patch for both IDP boards, since the Bluetooth node is added in the common sc7280-idp.dtsi board, rather than explaining what this patch does :)

[Bala]: Sure will have one patch.

Quoted 30 lines
Quoted 13 lines

This patch updates bluetooth node in SC7280 IDP2 board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +0 -0
index 1fc2add..5c8d54b 100644

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 20

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
@@ -15,9 +15,15 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;
 	};

Sort aliases alphabetically

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 27

Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +2 -0
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
 };
+
+&bluetooth: wcn6750-bt {
Quoted 7 lines

&bluetooth {

arch/arm64/boot/dts/qcom/sc7280-idp2.dts line 28

Quoted 1 line
arch/arm64/boot/dts/qcom/sc7280-idp2.dts +1 -0
+	vddio-supply = <&vreg_l18b_1p8>;

nit: if it's not really common across IDP boards or a default, you could leave it unconfigured in sc7280-idp.dtsi, and set in both board files. Just an idea, with only two boards it doesn't really matter too much.

[Bala]: Sure will update in similar way.

#6 lore raw
In reply to Balakrishna Godavarthi
Quoted 13 lines · Balakrishna Godavarthi

Add bluetooth SoC WCN6750 node for SC7280 IDP board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp.dts  |  2 ++
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 31 +++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +0 -0
index 64fc22a..d3f5393 100644

arch/arm64/boot/dts/qcom/sc7280-idp.dts line 21

Quoted 5 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +2 -0
@@ -17,6 +17,8 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;

Sort aliases alphabetically.

Also 'hsuart' should not be used, as Dmitry already pointed out on patch 2/2. I suppose it should be 'serial1', as in 'second serial port of the board'.

Quoted 8 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +0 -0
 	};
 
 	chosen {
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +0 -0
index 272d5ca..05aa729 100644

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 400

Quoted 8 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +5 -0
@@ -393,6 +393,24 @@
 				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
 	pinctrl-names = "default", "sleep";
 	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
+
+	bluetooth: wcn6750-bt {
+		compatible = "qcom,wcn6750-bt";
+		pinctrl-names = "default";
+		pinctrl-0 = <&bt_en_default>;

Do we also need a pinctrl entry for 'swctrl' ?

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 402

Quoted 2 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +2 -0
+		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; /* BT_EN */
+		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; /* SW_CTRL */

The comments aren't useful, the property names say the same.

Quoted 15 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +11 -0
+		vddio-supply = <&vreg_l19b_1p8>;
+		vddaon-supply = <&vreg_s7b_0p9>;
+		vddbtcxmx-supply = <&vreg_s7b_0p9>;
+		vddrfacmn-supply = <&vreg_s7b_0p9>;
+		vddrfa0p8-supply = <&vreg_s7b_0p9>;
+		vddrfa1p7-supply = <&vreg_s1b_1p8>;
+		vddrfa1p2-supply = <&vreg_s8b_1p2>;
+		vddrfa2p2-supply = <&vreg_s1c_2p2>;
+		vddasd-supply = <&vreg_l11c_2p8>;
+		max-speed = <3200000>;
+	};
 };
 
 /* PINCTRL - additions to nodes defined in sc7280.dtsi */

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 526

Quoted 5 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +2 -0
@@ -504,6 +522,19 @@
 		 */
 		bias-pull-up;
 	};
+
+	bt_en_default: bt_en_default {
	bt_en: bt-en {

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 536

Quoted 10 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +10 -0
+		pinmux {
+			pins = "gpio85";
+			function = "gpio";
+		};
+		pinconf {
+			pins = "gpio85";
+			drive-strength = <2>;
+			output-low;
+			bias-pull-down;
+		};

No pinmux & pinconf nodes, see configuration for other pins.

#7 lore raw

Hi Matthias,

Quoted 23 lines · Matthias Kaehlcke
Quoted 14 lines · Balakrishna Godavarthi

Add bluetooth SoC WCN6750 node for SC7280 IDP board.

---
 arch/arm64/boot/dts/qcom/sc7280-idp.dts  |  2 ++
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 31 
+++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +0 -0
index 64fc22a..d3f5393 100644

arch/arm64/boot/dts/qcom/sc7280-idp.dts line 21

Quoted 5 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +2 -0
@@ -17,6 +17,8 @@
 
 	aliases {
 		serial0 = &uart5;
+		bluetooth0 = &bluetooth;
+		hsuart0 = &uart7;

Sort aliases alphabetically.

Quoted 4 lines

Also 'hsuart' should not be used, as Dmitry already pointed out on patch 2/2. I suppose it should be 'serial1', as in 'second serial port of the board'.

[Bala]: will update it.

Quoted 11 lines
Quoted 11 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +0 -0
 	};
 
 	chosen {
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +0 -0
index 272d5ca..05aa729 100644
@@ -393,6 +393,24 @@
 				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
 	pinctrl-names = "default", "sleep";
 	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, 
Quoted 8 lines

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 400

Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +5 -0
 <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
+
+	bluetooth: wcn6750-bt {
+		compatible = "qcom,wcn6750-bt";
+		pinctrl-names = "default";
+		pinctrl-0 = <&bt_en_default>;

Do we also need a pinctrl entry for 'swctrl' ?

[Bala]: It is in input to APPS and op of BT SoC.
I don't think to set any configuration as BT SOC will take care of it.

Quoted 6 lines

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 402

Quoted 3 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +2 -0
+		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; /* BT_EN */
+		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; /* SW_CTRL */

The comments aren't useful, the property names say the same.

[Bala]: will remove them

Quoted 23 lines
Quoted 15 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +11 -0
+		vddio-supply = <&vreg_l19b_1p8>;
+		vddaon-supply = <&vreg_s7b_0p9>;
+		vddbtcxmx-supply = <&vreg_s7b_0p9>;
+		vddrfacmn-supply = <&vreg_s7b_0p9>;
+		vddrfa0p8-supply = <&vreg_s7b_0p9>;
+		vddrfa1p7-supply = <&vreg_s1b_1p8>;
+		vddrfa1p2-supply = <&vreg_s8b_1p2>;
+		vddrfa2p2-supply = <&vreg_s1c_2p2>;
+		vddasd-supply = <&vreg_l11c_2p8>;
+		max-speed = <3200000>;
+	};
 };
 

/* PINCTRL - additions to nodes defined in sc7280.dtsi */

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 526

Quoted 5 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +2 -0
@@ -504,6 +522,19 @@
 		 */
 		bias-pull-up;
 	};
+
+	bt_en_default: bt_en_default {
	bt_en: bt-en {
Quoted 12 lines

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi line 536

Quoted 10 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +10 -0
+		pinmux {
+			pins = "gpio85";
+			function = "gpio";
+		};
+		pinconf {
+			pins = "gpio85";
+			drive-strength = <2>;
+			output-low;
+			bias-pull-down;
+		};

No pinmux & pinconf nodes, see configuration for other pins.

[Bala]: Thanks for pointing will update in next version