[PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node

Paul Cercueil posted 1 patch 4 weeks ago
arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 1 +
1 file changed, 1 insertion(+)
[PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Paul Cercueil 4 weeks ago
The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-rtscts'
property.

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

Notes:
    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.

 arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
index 8a635bee59fa..95964be7daa8 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
@@ -875,6 +875,7 @@ &serial_0 {
 	status = "okay";
 
 	pinctrl-names = "default";
+	uart-has-rtscts;
 	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
 
 	bluetooth {
-- 
2.53.0
Re: [PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Marek Szyprowski 3 weeks, 3 days ago
On 29.08.2026 12:15, Paul Cercueil wrote:
> The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-rtscts'
> property.
>
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>


Indeed the CTS/RTS pins are used for BT on most of the ARM Exynos boards,
as the "<&uartX_fctl>" property is assigned for pinctl-0. This is not really
specific to i9100, so maybe this property should be added to other dts?


However I wonder if Samsung UART driver actually use this "uart-has-rtscts"
DT property? A quick "git grep uart-has-rtscts drivers/tty" shows nothing
related to Samsung Exynos...


> ---
>
> Notes:
>     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.
>
>  arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> index 8a635bee59fa..95964be7daa8 100644
> --- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> +++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> @@ -875,6 +875,7 @@ &serial_0 {
>  	status = "okay";
>  
>  	pinctrl-names = "default";
> +	uart-has-rtscts;
>  	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
>  
>  	bluetooth {

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

Re: [PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Paul Cercueil 3 weeks, 2 days ago
Hi Marek,

Le mercredi 02 septembre 2026 à 10:36 +0200, Marek Szyprowski a écrit :
> On 29.08.2026 12:15, Paul Cercueil wrote:
> > The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-
> > rtscts'
> > property.
> > 
> > Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> 
> 
> Indeed the CTS/RTS pins are used for BT on most of the ARM Exynos
> boards,
> as the "<&uartX_fctl>" property is assigned for pinctl-0. This is not
> really
> specific to i9100, so maybe this property should be added to other
> dts?

I can add it to all exynos4 boards that use the "uartX_fctl" property.


> However I wonder if Samsung UART driver actually use this "uart-has-
> rtscts"
> DT property? A quick "git grep uart-has-rtscts drivers/tty" shows
> nothing
> related to Samsung Exynos...

It looks like it does not. I still think the DT property should be here
but I won't fight over this.

Cheers,
-Paul

> 
> > ---
> > 
> > Notes:
> >     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.
> > 
> >  arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> > b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> > index 8a635bee59fa..95964be7daa8 100644
> > --- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> > +++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> > @@ -875,6 +875,7 @@ &serial_0 {
> >  	status = "okay";
> >  
> >  	pinctrl-names = "default";
> > +	uart-has-rtscts;
> >  	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>,
> > <&uart0_fctl>;
> >  
> >  	bluetooth {
> 
> Best regards
Re: [PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Marek Szyprowski 2 weeks, 5 days ago
On 03.09.2026 15:29, Paul Cercueil wrote:
> Le mercredi 02 septembre 2026 à 10:36 +0200, Marek Szyprowski a écrit :
>> On 29.08.2026 12:15, Paul Cercueil wrote:
>>> The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-
>>> rtscts'
>>> property.
>>>
>>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> Indeed the CTS/RTS pins are used for BT on most of the ARM Exynos
>> boards,
>> as the "<&uartX_fctl>" property is assigned for pinctl-0. This is not
>> really
>> specific to i9100, so maybe this property should be added to other
>> dts?
> I can add it to all exynos4 boards that use the "uartX_fctl" property.
>
>
>> However I wonder if Samsung UART driver actually use this "uart-has-
>> rtscts"
>> DT property? A quick "git grep uart-has-rtscts drivers/tty" shows
>> nothing
>> related to Samsung Exynos...
> It looks like it does not. I still think the DT property should be here
> but I won't fight over this.
I also don't have strong opinion on this issue. Krzysztof: do You see
any benefit from adding this "uart-has-rtscts" property, just to describe
precisely the actual hardware, even if it won't be used by any driver?

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

Re: [PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Krzysztof Kozlowski 2 weeks, 3 days ago
On 07/09/2026 10:16, Marek Szyprowski wrote:
> On 03.09.2026 15:29, Paul Cercueil wrote:
>> Le mercredi 02 septembre 2026 à 10:36 +0200, Marek Szyprowski a écrit :
>>> On 29.08.2026 12:15, Paul Cercueil wrote:
>>>> The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-
>>>> rtscts'
>>>> property.
>>>>
>>>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>>> Indeed the CTS/RTS pins are used for BT on most of the ARM Exynos
>>> boards,
>>> as the "<&uartX_fctl>" property is assigned for pinctl-0. This is not
>>> really
>>> specific to i9100, so maybe this property should be added to other
>>> dts?
>> I can add it to all exynos4 boards that use the "uartX_fctl" property.
>>
>>
>>> However I wonder if Samsung UART driver actually use this "uart-has-
>>> rtscts"
>>> DT property? A quick "git grep uart-has-rtscts drivers/tty" shows
>>> nothing
>>> related to Samsung Exynos...
>> It looks like it does not. I still think the DT property should be here
>> but I won't fight over this.
> I also don't have strong opinion on this issue. Krzysztof: do You see
> any benefit from adding this "uart-has-rtscts" property, just to describe
> precisely the actual hardware, even if it won't be used by any driver?
> 

Yes, it makes sense, because drivers could be improved or DTS could be
used in other project, but it also does not really matter in such case.

Best regards,
Krzysztof
Re: [PATCH v2] ARM: dts: samsung: exynos4210-i9100: Enable RTS/CTS in Bluetooth node
Posted by Paul Cercueil 3 weeks, 4 days ago
Hi,

Le samedi 29 août 2026 à 12:15 +0200, Paul Cercueil a écrit :
> The BCM4330 is connected using CTS/RTS too, so add the 'uart-has-
> rtscts'
> property.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
> 
> Notes:
>     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.

I'll V3. I think I did not understand properly what 'max-speed' was
for, and indeed it does apply in this case - the Bluetooth chip's
maximum rate is 4 Mbps while the max baudrate of the SoC's UART is 3
Mbps.

Cheers,
-Paul

> 
>  arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> index 8a635bee59fa..95964be7daa8 100644
> --- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> +++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
> @@ -875,6 +875,7 @@ &serial_0 {
>  	status = "okay";
>  
>  	pinctrl-names = "default";
> +	uart-has-rtscts;
>  	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>,
> <&uart0_fctl>;
>  
>  	bluetooth {