Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] ARM: dts: samsung: exynos4210-*: Fix Bluetooth nodes
@ 2026-09-18 21:29 Paul Cercueil
  2026-09-24 20:19 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Paul Cercueil @ 2026-09-18 21:29 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
	Alim Akhtar, Marek Szyprowski
  Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
	Paul Cercueil

The BCM4330 Bluetooth chip is capable of doing 4 Mbps over UART. The
Exynos 4210 however, can only do a maximum of 3 Mbps. Add this
information to the Bluetooth nodes using the 'max-speed' property.

This fixes extremely choppy audio when connected to external Bluetooth
speakers.

The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-rtscts'
property. The driver does not seem to check for it but that still should
be there.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---

    Apologies if you receive this email for the second time. I messed up
    on the previous one and forgot to Cc the lists. Since nothing
    changed, this is still v3.

    Cheers,
    -Paul

    Changes:
    
    V1 was: "ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node"
    
    -v2: Drop max-speed property. It's only supposed to be used in some
         cases, which don't apply here. As this was the "fix" for getting
         Bluetooth to work on my device, which will be applied to the
         driver instead, the Fixes: tag was removed.

    -v3: Re-introduce max-speed property :)
         Turns out the use case does indeed apply here.
	 Also update the other Exynos4210 based boards.

 arch/arm/boot/dts/samsung/exynos4210-i9100.dts          | 4 ++++
 arch/arm/boot/dts/samsung/exynos4210-trats.dts          | 5 +++++
 arch/arm/boot/dts/samsung/exynos4210-universal_c210.dts | 5 +++++
 3 files changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
index 7da64500246c..ff369eac344f 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
@@ -868,9 +868,13 @@ &serial_0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
 
+	uart-has-rtscts;
+
 	bluetooth {
 		compatible = "brcm,bcm4330-bt";
 
+		max-speed = <3000000>;
+
 		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
 		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
 		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm/boot/dts/samsung/exynos4210-trats.dts b/arch/arm/boot/dts/samsung/exynos4210-trats.dts
index eb286e25835e..c517f6d1d7c2 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-trats.dts
@@ -537,8 +537,13 @@ &serial_0 {
 	pinctrl-0 = <&uart0_data &uart0_fctl>;
 	pinctrl-names = "default";
 
+	uart-has-rtscts;
+
 	bluetooth {
 		compatible = "brcm,bcm4330-bt";
+
+		max-speed = <3000000>;
+
 		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
 		pinctrl-names = "default";
 		shutdown-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm/boot/dts/samsung/exynos4210-universal_c210.dts b/arch/arm/boot/dts/samsung/exynos4210-universal_c210.dts
index 71df3843d8ba..9b345e16c44f 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-universal_c210.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-universal_c210.dts
@@ -630,8 +630,13 @@ &serial_0 {
 	pinctrl-0 = <&uart0_data &uart0_fctl>;
 	pinctrl-names = "default";
 
+	uart-has-rtscts;
+
 	bluetooth {
 		compatible = "brcm,bcm4330-bt";
+
+		max-speed = <3000000>;
+
 		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
 		pinctrl-names = "default";
 		shutdown-gpios = <&gpe1 4 GPIO_ACTIVE_HIGH>;
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v3] ARM: dts: samsung: exynos4210-*: Fix Bluetooth nodes
  2026-09-18 21:29 [PATCH v3] ARM: dts: samsung: exynos4210-*: Fix Bluetooth nodes Paul Cercueil
@ 2026-09-24 20:19 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-24 20:19 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
	Alim Akhtar, Marek Szyprowski, Paul Cercueil
  Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel


On Fri, 18 Sep 2026 23:29:23 +0200, Paul Cercueil wrote:
> The BCM4330 Bluetooth chip is capable of doing 4 Mbps over UART. The
> Exynos 4210 however, can only do a maximum of 3 Mbps. Add this
> information to the Bluetooth nodes using the 'max-speed' property.
> 
> This fixes extremely choppy audio when connected to external Bluetooth
> speakers.
> 
> [...]

Applied, thanks!

[1/1] ARM: dts: samsung: exynos4210-*: Fix Bluetooth nodes
      https://git.kernel.org/krzk/linux/c/b47faa6004d86ade16b90d24fa1e1f179e6f7230

Best regards,
-- 
Krzysztof Kozlowski <krzk@kernel.org>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-24 20:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-18 21:29 [PATCH v3] ARM: dts: samsung: exynos4210-*: Fix Bluetooth nodes Paul Cercueil
2026-09-24 20:19 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox