Skip to content

Commit abc755f

Browse files
mchp-asifcfriedt
authored andcommitted
soc: microchip: Add support for PIC32CX SG SoC series
Adds initial SoC-level support for the Microchip PIC32CX SG series, including SoC definition files. Signed-off-by: Muhammed Asif <[email protected]>
1 parent 03f1982 commit abc755f

File tree

12 files changed

+218
-0
lines changed

12 files changed

+218
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_subdirectory(common)
5+
zephyr_include_directories(${SOC_SERIES})
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+
config SOC_FAMILY_MICROCHIP_PIC32CX_SG
5+
select ARM
6+
select MICROCHIP_PIC32C
7+
select CPU_CORTEX_M4
8+
select CPU_CORTEX_M_HAS_DWT
9+
select CPU_HAS_ARM_MPU
10+
select CPU_HAS_FPU
11+
select HAS_CMSIS_CORE
12+
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
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_PIC32CX_SG
5+
6+
config NUM_IRQS
7+
default 137
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_PIC32CX_SG
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_PIC32CX_SG
5+
bool
6+
7+
config SOC_FAMILY
8+
default "microchip_pic32cx_sg" if SOC_FAMILY_MICROCHIP_PIC32CX_SG
9+
10+
rsource "*/Kconfig.soc"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CX_SG41
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CX_SG
7+
help
8+
Enable support for Microchip PIC32CX SG41 Cortex-M4F microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cx_sg41" if SOC_SERIES_PIC32CX_SG41
12+
13+
config SOC_PIC32CX1025SG41064
14+
bool
15+
select SOC_SERIES_PIC32CX_SG41
16+
17+
config SOC_PIC32CX1025SG41080
18+
bool
19+
select SOC_SERIES_PIC32CX_SG41
20+
21+
config SOC_PIC32CX1025SG41100
22+
bool
23+
select SOC_SERIES_PIC32CX_SG41
24+
25+
config SOC_PIC32CX1025SG41128
26+
bool
27+
select SOC_SERIES_PIC32CX_SG41
28+
29+
config SOC
30+
default "pic32cx1025sg41064" if SOC_PIC32CX1025SG41064
31+
default "pic32cx1025sg41080" if SOC_PIC32CX1025SG41080
32+
default "pic32cx1025sg41100" if SOC_PIC32CX1025SG41100
33+
default "pic32cx1025sg41128" if SOC_PIC32CX1025SG41128
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef SOC_MICROCHIP_PIC32CX_SG41_H_
8+
#define SOC_MICROCHIP_PIC32CX_SG41_H_
9+
10+
#ifndef _ASMLANGUAGE
11+
12+
#include <zephyr/types.h>
13+
14+
#if defined(CONFIG_SOC_PIC32CX1025SG41064)
15+
#include <pic32cx1025sg41064.h>
16+
#elif defined(CONFIG_SOC_PIC32CX1025SG41080)
17+
#include <pic32cx1025sg41080.h>
18+
#elif defined(CONFIG_SOC_PIC32CX1025SG41100)
19+
#include <pic32cx1025sg41100.h>
20+
#elif defined(CONFIG_SOC_PIC32CX1025SG41128)
21+
#include <pic32cx1025sg41128.h>
22+
#else
23+
#error "Library does not support the specified device."
24+
#endif
25+
26+
#endif /* _ASMLANGUAGE */
27+
28+
#endif /* SOC_MICROCHIP_PIC32CX_SG41_H_ */
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CX_SG60
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CX_SG
7+
help
8+
Enable support for Microchip PIC32CX SG60 Cortex-M4F microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cx_sg60" if SOC_SERIES_PIC32CX_SG60
12+
13+
config SOC_PIC32CX1025SG60100
14+
bool
15+
select SOC_SERIES_PIC32CX_SG60
16+
17+
config SOC_PIC32CX1025SG60128
18+
bool
19+
select SOC_SERIES_PIC32CX_SG60
20+
21+
config SOC
22+
default "pic32cx1025sg60100" if SOC_PIC32CX1025SG60100
23+
default "pic32cx1025sg60128" if SOC_PIC32CX1025SG60128
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef SOC_MICROCHIP_PIC32CX_SG60_H_
8+
#define SOC_MICROCHIP_PIC32CX_SG60_H_
9+
10+
#ifndef _ASMLANGUAGE
11+
12+
#include <zephyr/types.h>
13+
14+
#if defined(CONFIG_SOC_PIC32CX1025SG60100)
15+
#include <pic32cx1025sg60100.h>
16+
#elif defined(CONFIG_SOC_PIC32CX1025SG60128)
17+
#include <pic32cx1025sg60128.h>
18+
#else
19+
#error "Library does not support the specified device."
20+
#endif
21+
22+
#endif /* _ASMLANGUAGE */
23+
24+
#endif /* SOC_MICROCHIP_PIC32CX_SG60_H_ */
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_PIC32CX_SG61
5+
bool
6+
select SOC_FAMILY_MICROCHIP_PIC32CX_SG
7+
help
8+
Enable support for Microchip PIC32CX SG61 Cortex-M4F microcontrollers.
9+
10+
config SOC_SERIES
11+
default "pic32cx_sg61" if SOC_SERIES_PIC32CX_SG61
12+
13+
config SOC_PIC32CX1025SG61100
14+
bool
15+
select SOC_SERIES_PIC32CX_SG61
16+
17+
config SOC_PIC32CX1025SG61128
18+
bool
19+
select SOC_SERIES_PIC32CX_SG61
20+
21+
config SOC
22+
default "pic32cx1025sg61100" if SOC_PIC32CX1025SG61100
23+
default "pic32cx1025sg61128" if SOC_PIC32CX1025SG61128

0 commit comments

Comments
 (0)