Re: [PATCH 7/7] arm64: dts: broadcom: bcm2712: Add UARTA controller node.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ivan,

Am 31.07.24 um 08:28 schrieb Ivan T. Ivanov:
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>
---
  .../boot/dts/broadcom/bcm2712-rpi-5-b.dts     | 45 +++++++++++++++++++
  arch/arm64/boot/dts/broadcom/bcm2712.dtsi     | 11 +++++
  2 files changed, 56 insertions(+)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
index b6bfe0abb774..a557cbd8ba17 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -133,11 +133,39 @@ wl_on_pins: wl-on-pins {
  		pins = "gpio28";
  	};

+	bt_shutdown_pins: bt-shutdown-pins {
+		function = "gpio";
+		pins = "gpio29";
+	};
+
  	emmc_sd_pulls: emmc-sd-pulls {
  		pins = "emmc_cmd", "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3";
  		bias-pull-up;
  	};

+	uarta_24_pins: uarta-24-pins {
+		pin-rts {
+			function = "uart0";
+			pins = "gpio24";
+			bias-disable;
+		};
+		pin-cts {
+			function = "uart0";
+			pins = "gpio25";
+			bias-pull-up;
+		};
+		pin-txd {
+			function = "uart0";
+			pins = "gpio26";
+			bias-disable;
+		};
+		pin-rxd {
+			function = "uart0";
+			pins = "gpio27";
+			bias-pull-up;
+		};
+	};
+
  	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>;
+	pinctrl-0 = <&uarta_24_pins &bt_shutdown_pins>;
+	pinctrl-names = "default";
Please add status here
+
+	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 ];
Can we drop this?

Thanks
+	};
+};
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;
+			status = "disabled";
+		};
+
  		pinctrl_aon: pinctrl@7d510700 {
  			compatible = "brcm,bcm2712-aon-pinctrl";
  			reg = <0x7d510700 0x20>;






[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux