openwrt/target/linux/bcm27xx/patches-5.10/950-0588-overlays-Allow-multiple-gpio-shutdown-instances.patch
Álvaro Fernández Rojas 8299d1f057 bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-21 19:07:07 +02:00

43 lines
1.7 KiB
Diff

From 76eb23d534419db5e794699ae77f1e644f975e8c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Sun, 25 Apr 2021 21:07:03 +0100
Subject: [PATCH] overlays: Allow multiple gpio-shutdown instances
There is no reason not to support multiple gpio-shutdown signals,
so add the necessary __override__ magic.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
+++ b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
@@ -24,7 +24,7 @@
// by a "pinctrl client", as is done below. See:
// https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
// https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt
- pin_state: shutdown_button_pins {
+ pin_state: shutdown_button_pins@3 {
brcm,pins = <3>; // gpio number
brcm,function = <0>; // 0 = input, 1 = output
brcm,pull = <2>; // 0 = none, 1 = pull down, 2 = pull up
@@ -35,7 +35,7 @@
// Add a new device to the /soc devicetree node
target-path = "/soc";
__overlay__ {
- shutdown_button {
+ shutdown_button: shutdown_button@3 {
// Let the gpio-keys driver handle this device. See:
// https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt
compatible = "gpio-keys";
@@ -69,6 +69,8 @@
__overrides__ {
// Allow overriding the GPIO number.
gpio_pin = <&button>,"gpios:4",
+ <&shutdown_button>,"reg:0",
+ <&pin_state>,"reg:0",
<&pin_state>,"brcm,pins:0";
// Allow changing the internal pullup/down state. 0 = none, 1 = pulldown, 2 = pullup