openwrt/target/linux/brcm2708/patches-4.19/950-0701-overlays-Rename-pi3-overlays-to-be-less-model-specif.patch
Álvaro Fernández Rojas 4295485719 brcm2708: add linux 4.19 support
Boot tested on Raspberry Pi B+ (BCM2708) and Raspberry Pi 2 (BCM2709)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2019-07-14 12:44:14 +02:00

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"