Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] arm64: dts: qcom: missing bias-bus-hold on qup_uart1_cts in default 
state
--

commit c6c43a5057066bea59381415e228911af9075c62
Author: erebion <[email protected]>

arm64: dts: qcom: sm6350-lena: Enable Bluetooth

This commit configures the UART1 pinmux, sleep states, and regulators to
enable the WCN3991 Bluetooth controller on the Sony Xperia 10 III.

> diff --git a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts 
> b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> index ce351a3fa8727..f1958f4bad05a 100644
> --- a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> +++ b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
[ ... ]
> @@ -387,6 +391,32 @@ &qupv3_id_1 {
>       status = "okay";
>  };
>  
> +/* UART1: HS UART for Bluetooth */
> +&qup_uart1_rts {
> +     /* We'll drive RTS, so no pull */
> +     drive-strength = <2>;
> +     /delete-property/ bias-pull-down;
> +     bias-disable;
> +};

[Severity: Medium]
Should this also override qup_uart1_cts to replace bias-disable with
bias-bus-hold in the default state, similar to qup_uart1_sleep_cts below
(and sm7225-fairphone-fp4.dts)?

In arch/arm64/boot/dts/qcom/sm6350.dtsi, qup_uart1_cts configures gpio61
with bias-disable:

        qup_uart1_cts: qup-uart1-cts-default-state {
                pins = "gpio61";
                function = "qup01";
                drive-strength = <2>;
                bias-disable;
        };

Because qca_serdev_probe() -> hci_uart_register_device_priv() ->
serdev_device_open() opens the UART port at probe time and keeps it open
even when Bluetooth is powered off via qca_hci_shutdown() ->
qca_power_off(), qcom_geni_serial_startup() holds an active runtime PM
reference on uart1 whenever the system is awake.

As a result, uart1 only switches to the sleep pinctrl state during
system-wide suspend in qcom_geni_serial_suspend() ->
pm_runtime_force_suspend(). When Bluetooth is turned off while the system
is awake, uart1 stays in the default pinctrl state, leaving gpio61 with
bias-disable instead of bias-bus-hold while the WCN3991 is unpowered.

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=5

Reply via email to