Skip to content

Commit 4b182e3

Browse files
committed
dts: microchip: add dtsi files for Microchip SAM D5x/E5x SoC series
Adds common and SoC-specific .dtsi files for the Microchip SAM D5x/E5x family. These files define core peripherals, address maps, and interrupt controller structure shared across the SAM D5x/E5x variants. Signed-off-by: Arunprasath P <[email protected]>
1 parent 59f68c6 commit 4b182e3

35 files changed

+523
-0
lines changed
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <arm/armv7-m.dtsi>
8+
#include <zephyr/dt-bindings/clock/mchp_sam_d5x_e5x_clock.h>
9+
10+
/ {
11+
cpus {
12+
#address-cells = <1>;
13+
#size-cells = <0>;
14+
15+
cpu0: cpu@0 {
16+
device_type = "cpu";
17+
compatible = "arm,cortex-m4f";
18+
reg = <0>;
19+
#address-cells = <1>;
20+
#size-cells = <1>;
21+
22+
mpu: mpu@e000ed90 {
23+
compatible = "arm,armv7m-mpu";
24+
reg = <0xe000ed90 0x2c>;
25+
};
26+
};
27+
};
28+
29+
soc {
30+
flash0: flash@0 {
31+
compatible = "soc-nv-flash";
32+
write-block-size = <8>;
33+
};
34+
35+
sram0: memory@20000000 {
36+
compatible = "mmio-sram";
37+
reg = <0x20000000 0x40000>;
38+
};
39+
40+
clock: clock@40000800 {
41+
compatible = "microchip,sam-d5x-e5x-clock";
42+
reg = <0x40000800 0x24>, <0x40001000 0x58>,
43+
<0x40001400 0x20>, <0x40001c00 0x140>;
44+
reg-names = "mclk", "oscctrl", "osc32kctrl", "gclk";
45+
46+
gclkperiph: gclkperiph {
47+
compatible = "microchip,sam-d5x-e5x-gclkperiph";
48+
#clock-cells = <1>;
49+
};
50+
51+
mclkperiph: mclkperiph {
52+
compatible = "microchip,sam-d5x-e5x-mclkperiph";
53+
#clock-cells = <1>;
54+
};
55+
};
56+
57+
sercom0: sercom@40003000 {
58+
compatible = "microchip,sercom-g1";
59+
status = "disabled";
60+
reg = <0x40003000 0x31>;
61+
interrupts = <46 0>, <47 0>, <48 0>, <49 0>;
62+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBA_SERCOM0>,
63+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM0_CORE>;
64+
clock-names = "mclk", "gclk";
65+
};
66+
67+
sercom1: sercom@40003400 {
68+
compatible = "microchip,sercom-g1";
69+
status = "disabled";
70+
reg = <0x40003400 0x31>;
71+
interrupts = <50 0>, <51 0>, <52 0>, <53 0>;
72+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBA_SERCOM1>,
73+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM1_CORE>;
74+
clock-names = "mclk", "gclk";
75+
};
76+
77+
pinctrl: pinctrl@41008000 {
78+
compatible = "microchip,port-g1-pinctrl";
79+
#address-cells = <1>;
80+
#size-cells = <1>;
81+
ranges = <0x41008000 0x41008000 0x200>;
82+
83+
porta: gpio@41008000 {
84+
reg = <0x41008000 0x80>;
85+
};
86+
87+
portb: gpio@41008080 {
88+
reg = <0x41008080 0x80>;
89+
};
90+
91+
portc: gpio@41008100 {
92+
reg = <0x41008100 0x80>;
93+
};
94+
95+
portd: gpio@41008180 {
96+
reg = <0x41008180 0x80>;
97+
};
98+
};
99+
100+
sercom2: sercom@41012000 {
101+
compatible = "microchip,sercom-g1";
102+
status = "disabled";
103+
reg = <0x41012000 0x31>;
104+
interrupts = <54 0>, <55 0>, <56 0>, <57 0>;
105+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBB_SERCOM2>,
106+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM2_CORE>;
107+
clock-names = "mclk", "gclk";
108+
};
109+
110+
sercom3: sercom@41014000 {
111+
compatible = "microchip,sercom-g1";
112+
status = "disabled";
113+
reg = <0x41014000 0x31>;
114+
interrupts = <58 0>, <59 0>, <60 0>, <61 0>;
115+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBB_SERCOM3>,
116+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM3_CORE>;
117+
clock-names = "mclk", "gclk";
118+
};
119+
120+
sercom4: sercom@43000000 {
121+
compatible = "microchip,sercom-g1";
122+
status = "disabled";
123+
reg = <0x43000000 0x31>;
124+
interrupts = <62 0>, <63 0>, <64 0>, <65 0>;
125+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBD_SERCOM4>,
126+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM4_CORE>;
127+
clock-names = "mclk", "gclk";
128+
};
129+
130+
sercom5: sercom@43000400 {
131+
compatible = "microchip,sercom-g1";
132+
status = "disabled";
133+
reg = <0x43000400 0x31>;
134+
interrupts = <66 0>, <67 0>, <68 0>, <69 0>;
135+
clocks = <&mclkperiph CLOCK_MCHP_MCLKPERIPH_ID_APBD_SERCOM5>,
136+
<&gclkperiph CLOCK_MCHP_GCLKPERIPH_ID_SERCOM5_CORE>;
137+
clock-names = "mclk", "gclk";
138+
};
139+
};
140+
};
141+
142+
&nvic {
143+
arm,num-irq-priority-bits = <3>;
144+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
sram0: memory@20000000 {
10+
reg = <0x20000000 DT_SIZE_K(128)>;
11+
};
12+
13+
flash0: flash@0 {
14+
reg = <0x0 DT_SIZE_K(256)>;
15+
};
16+
};
17+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
sram0: memory@20000000 {
10+
reg = <0x20000000 DT_SIZE_K(192)>;
11+
};
12+
13+
flash0: flash@0 {
14+
reg = <0x0 DT_SIZE_K(512)>;
15+
};
16+
};
17+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
sram0: memory@20000000 {
10+
reg = <0x20000000 DT_SIZE_K(256)>;
11+
};
12+
13+
flash0: flash@0 {
14+
reg = <0x0 DT_SIZE_K(1024)>;
15+
};
16+
};
17+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for samd5xe5x_j series peripheral nodes */
10+
};
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for samd5xe5x_n series peripheral nodes */
10+
};
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for samd5xe5x_p series peripheral nodes */
10+
};
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for same51 series peripheral nodes */
10+
};
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for same53 series peripheral nodes */
10+
};
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
soc {
9+
/* Placeholder for same54 series peripheral nodes */
10+
};
11+
};

0 commit comments

Comments
 (0)