From 95a36415282cd8a6623eae7ad30f7fdbd9d05129 Mon Sep 17 00:00:00 2001 From: Mohamed Azhar Date: Wed, 15 Oct 2025 10:24:50 +0530 Subject: [PATCH 1/2] dts: arm: microchip: add gpio dts node for SAM D5x/E5x SoC series Updates the Port DTS nodes to use microchip gpio g1 driver. Updates the file structure as per the ordering information. Signed-off-by: Mohamed Azhar --- .../sam_d5x_e5x/atsamd51/atsamd51g18a.dtsi | 2 +- .../sam_d5x_e5x/atsamd51/atsamd51g19a.dtsi | 2 +- .../sam_d5x_e5x/atsamd51/atsamd51j18a.dtsi | 2 +- .../sam_d5x_e5x/atsamd51/atsamd51j19a.dtsi | 2 +- .../sam_d5x_e5x/atsamd51/atsamd51j20a.dtsi | 2 +- .../sam_d5x_e5x/atsamd51/atsamd51n19a.dtsi | 1 - .../sam_d5x_e5x/atsamd51/atsamd51n20a.dtsi | 1 - .../sam_d5x_e5x/atsamd51/atsamd51p19a.dtsi | 1 - .../sam_d5x_e5x/atsamd51/atsamd51p20a.dtsi | 1 - .../sam_d5x_e5x/atsame51/atsame51g18a.dtsi | 2 +- .../sam_d5x_e5x/atsame51/atsame51g19a.dtsi | 2 +- .../sam_d5x_e5x/atsame51/atsame51j18a.dtsi | 2 +- .../sam_d5x_e5x/atsame51/atsame51j19a.dtsi | 2 +- .../sam_d5x_e5x/atsame51/atsame51j20a.dtsi | 2 +- .../sam_d5x_e5x/atsame51/atsame51n19a.dtsi | 1 - .../sam_d5x_e5x/atsame51/atsame51n20a.dtsi | 1 - .../sam_d5x_e5x/atsame53/atsame53j18a.dtsi | 2 +- .../sam_d5x_e5x/atsame53/atsame53j19a.dtsi | 2 +- .../sam_d5x_e5x/atsame53/atsame53j20a.dtsi | 2 +- .../sam_d5x_e5x/atsame53/atsame53n19a.dtsi | 1 - .../sam_d5x_e5x/atsame53/atsame53n20a.dtsi | 1 - .../sam_d5x_e5x/atsame54/atsame54n19a.dtsi | 1 - .../sam_d5x_e5x/atsame54/atsame54n20a.dtsi | 1 - .../sam_d5x_e5x/atsame54/atsame54p19a.dtsi | 1 - .../sam_d5x_e5x/atsame54/atsame54p20a.dtsi | 1 - .../sam/sam_d5x_e5x/common/samd5xe5x.dtsi | 19 +++++++++------- .../sam/sam_d5x_e5x/common/samd5xe5x_g.dtsi | 7 ++++++ .../sam/sam_d5x_e5x/common/samd5xe5x_j.dtsi | 2 ++ .../sam/sam_d5x_e5x/common/samd5xe5x_n.dtsi | 13 +++++++++++ .../sam/sam_d5x_e5x/common/samd5xe5x_p.dtsi | 22 +++++++++++++++++++ 30 files changed, 68 insertions(+), 33 deletions(-) create mode 100644 dts/arm/microchip/sam/sam_d5x_e5x/common/samd5xe5x_g.dtsi 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 efc33042eff97..0ec7e54a569b2 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 @@ -88,19 +89,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"; + }; +}; From 7f0559e6d3cd4c8cdb350eee3fe180f794f3d577 Mon Sep 17 00:00:00 2001 From: Mohamed Azhar Date: Wed, 15 Oct 2025 10:27:53 +0530 Subject: [PATCH 2/2] boards: microchip: sam_e54_xpro: add led and button dts node Adds the led and button dts nodes for sam_e54_xpro board Signed-off-by: Mohamed Azhar --- .../sam/sam_e54_xpro/sam_e54_xpro.dts | 27 +++++++++++++++++++ .../sam/sam_e54_xpro/sam_e54_xpro.yaml | 1 + 2 files changed, 28 insertions(+) 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 5f8ac877f8e8d..e8c2b5031e58a 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts @@ -21,7 +21,17 @@ }; 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 { @@ -32,6 +42,15 @@ 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 { @@ -84,3 +103,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 06b83ffc0fc55..feb474cb36e92 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml @@ -10,6 +10,7 @@ toolchain: flash: 1024 ram: 256 supported: + - gpio - pinctrl - pwm - reset