[PATCH] ARM: dts: microchip: sama7d65: Add GPIO buttons and LEDs

Alexander Dahl ada at thorsis.com
Tue Sep 9 23:20:28 PDT 2025


Hello Ryan,

Am Tue, Sep 09, 2025 at 09:08:38AM -0700 schrieb Ryan.Wanner at microchip.com:
> From: Ryan Wanner <Ryan.Wanner at microchip.com>
> 
> Add the USER button as a GPIO input as well as add the LEDs and enable
> the blue LED as a heartbeat.
> 
> Signed-off-by: Ryan Wanner <Ryan.Wanner at microchip.com>
> ---
>  .../dts/microchip/at91-sama7d65_curiosity.dts | 49 +++++++++++++++++++
>  1 file changed, 49 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> index f091cc40a9f0..2fe34c59d942 100644
> --- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> @@ -11,6 +11,7 @@
>  #include "sama7d65-pinfunc.h"
>  #include "sama7d65.dtsi"
>  #include <dt-bindings/mfd/atmel-flexcom.h>
> +#include <dt-bindings/input/input.h>
>  #include <dt-bindings/pinctrl/at91.h>
>  
>  / {
> @@ -26,6 +27,42 @@ chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
>  
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_key_gpio_default>;
> +
> +		button {
> +			label = "PB_USER";
> +			gpios = <&pioa PIN_PC10 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_PROG1>;
> +			wakeup-source;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_led_gpio_default>;
> +
> +		led-red {
> +			label = "red";
> +			gpios = <&pioa PIN_PB17 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */
> +		};
> +
> +		led-green {
> +			label = "green";
> +			gpios = <&pioa PIN_PB15 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */
> +		};
> +
> +		led-blue {
> +			label = "blue";
> +			gpios = <&pioa PIN_PA21 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};

The label property is deprecated.  Please use the properties "color"
and "function" for new boards.  See devicetree binding documentation
for LEDs.

Thanks and greetings
Alex

> +
>  	memory at 60000000 {
>  		device_type = "memory";
>  		reg = <0x60000000 0x40000000>;
> @@ -352,6 +389,18 @@ pinctrl_i2c10_default: i2c10-default {
>  		bias-pull-up;
>  	};
>  
> +	pinctrl_key_gpio_default: key-gpio-default {
> +		pinmux = <PIN_PC10__GPIO>;
> +		bias-pull-up;
> +	};
> +
> +	pinctrl_led_gpio_default: led-gpio-default {
> +		pinmux = <PIN_PB15__GPIO>,
> +			 <PIN_PB17__GPIO>,
> +			 <PIN_PA21__GPIO>;
> +		bias-pull-up;
> +	};
> +
>  	pinctrl_sdmmc1_default: sdmmc1-default {
>  		cmd-data {
>  			pinmux = <PIN_PB22__SDMMC1_CMD>,
> -- 
> 2.43.0
> 
> 



More information about the linux-arm-kernel mailing list