arm64: dts: rockchip: Enable bluetooth of AP6611s on OrangePI5 Max/Ultra
authorJimmy Hon <honyuenkwun@gmail.com>
Sun, 27 Apr 2025 18:20:19 +0000 (13:20 -0500)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 1 May 2025 10:36:02 +0000 (12:36 +0200)
Orange Pi 5 Max and Ultra has onboard AP6611s with Bluetooth 5.3
connected via UART7.

The chip reports as:
[    3.747864] Bluetooth: hci0: BCM: chip id 3
[    3.750021] Bluetooth: hci0: BCM: features 0x0f
[    3.775923] Bluetooth: hci0: SYN43711A0
[    3.775930] Bluetooth: hci0: BCM (001.001.030) build 0000

Signed-off-by: Jimmy Hon <honyuenkwun@gmail.com>
Link: https://lore.kernel.org/r/20250427182019.1862-1-honyuenkwun@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-compact.dtsi

index f748c6f760d80269d8e13261d2e516236176c14d..9343dfc86941a3541a384f5f47ebb62d51dcaa7c 100644 (file)
                        rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       wireless-bluetooth {
+               bt_reg_on: bt-reg-on {
+                       rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               bt_wake_host: bt-wake-host {
+                       rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
+
+               host_wake_bt: host-wake-bt {
+                       rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &pwm4 {
        phy-supply = <&vcc5v0_usb20>;
 };
 
+&uart7 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart7m0_xfer &uart7m0_ctsn &uart7m0_rtsn>;
+       uart-has-rtscts;
+       status = "okay";
+
+       bluetooth {
+               compatible = "brcm,bcm43438-bt";
+               clocks = <&hym8563>;
+               clock-names = "lpo";
+               device-wakeup-gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
+               interrupt-parent = <&gpio0>;
+               interrupts = <RK_PA0 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-names = "host-wakeup";
+               pinctrl-names = "default";
+               pinctrl-0 = <&bt_reg_on>, <&host_wake_bt>, <&bt_wake_host>;
+               shutdown-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
+               vbat-supply = <&vcc_3v3_s3>;
+               vddio-supply = <&vcc_1v8_s3>;
+       };
+};
+
 &usb_host0_xhci {
        dr_mode = "host";
 };