[PATCH 5/5] arm64: dts: rockchip: Add Bluetooth to RK3588 EVB1
Sebastian Reichel
sebastian.reichel at collabora.com
Fri Nov 6 13:57:10 PST 2026
The RK3588 EVB1 has an AP6275P WIFI6/BT Module. The WLAN side is
connected via PCIe and already described. This adds the BT side, which
is connected via UART. BT is also connected to I2S, which can be used
for BT audio. By default BT audio is routed via the HCI UART interface
instead.
The added I2S complexity is avoided for now, but would require the
following steps:
1. Setup "brcm,bt-pcm-int-params" in the bluetooth node
2. Add a simple sound card for Bluetooth using &i2s2_2ch (using default
M1 pinmux) on the CPU side and "linux,bt-sco" on the codec side
3. Extending "linux,bt-sco", so that it supports 2 channels, because
the Rockchip I2S hardware cannot output single channel
Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>
---
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 37 ++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
index 327ca13b60f0..f578e7dd5aa1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
@@ -695,6 +695,20 @@ speaker_amplifier_en: speaker-amplifier-en {
};
};
+ bluetooth {
+ bt_pwr_en: bluetooth-pwren {
+ rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+
+ bt_wake_host_irq: bluetooth-wake-host {
+ rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+
+ bt_wake_gpio: bluetooth-wake {
+ rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
rtl8111 {
rtl8111_isolate: rtl8111-isolate {
rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
@@ -1522,6 +1536,29 @@ &uart2 {
status = "okay";
};
+&uart8 {
+ pinctrl-0 = <&uart8m1_xfer &uart8m1_ctsn &uart8m1_rtsn>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+ status = "okay";
+
+ bluetooth {
+ compatible = "brcm,bcm4345c5";
+ clocks = <&hym8563>;
+ clock-names = "lpo";
+ device-wakeup-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
+ interrupt-names = "host-wakeup";
+ interrupt-parent = <&gpio3>;
+ interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
+ max-speed = <1500000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&bt_wake_host_irq &bt_wake_gpio &bt_pwr_en>;
+ shutdown-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
+ vbat-supply = <&vcc3v3_pciewl_vbat>;
+ vddio-supply = <&vccio_wl>;
+ };
+};
+
&usb_host0_ehci {
status = "okay";
};
--
2.53.0
More information about the Linux-rockchip
mailing list