]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: broadcom: bcm2712: Add one more GPIO node
authorIvan T. Ivanov <iivanov@suse.de>
Thu, 28 Aug 2025 13:17:12 +0000 (15:17 +0200)
committerFlorian Fainelli <florian.fainelli@broadcom.com>
Thu, 4 Sep 2025 21:04:28 +0000 (14:04 -0700)
Add GPIO and related interrupt controller nodes and wire one
of the lines to power button.

Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
Link: https://lore.kernel.org/r/6d311b2f629bbc0e1dd9821e4aa8e5af9f8e5362.1756386531.git.andrea.porta@suse.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
arch/arm64/boot/dts/broadcom/bcm2712.dtsi

index 6091a1ff365c995eb4930afeacbfa57f44cceb3a..f0883c9035273c9dd66439f0f8f4a2c8a6876ea1 100644 (file)
@@ -2,6 +2,7 @@
 /dts-v1/;
 
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 #include "bcm2712.dtsi"
 
 / {
                reg = <0 0 0 0x28000000>;
        };
 
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwr_button_default>;
+               status = "okay";
+
+               power_button: power-button {
+                       label = "pwr_button";
+                       linux,code = <KEY_POWER>;
+                       gpios = <&gio 20 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <50>;
+               };
+       };
+
        sd_io_1v8_reg: sd-io-1v8-reg {
                compatible = "regulator-gpio";
                regulator-name = "vdd-sd-io";
                pins = "emmc_cmd", "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3";
                bias-pull-up;
        };
+
+       pwr_button_default: pwr-button-default-state {
+               function = "gpio";
+               pins = "gpio20";
+               bias-pull-up;
+       };
 };
 
 &pinctrl_aon {
index c1374cf383aeb9bfd0eb2ac3d287af2832280063..a1af86208d9e86284802cf12a51c163107b0072e 100644 (file)
                        reg = <0x7d504100 0x30>;
                };
 
+               gio: gpio@7d508500 {
+                       compatible = "brcm,bcm7445-gpio", "brcm,brcmstb-gpio";
+                       reg = <0x7d508500 0x40>;
+                       interrupt-parent = <&main_irq>;
+                       interrupts = <0>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       brcm,gpio-bank-widths = <32 22>;
+               };
+
                pinctrl_aon: pinctrl@7d510700 {
                        compatible = "brcm,bcm2712c0-aon-pinctrl";
                        reg = <0x7d510700 0x20>;