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

Alexander Dahl ada at thorsis.com
Tue Sep 9 23:25:14 PDT 2025


Hello Ryan,

Am Wed, Sep 10, 2025 at 08:20:28AM +0200 schrieb Alexander Dahl:
> 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.

>From a quick glance, this seems to be an RGB-LED, so I would suggest
to not model it as three distinct LEDs, but make use of the
"leds-group-multicolor" feature, example:

 59         multi-led {
 60                 compatible = "leds-group-multicolor";
 61                 color = <LED_COLOR_ID_RGB>;
 62                 function = LED_FUNCTION_INDICATOR;
 63                 leds = <&led_red>, <&led_green>, <&led_blue>;
 64         };

Greets
Alex

> 
> 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