aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch283
1 files changed, 0 insertions, 283 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch b/target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch
deleted file mode 100644
index fd66e6590d..0000000000
--- a/target/linux/bcm27xx/patches-5.4/950-0841-ARM-dts-Add-Bluetooth-nodes-for-Raspberry-Pi.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-From c46a59c99e53ab41096afcf7f7879bb12769346b Mon Sep 17 00:00:00 2001
-From: Maxim Mikityanskiy <maxtram95@gmail.com>
-Date: Sat, 27 Jun 2020 13:08:26 +0300
-Subject: [PATCH] ARM: dts: Add Bluetooth nodes for Raspberry Pi
-
-Add device tree nodes for Bluetooth on supported Raspberry Pi boards.
-It's disabled by default and can be enabled by `krnbt=on` dtparam. It's
-an alternative way of configuring Bluetooth, as compared to hciattach or
-btattach. When the dtparam is enabled, the Bluetooth driver is probed
-automatically and doesn't require any additional bring-up scripts.
-
-Note that Raspberry Pi 3 B rev 1.2 doesn't have the required hardware
-flow control pins of UART0 connected to the Bluetooth module, so the
-user should decrease the baudrate by passing `krnbt_baudrate=921600`
-dtparam to make it more stable. It resembles the behavior of the btuart
-script from Raspbian.
-
-The miniuart-bt overlay was modified to support Bluetooth probing with
-device tree, too. It's disabled by default and can be enabled by
-`krnbt=on` parameter of the miniuart-bt overlay.
-
-Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
----
- arch/arm/boot/dts/bcm2708-rpi-bt.dtsi | 26 +++++++++++++++++++
- arch/arm/boot/dts/bcm2708-rpi-zero-w.dts | 1 +
- arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 1 +
- arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 1 +
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 3 +--
- arch/arm/boot/dts/bcm271x-rpi-bt.dtsi | 26 +++++++++++++++++++
- arch/arm/boot/dts/overlays/README | 12 +++++++--
- .../boot/dts/overlays/disable-bt-overlay.dts | 13 ++++++++--
- .../boot/dts/overlays/miniuart-bt-overlay.dts | 21 ++++++++++++---
- 9 files changed, 94 insertions(+), 10 deletions(-)
- create mode 100644 arch/arm/boot/dts/bcm2708-rpi-bt.dtsi
- create mode 100644 arch/arm/boot/dts/bcm271x-rpi-bt.dtsi
-
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm2708-rpi-bt.dtsi
-@@ -0,0 +1,26 @@
-+// SPDX-License-Identifier: GPL-2.0
-+
-+&uart0 {
-+ bt: bluetooth {
-+ compatible = "brcm,bcm43438-bt";
-+ max-speed = <3000000>;
-+ shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
-+ status = "disabled";
-+ };
-+};
-+
-+&uart1 {
-+ minibt: bluetooth {
-+ compatible = "brcm,bcm43438-bt";
-+ max-speed = <460800>;
-+ shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
-+ status = "disabled";
-+ };
-+};
-+
-+/ {
-+ __overrides__ {
-+ krnbt = <&bt>,"status";
-+ krnbt_baudrate = <&bt>,"max-speed:0";
-+ };
-+};
---- a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
-@@ -4,6 +4,7 @@
- #include "bcm2708-rpi.dtsi"
- #include "bcm283x-rpi-csi1-2lane.dtsi"
- #include "bcm283x-rpi-i2c0mux_0_28.dtsi"
-+#include "bcm2708-rpi-bt.dtsi"
-
- / {
- compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
---- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
-@@ -5,6 +5,7 @@
- #include "bcm283x-rpi-lan7515.dtsi"
- #include "bcm283x-rpi-csi1-2lane.dtsi"
- #include "bcm283x-rpi-i2c0mux_0_44.dtsi"
-+#include "bcm271x-rpi-bt.dtsi"
-
- / {
- compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
---- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
-@@ -5,6 +5,7 @@
- #include "bcm283x-rpi-smsc9514.dtsi"
- #include "bcm283x-rpi-csi1-2lane.dtsi"
- #include "bcm283x-rpi-i2c0mux_0_44.dtsi"
-+#include "bcm271x-rpi-bt.dtsi"
-
- / {
- compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-@@ -182,6 +182,7 @@
- // Downstream rpi- changes
-
- #include "bcm270x.dtsi"
-+#include "bcm271x-rpi-bt.dtsi"
-
- / {
- soc {
-@@ -250,8 +251,6 @@
- &uart0 {
- pinctrl-0 = <&uart0_pins &bt_pins>;
- status = "okay";
--
-- /delete-node/ bluetooth;
- };
-
- &uart1 {
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm271x-rpi-bt.dtsi
-@@ -0,0 +1,26 @@
-+// SPDX-License-Identifier: GPL-2.0
-+
-+&uart0 {
-+ bt: bluetooth {
-+ compatible = "brcm,bcm43438-bt";
-+ max-speed = <3000000>;
-+ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
-+ status = "disabled";
-+ };
-+};
-+
-+&uart1 {
-+ minibt: bluetooth {
-+ compatible = "brcm,bcm43438-bt";
-+ max-speed = <460800>;
-+ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
-+ status = "disabled";
-+ };
-+};
-+
-+/ {
-+ __overrides__ {
-+ krnbt = <&bt>,"status";
-+ krnbt_baudrate = <&bt>,"max-speed:0";
-+ };
-+};
---- a/arch/arm/boot/dts/overlays/README
-+++ b/arch/arm/boot/dts/overlays/README
-@@ -162,6 +162,13 @@ Params:
- i2s Set to "on" to enable the i2s interface
- (default "off")
-
-+ krnbt Set to "on" to enable autoprobing of Bluetooth
-+ driver without need of hciattach/btattach
-+ (default "off")
-+
-+ krnbt_baudrate Set the baudrate of the PL011 UART when used
-+ with krnbt=on
-+
- spi Set to "on" to enable the spi interfaces
- (default "off")
-
-@@ -1764,8 +1771,9 @@ Info: Switch the onboard Bluetooth fun
- in which case use /dev/serial1 instead because it will always be
- correct. Furthermore, you must also set core_freq and core_freq_min to
- the same value in config.txt or the miniuart will not work.
--Load: dtoverlay=miniuart-bt
--Params: <None>
-+Load: dtoverlay=miniuart-bt,<param>=<val>
-+Params: krnbt Set to "on" to enable autoprobing of Bluetooth
-+ driver without need of hciattach/btattach
-
-
- Name: mmc
---- a/arch/arm/boot/dts/overlays/disable-bt-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/disable-bt-overlay.dts
-@@ -8,6 +8,8 @@
- sudo systemctl disable hciuart
- */
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- /{
- compatible = "brcm,bcm2835";
-
-@@ -28,6 +30,13 @@
- };
-
- fragment@2 {
-+ target = <&bt>;
-+ __overlay__ {
-+ status = "disabled";
-+ };
-+ };
-+
-+ fragment@3 {
- target = <&uart0_pins>;
- __overlay__ {
- brcm,pins;
-@@ -36,7 +45,7 @@
- };
- };
-
-- fragment@3 {
-+ fragment@4 {
- target = <&bt_pins>;
- __overlay__ {
- brcm,pins;
-@@ -45,7 +54,7 @@
- };
- };
-
-- fragment@4 {
-+ fragment@5 {
- target-path = "/aliases";
- __overlay__ {
- serial0 = "/soc/serial@7e201000";
---- a/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts
-+++ b/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts
-@@ -15,6 +15,8 @@
- this overlay is used.
- */
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- /{
- compatible = "brcm,bcm2835";
-
-@@ -28,6 +30,13 @@
- };
-
- fragment@1 {
-+ target = <&bt>;
-+ __overlay__ {
-+ status = "disabled";
-+ };
-+ };
-+
-+ fragment@2 {
- target = <&uart1>;
- __overlay__ {
- pinctrl-names = "default";
-@@ -36,7 +45,7 @@
- };
- };
-
-- fragment@2 {
-+ fragment@3 {
- target = <&uart0_pins>;
- __overlay__ {
- brcm,pins;
-@@ -45,7 +54,7 @@
- };
- };
-
-- fragment@3 {
-+ fragment@4 {
- target = <&uart1_pins>;
- __overlay__ {
- brcm,pins = <32 33>;
-@@ -54,7 +63,7 @@
- };
- };
-
-- fragment@4 {
-+ fragment@5 {
- target = <&gpio>;
- __overlay__ {
- fake_bt_cts: fake_bt_cts {
-@@ -64,11 +73,15 @@
- };
- };
-
-- fragment@5 {
-+ fragment@6 {
- target-path = "/aliases";
- __overlay__ {
- serial0 = "/soc/serial@7e201000";
- serial1 = "/soc/serial@7e215040";
- };
- };
-+
-+ __overrides__ {
-+ krnbt = <&minibt>,"status";
-+ };
- };