Devicetree
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node
@ 2026-08-28 18:43 Paul Cercueil
  2026-08-28 18:54 ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Paul Cercueil @ 2026-08-28 18:43 UTC (permalink / raw)
  To: Peter Griffin, Alim Akhtar, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
	Paul Cercueil, stable

The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-rtscts'
property.

Also add the missing 'max-speed' property and set it to 4 Mbps, which is
the maximum baud rate supported by this Bluetooth chip.

This fixes extremely choppy audio when connected to a Bluetooth speaker.

Fixes: 8620cc2f99b7 ("ARM: dts: exynos: Add devicetree file for the Galaxy S2")
Cc: stable@vger.kernel.org # v5.8+
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
index 8a635bee59fa..96db40102adb 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
@@ -875,11 +875,14 @@ &serial_0 {
 	status = "okay";
 
 	pinctrl-names = "default";
+	uart-has-rtscts;
 	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
 
 	bluetooth {
 		compatible = "brcm,bcm4330-bt";
 
+		max-speed = <4000000>;
+
 		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
 		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
 		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
-- 
2.53.0


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

* Re: [PATCH] ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node
  2026-08-28 18:43 [PATCH] ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node Paul Cercueil
@ 2026-08-28 18:54 ` sashiko-bot
  0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-08-28 18:54 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Baud rate mismatch between Bluetooth controller and host UART due to driver clamping.
--

commit cb253c8ef9aaafc70357be54516beee25ad6e5a6
Author: Paul Cercueil <paul@crapouillou.net>

ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node

This commit adds the uart-has-rtscts property to the bluetooth node and
configures the max-speed property to 4000000 (4 Mbps) to fix choppy audio
issues on the Galaxy S2.

> diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> --- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> +++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> @@ -875,11 +875,14 @@ &serial_0 {
>  	status = "okay";
>  
>  	pinctrl-names = "default";
> +	uart-has-rtscts;
>  	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
>  
>  	bluetooth {
>  		compatible = "brcm,bcm4330-bt";
>  
> +		max-speed = <4000000>;

[Severity: High]
Does this configuration cause a baud rate mismatch between the Bluetooth
controller and the host UART?

When bcm_setup() configures the Broadcom controller to 4,000,000 bps, it then
calls host_set_baudrate() to configure the host Exynos UART to match.

However, the request propagates to the Exynos UART driver in
drivers/tty/serial/samsung_tty.c, which enforces a hardcoded maximum baud rate
of 3,000,000 via s3c24xx_serial_set_termios():

    baud = uart_get_baud_rate(port, termios, old, 0, 3000000);

Because 4,000,000 exceeds this limit, uart_get_baud_rate() falls back to max - 1,
returning 2,999,999.

This creates a baud rate mismatch that introduces framing errors and breaks
subsequent HCI communication.

> +
>  		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
>  		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
>  		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260828184331.655804-1-paul@crapouillou.net?part=1

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

end of thread, other threads:[~2026-08-28 18:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-28 18:43 [PATCH] ARM: dts: samsung: exynos4210-i9100: Fix Bluetooth node Paul Cercueil
2026-08-28 18:54 ` sashiko-bot

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