diff --git a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts index 8e9533b6a0e61..68d2da2770066 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts @@ -23,7 +23,18 @@ }; aliases { + led0 = &led0; pwm-led0 = &pwm_led0; + sw0 = &button0; + }; + + leds { + compatible = "gpio-leds"; + + led0: led_0 { + gpios = <&portc 18 GPIO_ACTIVE_LOW>; + label = "Yellow LED"; + }; }; pwmleds { @@ -34,6 +45,16 @@ pwms = <&tcc0 2 PWM_MSEC(20) 0>; }; }; + + buttons { + compatible = "gpio-keys"; + + button0: button_0 { + gpios = <&portb 31 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; + label = "SW0"; + zephyr,code = ; + }; + }; }; &flash0 { @@ -170,3 +191,11 @@ prescaler = <8>; channels = <6>; }; + +&portb { + status = "okay"; +}; + +&portc { + status = "okay"; +}; diff --git a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml index 8004c52603f93..cf53c605ac087 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml @@ -12,6 +12,7 @@ ram: 256 supported: - clock_control - flash + - gpio - mcuboot - pinctrl - pwm diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g18a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g18a.dtsi index 6af44b4bfb511..f15da90ee3238 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g18a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g18a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g19a.dtsi index 74bee592b56d8..5229b389eef70 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51g19a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j18a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j18a.dtsi index 6af44b4bfb511..845f3a5f471f0 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j18a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j18a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j19a.dtsi index 74bee592b56d8..3e6d4cd115d6d 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j19a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j20a.dtsi index 75c8389a1bf0b..ba5b14cf670e2 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51j20a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n19a.dtsi index bb0eeb4743fd5..26c45553098a9 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n20a.dtsi index 4cd68eddb6e0a..b262606224d29 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51n20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p19a.dtsi index c8f18bcbf9ccf..ce0228205dfc5 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p20a.dtsi index 90c069cf1cb67..f65e3775b5329 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsamd51/atsamd51p20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g18a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g18a.dtsi index 6af44b4bfb511..f15da90ee3238 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g18a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g18a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g19a.dtsi index 74bee592b56d8..5229b389eef70 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51g19a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j18a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j18a.dtsi index 6af44b4bfb511..845f3a5f471f0 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j18a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j18a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j19a.dtsi index 74bee592b56d8..3e6d4cd115d6d 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j19a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j20a.dtsi index 75c8389a1bf0b..ba5b14cf670e2 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51j20a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n19a.dtsi index bb0eeb4743fd5..26c45553098a9 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n20a.dtsi index 4cd68eddb6e0a..b262606224d29 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame51/atsame51n20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j18a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j18a.dtsi index 6af44b4bfb511..845f3a5f471f0 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j18a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j18a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j19a.dtsi index 74bee592b56d8..3e6d4cd115d6d 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j19a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j20a.dtsi index 75c8389a1bf0b..ba5b14cf670e2 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53j20a.dtsi @@ -5,5 +5,5 @@ */ #include -#include +#include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n19a.dtsi index bb0eeb4743fd5..26c45553098a9 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n20a.dtsi index 4cd68eddb6e0a..b262606224d29 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame53/atsame53n20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n19a.dtsi index bb0eeb4743fd5..26c45553098a9 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n20a.dtsi index 4cd68eddb6e0a..b262606224d29 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54n20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p19a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p19a.dtsi index c8f18bcbf9ccf..ce0228205dfc5 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p19a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p19a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p20a.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p20a.dtsi index 90c069cf1cb67..f65e3775b5329 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p20a.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/atsame54/atsame54p20a.dtsi @@ -5,6 +5,5 @@ */ #include -#include #include #include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x.dtsi index cd498a2eb64df..9e2a23568565c 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x.dtsi @@ -5,6 +5,7 @@ */ #include +#include #include #include @@ -142,19 +143,21 @@ ranges = <0x41008000 0x41008000 0x200>; porta: gpio@41008000 { + compatible = "microchip,port-g1-gpio"; reg = <0x41008000 0x80>; + gpio-controller; + #gpio-cells = <2>; + #microchip,pin-cells = <2>; + status = "disabled"; }; portb: gpio@41008080 { + compatible = "microchip,port-g1-gpio"; reg = <0x41008080 0x80>; - }; - - portc: gpio@41008100 { - reg = <0x41008100 0x80>; - }; - - portd: gpio@41008180 { - reg = <0x41008180 0x80>; + gpio-controller; + #gpio-cells = <2>; + #microchip,pin-cells = <2>; + status = "disabled"; }; }; diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_g.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_g.dtsi new file mode 100644 index 0000000000000..17ad30e65f702 --- /dev/null +++ b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_g.dtsi @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2025 Microchip Technology Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_j.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_j.dtsi index 68e36423459e1..bb544fe11b2df 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_j.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_j.dtsi @@ -4,6 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include + / { soc { tcc3: tcc@42001000 { diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_n.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_n.dtsi index dd74a5e521e08..e9d10590438b9 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_n.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_n.dtsi @@ -4,6 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include + / { soc { tcc3: tcc@42001000 { @@ -49,3 +51,14 @@ }; }; }; + +&pinctrl { + portc: gpio@41008100 { + compatible = "microchip,port-g1-gpio"; + reg = <0x41008100 0x80>; + gpio-controller; + #gpio-cells = <2>; + #microchip,pin-cells = <2>; + status = "disabled"; + }; +}; diff --git a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_p.dtsi b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_p.dtsi index dd74a5e521e08..276582c002744 100644 --- a/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_p.dtsi +++ b/dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_p.dtsi @@ -4,6 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include + / { soc { tcc3: tcc@42001000 { @@ -49,3 +51,23 @@ }; }; }; + +&pinctrl { + portc: gpio@41008100 { + compatible = "microchip,port-g1-gpio"; + reg = <0x41008100 0x80>; + gpio-controller; + #gpio-cells = <2>; + #microchip,pin-cells = <2>; + status = "disabled"; + }; + + portd: gpio@41008180 { + compatible = "microchip,port-g1-gpio"; + reg = <0x41008180 0x80>; + gpio-controller; + #gpio-cells = <2>; + #microchip,pin-cells = <2>; + status = "disabled"; + }; +};