On 7/30/24 23:28, Ivan T. Ivanov wrote:
On RPi5 device Bluetooth chips is connected to UARTA
port. Add Bluetooth chips and related pin definitions.
With this and firmware already provided by distributions,
at least on openSUSE Tumbleweed, this is sufficient to make
Bluetooth operational on RPi5 \o/.
Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxx>
---
[snip]
sdio2_30_pins: sdio2-30-pins {
pin-clk {
function = "sd2";
@@ -156,3 +184,20 @@ pins-dat {
};
};
};
+
+/* uarta communicates with the BT module */
+&uarta {
+ uart-has-rtscts;
+ auto-flow-control;
+ status = "okay";
+ clock-frequency = <96000000>;
Would not the "clock-frequency" belong to the .dtsi node instead?
+ pinctrl-0 = <&uarta_24_pins &bt_shutdown_pins>;
+ pinctrl-names = "default";
+
+ bluetooth: bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ max-speed = <3000000>;
+ shutdown-gpios = <&gio 29 GPIO_ACTIVE_HIGH>;
+ local-bd-address = [ 00 00 00 00 00 00 ];
+ };
+};
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index 3c0663dc6712..e972f94d6828 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -305,6 +305,17 @@ gio: gpio@7d508500 {
brcm,gpio-direct;
};
+ uarta: serial@7d50c000 {
+ compatible = "brcm,bcm7271-uart";
+ reg = <0x7d50c000 0x20>;
+ reg-names = "uart";
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ interrupts = <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
+ skip-init;
Also an undocumented property upstream, what does it do? Is this to set
UPF_SKIP_TEST?
--
Florian