Fix miniUART on Yellow with kernel HCI init enabled (#2931)

Bluetooth initialization was broken on Yellow because RPi's kernel
started to use initialization by the kernel driver by default, yet
changes from the miniuart-bt overlay are applied directly to Yellow
DTS and had to be updated too. This commit replaces the previous
patch forcing the miniUART usage for Bluetooth with a new one which
is based on the current miniuart-bt-overlay.dts.
This commit is contained in:
Jan Čermák 2023-11-16 15:55:14 +01:00 committed by GitHub
parent 7c3cee049b
commit 5d11e16150
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,22 +1,24 @@
From a26f2b40904ce7b6ac96de951fdf40035877fce4 Mon Sep 17 00:00:00 2001 From 169075818f13e77f4d86c913bbac796e92bb5b14 Mon Sep 17 00:00:00 2001
Message-ID: <a26f2b40904ce7b6ac96de951fdf40035877fce4.1698393299.git.stefan@agner.ch> From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch> Date: Thu, 16 Nov 2023 12:46:48 +0100
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 1 Jun 2023 10:22:12 +0200
Subject: [PATCH] ARM: dts: bcm2711: yellow: Use mini-UART for Bluetooth by Subject: [PATCH] ARM: dts: bcm2711: yellow: Use mini-UART for Bluetooth by
default default
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Use the mini UART for Bluetooth by default. This makes sure that the Apply changes from miniuart-bt-overlay.dts to Yellow DTS to use
full UART is always available on J11. mini-UART for Bluetooth by default and initialize hci device in the
kernel driver (can be overriden by setting dtparam=krnbt=off).
Full UART should be available on J11.
Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Jan Čermák <sairon@sairon.cz>
--- ---
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 23 ++++++++++++------- .../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 36 ++++++++++++++-----
1 file changed, 15 insertions(+), 8 deletions(-) 1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index b8f0bc2df062..78e61e628d66 100644 index b8f0bc2df062..26033f2d30d0 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts --- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -318,7 +318,7 @@ chosen { @@ -318,7 +318,7 @@ chosen {
@ -28,7 +30,16 @@ index b8f0bc2df062..78e61e628d66 100644
serial1 = &uart4; serial1 = &uart4;
serial2 = &uart5; serial2 = &uart5;
mmc0 = &emmc2; mmc0 = &emmc2;
@@ -348,12 +348,14 @@ &mmcnr { @@ -334,6 +334,8 @@ aliases {
spi4 = &spi4;
spi5 = &spi5;
spi6 = &spi6;
+ bluetooth = &uart1;
+
/delete-property/ intc;
};
@@ -348,12 +350,22 @@ &mmcnr {
}; };
&uart0 { &uart0 {
@ -40,40 +51,54 @@ index b8f0bc2df062..78e61e628d66 100644
&uart1 { &uart1 {
- pinctrl-0 = <&uart1_pins>; - pinctrl-0 = <&uart1_pins>;
+ pinctrl-names = "default"; + pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins &bt_pins &fake_bt_cts>; + pinctrl-0 = <&uart1_bt_pins>;
+ status = "okay";
+};
+
+&bt {
+ status = "disabled";
+};
+
+&minibt {
+ status = "okay"; + status = "okay";
}; };
&spi0 { &spi0 {
@@ -489,18 +491,23 @@ bt_pins: bt_pins { @@ -490,15 +502,21 @@ bt_pins: bt_pins {
brcm,pull = <2>;
}; };
- uart0_pins: uart0_pins { uart0_pins: uart0_pins {
- brcm,pins = <32 33>; + brcm,pins;
+ brcm,function;
+ brcm,pull;
+ };
+
+ uart1_pins: uart1_pins {
brcm,pins = <32 33>;
- brcm,function = <BCM2835_FSEL_ALT3>; - brcm,function = <BCM2835_FSEL_ALT3>;
- brcm,pull = <0 2>; + brcm,function = <BCM2835_FSEL_ALT5>; /* alt5=UART1 */
+ fake_bt_cts: fake_bt_cts { brcm,pull = <0 2>;
+ brcm,pins = <31>;
+ brcm,function = <1>; /* output */
}; };
- uart1_pins: uart1_pins { - uart1_pins: uart1_pins {
+ uart0_pins: uart0_pins { - brcm,pins;
brcm,pins; - brcm,function;
brcm,function; - brcm,pull;
brcm,pull; + uart1_bt_pins: uart1_bt_pins {
+ brcm,pins = <32 33 30 31>;
+ brcm,function = <BCM2835_FSEL_ALT5>; /* alt5=UART1 */
+ brcm,pull = <0 2 2 0>;
}; };
+ uart1_pins: uart1_pins {
+ brcm,pins = <32 33>;
+ brcm,function = <2>; /* alt5=UART1 */
+ brcm,pull = <0 2>;
+ };
+
uart2_pins: uart2_pins { uart2_pins: uart2_pins {
brcm,pins = <0 1>; @@ -683,5 +701,7 @@ __overrides__ {
brcm,function = <BCM2835_FSEL_ALT4>; cam1_reg = <&cam1_reg>,"status";
cam1_reg_gpio = <&cam1_reg>,"gpio:4",
<&cam1_reg>,"gpio:0=", <&gpio>;
+
+ krnbt = <&minibt>,"status";
};
};
-- --
2.42.0 2.34.1