Skip to content

Commit 83092a1

Browse files
AzharMCHPcfriedt
authored andcommitted
soc: microchip: add support for PIC32CZ CA SoC series
Adds initial SoC-level support for the Microchip PIC32CZ CA80/9x series, including SoC definition files. Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
1 parent a9b253d commit 83092a1

File tree

11 files changed

+405
-0
lines changed

11 files changed

+405
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
zephyr_include_directories(${SOC_SERIES})
5+
6+
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_FAMILY_MICROCHIP_PIC32CZ_CA
5+
select ARM
6+
select MICROCHIP_PIC32C
7+
select CPU_CORTEX_M7
8+
select CPU_CORTEX_M_HAS_SYSTICK
9+
select CPU_CORTEX_M_HAS_VTOR
10+
select CPU_HAS_ARM_MPU
11+
select CPU_HAS_FPU_DOUBLE_PRECISION
12+
select CPU_CORTEX_M_HAS_DWT
13+
select CPU_HAS_ICACHE
14+
select CPU_HAS_DCACHE
15+
select INIT_ARCH_HW_AT_BOOT
16+
select HAS_SWO
17+
select XIP
18+
select HAS_POWEROFF
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if SOC_FAMILY_MICROCHIP_PIC32CZ_CA
5+
6+
config NUM_IRQS
7+
default 240
8+
9+
config SYS_CLOCK_HW_CYCLES_PER_SEC
10+
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)
11+
12+
endif # SOC_FAMILY_MICROCHIP_PIC32CZ_CA
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_FAMILY_MICROCHIP_PIC32CZ_CA
5+
bool
6+
7+
config SOC_FAMILY
8+
default "microchip_pic32cz_ca" if SOC_FAMILY_MICROCHIP_PIC32CZ_CA
9+
10+
rsource "*/Kconfig.soc"
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CZ_CA80
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CZ_CA
7+
help
8+
Enable support for Microchip PIC32CZ CA80 Cortex-M7 microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cz_ca80" if SOC_SERIES_PIC32CZ_CA80
12+
13+
config SOC_PIC32CZ2051CA80100
14+
bool
15+
select SOC_SERIES_PIC32CZ_CA80
16+
17+
config SOC_PIC32CZ2051CA80144
18+
bool
19+
select SOC_SERIES_PIC32CZ_CA80
20+
21+
config SOC_PIC32CZ2051CA80176
22+
bool
23+
select SOC_SERIES_PIC32CZ_CA80
24+
25+
config SOC_PIC32CZ2051CA80208
26+
bool
27+
select SOC_SERIES_PIC32CZ_CA80
28+
29+
config SOC_PIC32CZ4010CA80100
30+
bool
31+
select SOC_SERIES_PIC32CZ_CA80
32+
33+
config SOC_PIC32CZ4010CA80144
34+
bool
35+
select SOC_SERIES_PIC32CZ_CA80
36+
37+
config SOC_PIC32CZ4010CA80176
38+
bool
39+
select SOC_SERIES_PIC32CZ_CA80
40+
41+
config SOC_PIC32CZ4010CA80208
42+
bool
43+
select SOC_SERIES_PIC32CZ_CA80
44+
45+
config SOC_PIC32CZ8110CA80100
46+
bool
47+
select SOC_SERIES_PIC32CZ_CA80
48+
49+
config SOC_PIC32CZ8110CA80144
50+
bool
51+
select SOC_SERIES_PIC32CZ_CA80
52+
53+
config SOC_PIC32CZ8110CA80176
54+
bool
55+
select SOC_SERIES_PIC32CZ_CA80
56+
57+
config SOC_PIC32CZ8110CA80208
58+
bool
59+
select SOC_SERIES_PIC32CZ_CA80
60+
61+
config SOC
62+
default "pic32cz2051ca80100" if SOC_PIC32CZ2051CA80100
63+
default "pic32cz2051ca80144" if SOC_PIC32CZ2051CA80144
64+
default "pic32cz2051ca80176" if SOC_PIC32CZ2051CA80176
65+
default "pic32cz2051ca80208" if SOC_PIC32CZ2051CA80208
66+
default "pic32cz4010ca80100" if SOC_PIC32CZ4010CA80100
67+
default "pic32cz4010ca80144" if SOC_PIC32CZ4010CA80144
68+
default "pic32cz4010ca80176" if SOC_PIC32CZ4010CA80176
69+
default "pic32cz4010ca80208" if SOC_PIC32CZ4010CA80208
70+
default "pic32cz8110ca80100" if SOC_PIC32CZ8110CA80100
71+
default "pic32cz8110ca80144" if SOC_PIC32CZ8110CA80144
72+
default "pic32cz8110ca80176" if SOC_PIC32CZ8110CA80176
73+
default "pic32cz8110ca80208" if SOC_PIC32CZ8110CA80208
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef SOC_MICROCHIP_PIC32CZ_CA80_SOC_H_
8+
#define SOC_MICROCHIP_PIC32CZ_CA80_SOC_H_
9+
10+
#ifndef _ASMLANGUAGE
11+
12+
#include <zephyr/types.h>
13+
14+
#if defined(CONFIG_SOC_PIC32CZ2051CA80100)
15+
#include <pic32cz2051ca80100.h>
16+
#elif defined(CONFIG_SOC_PIC32CZ2051CA80144)
17+
#include <pic32cz2051ca80144.h>
18+
#elif defined(CONFIG_SOC_PIC32CZ2051CA80176)
19+
#include <pic32cz2051ca80176.h>
20+
#elif defined(CONFIG_SOC_PIC32CZ2051CA80208)
21+
#include <pic32cz2051ca80208.h>
22+
#elif defined(CONFIG_SOC_PIC32CZ4010CA80100)
23+
#include <pic32cz4010ca80100.h>
24+
#elif defined(CONFIG_SOC_PIC32CZ4010CA80144)
25+
#include <pic32cz4010ca80144.h>
26+
#elif defined(CONFIG_SOC_PIC32CZ4010CA80176)
27+
#include <pic32cz4010ca80176.h>
28+
#elif defined(CONFIG_SOC_PIC32CZ4010CA80208)
29+
#include <pic32cz4010ca80208.h>
30+
#elif defined(CONFIG_SOC_PIC32CZ8110CA80100)
31+
#include <pic32cz8110ca80100.h>
32+
#elif defined(CONFIG_SOC_PIC32CZ8110CA80144)
33+
#include <pic32cz8110ca80144.h>
34+
#elif defined(CONFIG_SOC_PIC32CZ8110CA80176)
35+
#include <pic32cz8110ca80176.h>
36+
#elif defined(CONFIG_SOC_PIC32CZ8110CA80208)
37+
#include <pic32cz8110ca80208.h>
38+
#else
39+
#error "Library does not support the specified device."
40+
#endif
41+
42+
#endif /* _ASMLANGUAGE */
43+
44+
#endif /* SOC_MICROCHIP_PIC32CZ_CA80_SOC_H_ */
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CZ_CA90
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CZ_CA
7+
help
8+
Enable support for Microchip PIC32CZ CA90 Cortex-M7 microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cz_ca90" if SOC_SERIES_PIC32CZ_CA90
12+
13+
config SOC_PIC32CZ2051CA90100
14+
bool
15+
select SOC_SERIES_PIC32CZ_CA90
16+
17+
config SOC_PIC32CZ2051CA90144
18+
bool
19+
select SOC_SERIES_PIC32CZ_CA90
20+
21+
config SOC_PIC32CZ2051CA90176
22+
bool
23+
select SOC_SERIES_PIC32CZ_CA90
24+
25+
config SOC_PIC32CZ2051CA90208
26+
bool
27+
select SOC_SERIES_PIC32CZ_CA90
28+
29+
config SOC_PIC32CZ4010CA90100
30+
bool
31+
select SOC_SERIES_PIC32CZ_CA90
32+
33+
config SOC_PIC32CZ4010CA90144
34+
bool
35+
select SOC_SERIES_PIC32CZ_CA90
36+
37+
config SOC_PIC32CZ4010CA90176
38+
bool
39+
select SOC_SERIES_PIC32CZ_CA90
40+
41+
config SOC_PIC32CZ4010CA90208
42+
bool
43+
select SOC_SERIES_PIC32CZ_CA90
44+
45+
config SOC_PIC32CZ8110CA90100
46+
bool
47+
select SOC_SERIES_PIC32CZ_CA90
48+
49+
config SOC_PIC32CZ8110CA90144
50+
bool
51+
select SOC_SERIES_PIC32CZ_CA90
52+
53+
config SOC_PIC32CZ8110CA90176
54+
bool
55+
select SOC_SERIES_PIC32CZ_CA90
56+
57+
config SOC_PIC32CZ8110CA90208
58+
bool
59+
select SOC_SERIES_PIC32CZ_CA90
60+
61+
config SOC
62+
default "pic32cz2051ca90100" if SOC_PIC32CZ2051CA90100
63+
default "pic32cz2051ca90144" if SOC_PIC32CZ2051CA90144
64+
default "pic32cz2051ca90176" if SOC_PIC32CZ2051CA90176
65+
default "pic32cz2051ca90208" if SOC_PIC32CZ2051CA90208
66+
default "pic32cz4010ca90100" if SOC_PIC32CZ4010CA90100
67+
default "pic32cz4010ca90144" if SOC_PIC32CZ4010CA90144
68+
default "pic32cz4010ca90176" if SOC_PIC32CZ4010CA90176
69+
default "pic32cz4010ca90208" if SOC_PIC32CZ4010CA90208
70+
default "pic32cz8110ca90100" if SOC_PIC32CZ8110CA90100
71+
default "pic32cz8110ca90144" if SOC_PIC32CZ8110CA90144
72+
default "pic32cz8110ca90176" if SOC_PIC32CZ8110CA90176
73+
default "pic32cz8110ca90208" if SOC_PIC32CZ8110CA90208
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef SOC_MICROCHIP_PIC32CZ_CA90_SOC_H_
8+
#define SOC_MICROCHIP_PIC32CZ_CA90_SOC_H_
9+
10+
#ifndef _ASMLANGUAGE
11+
12+
#include <zephyr/types.h>
13+
14+
#if defined(CONFIG_SOC_PIC32CZ2051CA90100)
15+
#include <pic32cz2051ca90100.h>
16+
#elif defined(CONFIG_SOC_PIC32CZ2051CA90144)
17+
#include <pic32cz2051ca90144.h>
18+
#elif defined(CONFIG_SOC_PIC32CZ2051CA90176)
19+
#include <pic32cz2051ca90176.h>
20+
#elif defined(CONFIG_SOC_PIC32CZ2051CA90208)
21+
#include <pic32cz2051ca90208.h>
22+
#elif defined(CONFIG_SOC_PIC32CZ4010CA90100)
23+
#include <pic32cz4010ca90100.h>
24+
#elif defined(CONFIG_SOC_PIC32CZ4010CA90144)
25+
#include <pic32cz4010ca90144.h>
26+
#elif defined(CONFIG_SOC_PIC32CZ4010CA90176)
27+
#include <pic32cz4010ca90176.h>
28+
#elif defined(CONFIG_SOC_PIC32CZ4010CA90208)
29+
#include <pic32cz4010ca90208.h>
30+
#elif defined(CONFIG_SOC_PIC32CZ8110CA90100)
31+
#include <pic32cz8110ca90100.h>
32+
#elif defined(CONFIG_SOC_PIC32CZ8110CA90144)
33+
#include <pic32cz8110ca90144.h>
34+
#elif defined(CONFIG_SOC_PIC32CZ8110CA90176)
35+
#include <pic32cz8110ca90176.h>
36+
#elif defined(CONFIG_SOC_PIC32CZ8110CA90208)
37+
#include <pic32cz8110ca90208.h>
38+
#else
39+
#error "Library does not support the specified device."
40+
#endif
41+
42+
#endif /* _ASMLANGUAGE */
43+
44+
#endif /* SOC_MICROCHIP_PIC32CZ_CA90_SOC_H_ */
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CZ_CA91
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CZ_CA
7+
help
8+
Enable support for Microchip PIC32CZ CA91 Cortex-M7 microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cz_ca91" if SOC_SERIES_PIC32CZ_CA91
12+
13+
config SOC_PIC32CZ2051CA91100
14+
bool
15+
select SOC_SERIES_PIC32CZ_CA91
16+
17+
config SOC_PIC32CZ2051CA91144
18+
bool
19+
select SOC_SERIES_PIC32CZ_CA91
20+
21+
config SOC_PIC32CZ2051CA91176
22+
bool
23+
select SOC_SERIES_PIC32CZ_CA91
24+
25+
config SOC_PIC32CZ4010CA91100
26+
bool
27+
select SOC_SERIES_PIC32CZ_CA91
28+
29+
config SOC_PIC32CZ4010CA91144
30+
bool
31+
select SOC_SERIES_PIC32CZ_CA91
32+
33+
config SOC_PIC32CZ4010CA91176
34+
bool
35+
select SOC_SERIES_PIC32CZ_CA91
36+
37+
config SOC_PIC32CZ4010CA91208
38+
bool
39+
select SOC_SERIES_PIC32CZ_CA91
40+
41+
config SOC
42+
default "pic32cz2051ca91100" if SOC_PIC32CZ2051CA91100
43+
default "pic32cz2051ca91144" if SOC_PIC32CZ2051CA91144
44+
default "pic32cz2051ca91176" if SOC_PIC32CZ2051CA91176
45+
default "pic32cz4010ca91100" if SOC_PIC32CZ4010CA91100
46+
default "pic32cz4010ca91144" if SOC_PIC32CZ4010CA91144
47+
default "pic32cz4010ca91176" if SOC_PIC32CZ4010CA91176
48+
default "pic32cz4010ca91208" if SOC_PIC32CZ4010CA91208
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef SOC_MICROCHIP_PIC32CZ_CA91_SOC_H_
8+
#define SOC_MICROCHIP_PIC32CZ_CA91_SOC_H_
9+
10+
#ifndef _ASMLANGUAGE
11+
12+
#include <zephyr/types.h>
13+
14+
#if defined(CONFIG_SOC_PIC32CZ2051CA91100)
15+
#include <pic32cz2051ca91100.h>
16+
#elif defined(CONFIG_SOC_PIC32CZ2051CA91144)
17+
#include <pic32cz2051ca91144.h>
18+
#elif defined(CONFIG_SOC_PIC32CZ2051CA91176)
19+
#include <pic32cz2051ca91176.h>
20+
#elif defined(CONFIG_SOC_PIC32CZ4010CA91100)
21+
#include <pic32cz4010ca91100.h>
22+
#elif defined(CONFIG_SOC_PIC32CZ4010CA91144)
23+
#include <pic32cz4010ca91144.h>
24+
#elif defined(CONFIG_SOC_PIC32CZ4010CA91176)
25+
#include <pic32cz4010ca91176.h>
26+
#elif defined(CONFIG_SOC_PIC32CZ4010CA91208)
27+
#include <pic32cz4010ca91208.h>
28+
#else
29+
#error "Library does not support the specified device."
30+
#endif
31+
32+
#endif /* _ASMLANGUAGE */
33+
34+
#endif /* SOC_MICROCHIP_PIC32CZ_CA91_SOC_H_ */

0 commit comments

Comments
 (0)