[PATCH 2/2] riscv: dts: spacemit: enable Bluetooth on BPI-F3
Troy Mitchell
troy.mitchell at linux.spacemit.com
Tue Nov 10 00:44:36 PST 2026
On Tue, 10 Nov 2026 08:46:07 +0100, Frédéric Mahé wrote:
> The BPI-F3 has an RTL8852BS module whose Bluetooth part is on UART2,
> with hardware flow control. GPIO 63 powers Bluetooth on and GPIO 64
> is the device wake line.
>
> The firmware config switches the UART to 1.5 Mbaud, so take the UART2
> clock from the 48 MHz slow_uart2 clock.
slow_uart2 is a programmable divider (MPMU_SUCCR_1), not a fixed
48 MHz clock. Its rate is whatever the bootloader left there.
[...]
> diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> index 58035d886..280adc9dc 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> @@ -383,6 +383,21 @@ &uart0 {
> status = "okay";
> };
>
> +&uart2 {
> + assigned-clocks = <&syscon_apbc CLK_UART2>;
> + assigned-clock-parents = <&syscon_mpmu CLK_SLOW_UART2>;
Please add CLK_SLOW_UART2 to assigned-clocks and set it explicitly:
assigned-clock-rates = <0>, <48000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart2_0_cfg>, <&uart2_0_cts_rts_cfg>;
> + uart-has-rtscts;
> + status = "okay";
> +
> + bluetooth {
> + compatible = "realtek,rtl8852bs-bt", "realtek,rtl8822cs-bt";
> + enable-gpios = <&gpio K1_GPIO(63) GPIO_ACTIVE_HIGH>;
> + device-wake-gpios = <&gpio K1_GPIO(64) GPIO_ACTIVE_HIGH>;
> + };
> +};
--
Troy Mitchell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20261110/18906809/attachment.sig>
More information about the linux-riscv
mailing list