mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
588 lines
16 KiB
Diff
588 lines
16 KiB
Diff
|
From 2683773c8d2092083bafbc64fe7e6a25c48b8f5f Mon Sep 17 00:00:00 2001
|
||
|
From: Phil Elwell <pelwell@users.noreply.github.com>
|
||
|
Date: Fri, 5 Jul 2019 14:49:22 +0100
|
||
|
Subject: [PATCH 701/703] overlays: Rename pi3- overlays to be less
|
||
|
model-specific (#3052)
|
||
|
|
||
|
Rename the various pi3- overlays to be more generic, listing
|
||
|
the devices they apply to in the README. The original names are
|
||
|
retained for backwards compatibility as files that just include
|
||
|
the new versions - the README marks them as being deprecated.
|
||
|
|
||
|
See: https://github.com/raspberrypi/firmware/issues/1174
|
||
|
|
||
|
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||
|
---
|
||
|
arch/arm/boot/dts/overlays/Makefile | 4 +
|
||
|
arch/arm/boot/dts/overlays/README | 97 ++++++++++++-------
|
||
|
.../arm/boot/dts/overlays/act-led-overlay.dts | 27 ++++++
|
||
|
.../boot/dts/overlays/disable-bt-overlay.dts | 55 +++++++++++
|
||
|
.../dts/overlays/disable-wifi-overlay.dts | 20 ++++
|
||
|
.../boot/dts/overlays/miniuart-bt-overlay.dts | 74 ++++++++++++++
|
||
|
.../boot/dts/overlays/pi3-act-led-overlay.dts | 28 +-----
|
||
|
.../dts/overlays/pi3-disable-bt-overlay.dts | 56 +----------
|
||
|
.../dts/overlays/pi3-disable-wifi-overlay.dts | 21 +---
|
||
|
.../dts/overlays/pi3-miniuart-bt-overlay.dts | 75 +-------------
|
||
|
10 files changed, 246 insertions(+), 211 deletions(-)
|
||
|
create mode 100644 arch/arm/boot/dts/overlays/act-led-overlay.dts
|
||
|
create mode 100644 arch/arm/boot/dts/overlays/disable-bt-overlay.dts
|
||
|
create mode 100644 arch/arm/boot/dts/overlays/disable-wifi-overlay.dts
|
||
|
create mode 100644 arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts
|
||
|
|
||
|
--- a/arch/arm/boot/dts/overlays/Makefile
|
||
|
+++ b/arch/arm/boot/dts/overlays/Makefile
|
||
|
@@ -1,6 +1,7 @@
|
||
|
# Overlays for the Raspberry Pi platform
|
||
|
|
||
|
dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||
|
+ act-led.dtbo \
|
||
|
adau1977-adc.dtbo \
|
||
|
adau7002-simple.dtbo \
|
||
|
ads1015.dtbo \
|
||
|
@@ -26,6 +27,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||
|
dht11.dtbo \
|
||
|
dionaudio-loco.dtbo \
|
||
|
dionaudio-loco-v2.dtbo \
|
||
|
+ disable-bt.dtbo \
|
||
|
+ disable-wifi.dtbo \
|
||
|
dpi18.dtbo \
|
||
|
dpi24.dtbo \
|
||
|
draws.dtbo \
|
||
|
@@ -91,6 +94,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
||
|
media-center.dtbo \
|
||
|
midi-uart0.dtbo \
|
||
|
midi-uart1.dtbo \
|
||
|
+ miniuart-bt.dtbo \
|
||
|
mmc.dtbo \
|
||
|
mpu6050.dtbo \
|
||
|
mz61581.dtbo \
|
||
|
--- a/arch/arm/boot/dts/overlays/README
|
||
|
+++ b/arch/arm/boot/dts/overlays/README
|
||
|
@@ -180,14 +180,16 @@ Params:
|
||
|
|
||
|
act_led_activelow Set to "on" to invert the sense of the LED
|
||
|
(default "off")
|
||
|
- N.B. For Pi3 see pi3-act-led overlay.
|
||
|
+ N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led
|
||
|
+ overlay.
|
||
|
|
||
|
act_led_gpio Set which GPIO to use for the activity LED
|
||
|
(in case you want to connect it to an external
|
||
|
device)
|
||
|
(default "16" on a non-Plus board, "47" on a
|
||
|
Plus or Pi 2)
|
||
|
- N.B. For Pi3 see pi3-act-led overlay.
|
||
|
+ N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led
|
||
|
+ overlay.
|
||
|
|
||
|
pwr_led_trigger
|
||
|
pwr_led_activelow
|
||
|
@@ -205,6 +207,23 @@ Params:
|
||
|
and the other i2c baudrate parameters.
|
||
|
|
||
|
|
||
|
+Name: act-led
|
||
|
+Info: Pi 3B, 3B+, 3A+ and 4B use a GPIO expander to drive the LEDs which can
|
||
|
+ only be accessed from the VPU. There is a special driver for this with a
|
||
|
+ separate DT node, which has the unfortunate consequence of breaking the
|
||
|
+ act_led_gpio and act_led_activelow dtparams.
|
||
|
+ This overlay changes the GPIO controller back to the standard one and
|
||
|
+ restores the dtparams.
|
||
|
+Load: dtoverlay=act-led,<param>=<val>
|
||
|
+Params: activelow Set to "on" to invert the sense of the LED
|
||
|
+ (default "off")
|
||
|
+
|
||
|
+ gpio Set which GPIO to use for the activity LED
|
||
|
+ (in case you want to connect it to an external
|
||
|
+ device)
|
||
|
+ REQUIRED
|
||
|
+
|
||
|
+
|
||
|
Name: adau1977-adc
|
||
|
Info: Overlay for activation of ADAU1977 ADC codec over I2C for control
|
||
|
and I2S for data.
|
||
|
@@ -509,6 +528,21 @@ Params: 24db_digital_gain Allow ga
|
||
|
that does not result in clipping/distortion!)
|
||
|
|
||
|
|
||
|
+Name: disable-bt
|
||
|
+Info: Disable onboard Bluetooth on Pi 3B, 3B+, 3A+, 4B and Zero W, restoring
|
||
|
+ UART0/ttyAMA0 over GPIOs 14 & 15.
|
||
|
+ N.B. To disable the systemd service that initialises the modem so it
|
||
|
+ doesn't use the UART, use 'sudo systemctl disable hciuart'.
|
||
|
+Load: dtoverlay=disable-bt
|
||
|
+Params: <None>
|
||
|
+
|
||
|
+
|
||
|
+Name: disable-wifi
|
||
|
+Info: Disable onboard WiFi on Pi 3B, 3B+, 3A+, 4B and Zero W.
|
||
|
+Load: dtoverlay=disable-wifi
|
||
|
+Params: <None>
|
||
|
+
|
||
|
+
|
||
|
Name: dpi18
|
||
|
Info: Overlay for a generic 18-bit DPI display
|
||
|
This uses GPIOs 0-21 (so no I2C, uart etc.), and activates the output
|
||
|
@@ -1447,6 +1481,20 @@ Load: dtoverlay=midi-uart1
|
||
|
Params: <None>
|
||
|
|
||
|
|
||
|
+Name: miniuart-bt
|
||
|
+Info: Switch the onboard Bluetooth function on Pi 3B, 3B+, 3A+, 4B and Zero W
|
||
|
+ to use the mini-UART (ttyS0) and restore UART0/ttyAMA0 over GPIOs 14 &
|
||
|
+ 15. Note that this may reduce the maximum usable baudrate.
|
||
|
+ N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
|
||
|
+ and replace ttyAMA0 with ttyS0, unless using Raspbian or another
|
||
|
+ distribution with udev rules that create /dev/serial0 and /dev/serial1,
|
||
|
+ 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>
|
||
|
+
|
||
|
+
|
||
|
Name: mmc
|
||
|
Info: Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
|
||
|
Load: dtoverlay=mmc,<param>=<val>
|
||
|
@@ -1509,48 +1557,27 @@ Params: panel Display
|
||
|
|
||
|
|
||
|
Name: pi3-act-led
|
||
|
-Info: Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
|
||
|
- from the VPU. There is a special driver for this with a separate DT
|
||
|
- node, which has the unfortunate consequence of breaking the
|
||
|
- act_led_gpio and act_led_activelow dtparams.
|
||
|
- This overlay changes the GPIO controller back to the standard one and
|
||
|
- restores the dtparams.
|
||
|
-Load: dtoverlay=pi3-act-led,<param>=<val>
|
||
|
-Params: activelow Set to "on" to invert the sense of the LED
|
||
|
- (default "off")
|
||
|
-
|
||
|
- gpio Set which GPIO to use for the activity LED
|
||
|
- (in case you want to connect it to an external
|
||
|
- device)
|
||
|
- REQUIRED
|
||
|
+Info: This overlay has been renamed act-led, keeping pi3-act-led as an alias
|
||
|
+ for backwards compatibility.
|
||
|
+Load: <Deprecated>
|
||
|
|
||
|
|
||
|
Name: pi3-disable-bt
|
||
|
-Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
|
||
|
- N.B. To disable the systemd service that initialises the modem so it
|
||
|
- doesn't use the UART, use 'sudo systemctl disable hciuart'.
|
||
|
-Load: dtoverlay=pi3-disable-bt
|
||
|
-Params: <None>
|
||
|
+Info: This overlay has been renamed disable-bt, keeping pi3-disable-bt as an
|
||
|
+ alias for backwards compatibility.
|
||
|
+Load: <Deprecated>
|
||
|
|
||
|
|
||
|
Name: pi3-disable-wifi
|
||
|
-Info: Disable Pi3 onboard WiFi
|
||
|
-Load: dtoverlay=pi3-disable-wifi
|
||
|
-Params: <None>
|
||
|
+Info: This overlay has been renamed disable-wifi, keeping pi3-disable-wifi as
|
||
|
+ an alias for backwards compatibility.
|
||
|
+Load: <Deprecated>
|
||
|
|
||
|
|
||
|
Name: pi3-miniuart-bt
|
||
|
-Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
|
||
|
- UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
|
||
|
- usable baudrate.
|
||
|
- N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
|
||
|
- and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
|
||
|
- that create /dev/serial0 and /dev/serial1, in which case use
|
||
|
- /dev/serial1 instead because it will always be correct. Furthermore,
|
||
|
- you must also set core_freq=250 in config.txt or the miniuart will not
|
||
|
- work.
|
||
|
-Load: dtoverlay=pi3-miniuart-bt
|
||
|
-Params: <None>
|
||
|
+Info: This overlay has been renamed miniuart-bt, keeping pi3-miniuart-bt as
|
||
|
+ an alias for backwards compatibility.
|
||
|
+Load: <Deprecated>
|
||
|
|
||
|
|
||
|
Name: pibell
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/overlays/act-led-overlay.dts
|
||
|
@@ -0,0 +1,27 @@
|
||
|
+/dts-v1/;
|
||
|
+/plugin/;
|
||
|
+
|
||
|
+/* Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
|
||
|
+ from the VPU. There is a special driver for this with a separate DT node,
|
||
|
+ which has the unfortunate consequence of breaking the act_led_gpio and
|
||
|
+ act_led_activelow dtparams.
|
||
|
+
|
||
|
+ This overlay changes the GPIO controller back to the standard one and
|
||
|
+ restores the dtparams.
|
||
|
+*/
|
||
|
+
|
||
|
+/{
|
||
|
+ compatible = "brcm,bcm2835";
|
||
|
+
|
||
|
+ fragment@0 {
|
||
|
+ target = <&act_led>;
|
||
|
+ frag0: __overlay__ {
|
||
|
+ gpios = <&gpio 0 0>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ __overrides__ {
|
||
|
+ gpio = <&frag0>,"gpios:4";
|
||
|
+ activelow = <&frag0>,"gpios:8";
|
||
|
+ };
|
||
|
+};
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/overlays/disable-bt-overlay.dts
|
||
|
@@ -0,0 +1,55 @@
|
||
|
+/dts-v1/;
|
||
|
+/plugin/;
|
||
|
+
|
||
|
+/* Disable Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15.
|
||
|
+ To disable the systemd service that initialises the modem so it doesn't use
|
||
|
+ the UART:
|
||
|
+
|
||
|
+ sudo systemctl disable hciuart
|
||
|
+*/
|
||
|
+
|
||
|
+/{
|
||
|
+ compatible = "brcm,bcm2835";
|
||
|
+
|
||
|
+ fragment@0 {
|
||
|
+ target = <&uart1>;
|
||
|
+ __overlay__ {
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@1 {
|
||
|
+ target = <&uart0>;
|
||
|
+ __overlay__ {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_pins>;
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@2 {
|
||
|
+ target = <&uart0_pins>;
|
||
|
+ __overlay__ {
|
||
|
+ brcm,pins;
|
||
|
+ brcm,function;
|
||
|
+ brcm,pull;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@3 {
|
||
|
+ target = <&bt_pins>;
|
||
|
+ __overlay__ {
|
||
|
+ brcm,pins;
|
||
|
+ brcm,function;
|
||
|
+ brcm,pull;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@4 {
|
||
|
+ target-path = "/aliases";
|
||
|
+ __overlay__ {
|
||
|
+ serial0 = "/soc/serial@7e201000";
|
||
|
+ serial1 = "/soc/serial@7e215040";
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/overlays/disable-wifi-overlay.dts
|
||
|
@@ -0,0 +1,20 @@
|
||
|
+/dts-v1/;
|
||
|
+/plugin/;
|
||
|
+
|
||
|
+/{
|
||
|
+ compatible = "brcm,bcm2835";
|
||
|
+
|
||
|
+ fragment@0 {
|
||
|
+ target = <&mmc>;
|
||
|
+ __overlay__ {
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@1 {
|
||
|
+ target = <&mmcnr>;
|
||
|
+ __overlay__ {
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts
|
||
|
@@ -0,0 +1,74 @@
|
||
|
+/dts-v1/;
|
||
|
+/plugin/;
|
||
|
+
|
||
|
+/* Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
|
||
|
+ UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
|
||
|
+ usable baudrate.
|
||
|
+
|
||
|
+ It is also necessary to edit /lib/systemd/system/hciuart.service and
|
||
|
+ replace ttyAMA0 with ttyS0, unless you have a system with udev rules
|
||
|
+ that create /dev/serial0 and /dev/serial1, in which case use /dev/serial1
|
||
|
+ instead because it will always be correct.
|
||
|
+
|
||
|
+ If cmdline.txt uses the alias serial0 to refer to the user-accessable port
|
||
|
+ then the firmware will replace with the appropriate port whether or not
|
||
|
+ this overlay is used.
|
||
|
+*/
|
||
|
+
|
||
|
+/{
|
||
|
+ compatible = "brcm,bcm2835";
|
||
|
+
|
||
|
+ fragment@0 {
|
||
|
+ target = <&uart0>;
|
||
|
+ __overlay__ {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_pins>;
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@1 {
|
||
|
+ target = <&uart1>;
|
||
|
+ __overlay__ {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart1_pins &bt_pins &fake_bt_cts>;
|
||
|
+ status = "okay";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@2 {
|
||
|
+ target = <&uart0_pins>;
|
||
|
+ __overlay__ {
|
||
|
+ brcm,pins;
|
||
|
+ brcm,function;
|
||
|
+ brcm,pull;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@3 {
|
||
|
+ target = <&uart1_pins>;
|
||
|
+ __overlay__ {
|
||
|
+ brcm,pins = <32 33>;
|
||
|
+ brcm,function = <2>; /* alt5=UART1 */
|
||
|
+ brcm,pull = <0 2>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@4 {
|
||
|
+ target = <&gpio>;
|
||
|
+ __overlay__ {
|
||
|
+ fake_bt_cts: fake_bt_cts {
|
||
|
+ brcm,pins = <31>;
|
||
|
+ brcm,function = <1>; /* output */
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ fragment@5 {
|
||
|
+ target-path = "/aliases";
|
||
|
+ __overlay__ {
|
||
|
+ serial0 = "/soc/serial@7e201000";
|
||
|
+ serial1 = "/soc/serial@7e215040";
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
--- a/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts
|
||
|
@@ -1,27 +1 @@
|
||
|
-/dts-v1/;
|
||
|
-/plugin/;
|
||
|
-
|
||
|
-/* Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
|
||
|
- from the VPU. There is a special driver for this with a separate DT node,
|
||
|
- which has the unfortunate consequence of breaking the act_led_gpio and
|
||
|
- act_led_activelow dtparams.
|
||
|
-
|
||
|
- This overlay changes the GPIO controller back to the standard one and
|
||
|
- restores the dtparams.
|
||
|
-*/
|
||
|
-
|
||
|
-/{
|
||
|
- compatible = "brcm,bcm2835";
|
||
|
-
|
||
|
- fragment@0 {
|
||
|
- target = <&act_led>;
|
||
|
- frag0: __overlay__ {
|
||
|
- gpios = <&gpio 0 0>;
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- __overrides__ {
|
||
|
- gpio = <&frag0>,"gpios:4";
|
||
|
- activelow = <&frag0>,"gpios:8";
|
||
|
- };
|
||
|
-};
|
||
|
+#include "act-led-overlay.dts"
|
||
|
--- a/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts
|
||
|
@@ -1,55 +1 @@
|
||
|
-/dts-v1/;
|
||
|
-/plugin/;
|
||
|
-
|
||
|
-/* Disable Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15.
|
||
|
- To disable the systemd service that initialises the modem so it doesn't use
|
||
|
- the UART:
|
||
|
-
|
||
|
- sudo systemctl disable hciuart
|
||
|
-*/
|
||
|
-
|
||
|
-/{
|
||
|
- compatible = "brcm,bcm2835";
|
||
|
-
|
||
|
- fragment@0 {
|
||
|
- target = <&uart1>;
|
||
|
- __overlay__ {
|
||
|
- status = "disabled";
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@1 {
|
||
|
- target = <&uart0>;
|
||
|
- __overlay__ {
|
||
|
- pinctrl-names = "default";
|
||
|
- pinctrl-0 = <&uart0_pins>;
|
||
|
- status = "okay";
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@2 {
|
||
|
- target = <&uart0_pins>;
|
||
|
- __overlay__ {
|
||
|
- brcm,pins;
|
||
|
- brcm,function;
|
||
|
- brcm,pull;
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@3 {
|
||
|
- target = <&bt_pins>;
|
||
|
- __overlay__ {
|
||
|
- brcm,pins;
|
||
|
- brcm,function;
|
||
|
- brcm,pull;
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@4 {
|
||
|
- target-path = "/aliases";
|
||
|
- __overlay__ {
|
||
|
- serial0 = "/soc/serial@7e201000";
|
||
|
- serial1 = "/soc/serial@7e215040";
|
||
|
- };
|
||
|
- };
|
||
|
-};
|
||
|
+#include "disable-bt-overlay.dts"
|
||
|
--- a/arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/pi3-disable-wifi-overlay.dts
|
||
|
@@ -1,20 +1 @@
|
||
|
-/dts-v1/;
|
||
|
-/plugin/;
|
||
|
-
|
||
|
-/{
|
||
|
- compatible = "brcm,bcm2835";
|
||
|
-
|
||
|
- fragment@0 {
|
||
|
- target = <&mmc>;
|
||
|
- __overlay__ {
|
||
|
- status = "disabled";
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@1 {
|
||
|
- target = <&mmcnr>;
|
||
|
- __overlay__ {
|
||
|
- status = "disabled";
|
||
|
- };
|
||
|
- };
|
||
|
-};
|
||
|
+#include "disable-wifi-overlay.dts"
|
||
|
--- a/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts
|
||
|
+++ b/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts
|
||
|
@@ -1,74 +1 @@
|
||
|
-/dts-v1/;
|
||
|
-/plugin/;
|
||
|
-
|
||
|
-/* Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
|
||
|
- UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
|
||
|
- usable baudrate.
|
||
|
-
|
||
|
- It is also necessary to edit /lib/systemd/system/hciuart.service and
|
||
|
- replace ttyAMA0 with ttyS0, unless you have a system with udev rules
|
||
|
- that create /dev/serial0 and /dev/serial1, in which case use /dev/serial1
|
||
|
- instead because it will always be correct.
|
||
|
-
|
||
|
- If cmdline.txt uses the alias serial0 to refer to the user-accessable port
|
||
|
- then the firmware will replace with the appropriate port whether or not
|
||
|
- this overlay is used.
|
||
|
-*/
|
||
|
-
|
||
|
-/{
|
||
|
- compatible = "brcm,bcm2835";
|
||
|
-
|
||
|
- fragment@0 {
|
||
|
- target = <&uart0>;
|
||
|
- __overlay__ {
|
||
|
- pinctrl-names = "default";
|
||
|
- pinctrl-0 = <&uart0_pins>;
|
||
|
- status = "okay";
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@1 {
|
||
|
- target = <&uart1>;
|
||
|
- __overlay__ {
|
||
|
- pinctrl-names = "default";
|
||
|
- pinctrl-0 = <&uart1_pins &bt_pins &fake_bt_cts>;
|
||
|
- status = "okay";
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@2 {
|
||
|
- target = <&uart0_pins>;
|
||
|
- __overlay__ {
|
||
|
- brcm,pins;
|
||
|
- brcm,function;
|
||
|
- brcm,pull;
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@3 {
|
||
|
- target = <&uart1_pins>;
|
||
|
- __overlay__ {
|
||
|
- brcm,pins = <32 33>;
|
||
|
- brcm,function = <2>; /* alt5=UART1 */
|
||
|
- brcm,pull = <0 2>;
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@4 {
|
||
|
- target = <&gpio>;
|
||
|
- __overlay__ {
|
||
|
- fake_bt_cts: fake_bt_cts {
|
||
|
- brcm,pins = <31>;
|
||
|
- brcm,function = <1>; /* output */
|
||
|
- };
|
||
|
- };
|
||
|
- };
|
||
|
-
|
||
|
- fragment@5 {
|
||
|
- target-path = "/aliases";
|
||
|
- __overlay__ {
|
||
|
- serial0 = "/soc/serial@7e201000";
|
||
|
- serial1 = "/soc/serial@7e215040";
|
||
|
- };
|
||
|
- };
|
||
|
-};
|
||
|
+#include "miniuart-bt-overlay.dts"
|