File tree Expand file tree Collapse file tree 4 files changed +88
-67
lines changed
drivers/interrupt_controller Expand file tree Collapse file tree 4 files changed +88
-67
lines changed Original file line number Diff line number Diff line change @@ -31,8 +31,8 @@ zephyr_library_sources_ifdef(CONFIG_INTC_ESP32 intc_esp32.c)
3131zephyr_library_sources_ifdef(CONFIG_SWERV_PIC intc_swerv_pic.c)
3232zephyr_library_sources_ifdef(CONFIG_VEXRISCV_LITEX_IRQ intc_vexriscv_litex.c)
3333zephyr_library_sources_ifdef(CONFIG_VIM intc_vim.c)
34- zephyr_library_sources_ifdef(CONFIG_NUCLEI_ECLIC intc_nuclei_eclic .c)
35- zephyr_library_sources_ifdef(CONFIG_NUCLEI_ECLIC intc_nuclei_eclic .S)
34+ zephyr_library_sources_ifdef(CONFIG_NUCLEI_ECLIC intc_clic .c)
35+ zephyr_library_sources_ifdef(CONFIG_NUCLEI_ECLIC intc_clic .S)
3636zephyr_library_sources_ifdef(CONFIG_NRFX_CLIC intc_nrfx_clic.c)
3737zephyr_library_sources_ifdef(CONFIG_NRFX_CLIC intc_nrfx_clic.S)
3838zephyr_library_sources_ifdef(CONFIG_NXP_S32_EIRQ intc_eirq_nxp_s32.c)
File renamed without changes.
Original file line number Diff line number Diff line change 1515
1616#include <zephyr/sw_isr_table.h>
1717#include <zephyr/drivers/interrupt_controller/riscv_clic.h>
18+ #include "intc_clic.h"
1819
1920#define DT_DRV_COMPAT nuclei_eclic
2021
21- union CLICCFG {
22- struct {
23- uint8_t _reserved0 : 1 ;
24- /** number of interrupt level bits */
25- uint8_t nlbits : 4 ;
26- uint8_t _reserved1 : 2 ;
27- uint8_t _reserved2 : 1 ;
28- } b ;
29- uint8_t w ;
30- };
31-
32- union CLICINFO {
33- struct {
34- /** number of max supported interrupts */
35- uint32_t numint : 13 ;
36- /** architecture version */
37- uint32_t version : 8 ;
38- /** supported bits in the clicintctl */
39- uint32_t intctlbits : 4 ;
40- uint32_t _reserved0 : 7 ;
41- } b ;
42- uint32_t qw ;
43- };
44-
45- union CLICMTH {
46- uint8_t w ;
47- };
48-
49- union CLICINTIP {
50- struct {
51- /** Interrupt Pending */
52- uint8_t IP : 1 ;
53- uint8_t reserved0 : 7 ;
54- } b ;
55- uint8_t w ;
56- };
57-
58- union CLICINTIE {
59- struct {
60- /** Interrupt Enabled */
61- uint8_t IE : 1 ;
62- uint8_t reserved0 : 7 ;
63- } b ;
64- uint8_t w ;
65- };
66-
67- union CLICINTATTR {
68- struct {
69- /** 0: non-vectored 1:vectored */
70- uint8_t shv : 1 ;
71- /** 0: level 1: rising edge 2: falling edge */
72- uint8_t trg : 2 ;
73- uint8_t reserved0 : 3 ;
74- uint8_t reserved1 : 2 ;
75- } b ;
76- uint8_t w ;
77- };
78-
79- struct CLICCTRL {
80- volatile union CLICINTIP INTIP ;
81- volatile union CLICINTIE INTIE ;
82- volatile union CLICINTATTR INTATTR ;
83- volatile uint8_t INTCTRL ;
84- };
85-
8622/** CLIC INTATTR: TRIG Mask */
8723#define CLIC_INTATTR_TRIG_Msk 0x3U
8824
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2021 Tokita, Hiroshi <[email protected] > 3+ * Copyright (c) 2025 Andes Technology Corporation
4+ *
5+ * SPDX-License-Identifier: Apache-2.0
6+ */
7+
8+ #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CLIC_H_
9+ #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CLIC_H_
10+
11+ union CLICCFG {
12+ struct {
13+ uint32_t _reserved0 : 1 ;
14+ /** number of interrupt level bits */
15+ uint32_t nlbits : 4 ;
16+ /** number of clicintattr[i].MODE bits */
17+ uint32_t nmbits : 2 ;
18+ uint32_t _reserved1 : 25 ;
19+ } w ;
20+ uint32_t qw ;
21+ };
22+
23+ union CLICINTIP {
24+ struct {
25+ /** Interrupt Pending */
26+ uint8_t IP : 1 ;
27+ uint8_t reserved0 : 7 ;
28+ } b ;
29+ uint8_t w ;
30+ };
31+
32+ union CLICINTIE {
33+ struct {
34+ /** Interrupt Enabled */
35+ uint8_t IE : 1 ;
36+ uint8_t reserved0 : 7 ;
37+ } b ;
38+ uint8_t w ;
39+ };
40+
41+ union CLICINTATTR {
42+ struct {
43+ /** 0: non-vectored 1:vectored */
44+ uint8_t shv : 1 ;
45+ /** 0: level 1: rising edge 2: falling edge */
46+ uint8_t trg : 2 ;
47+ uint8_t reserved0 : 3 ;
48+ uint8_t mode : 2 ;
49+ } b ;
50+ uint8_t w ;
51+ };
52+
53+ union CLICCTRL {
54+ struct {
55+ volatile union CLICINTIP INTIP ;
56+ volatile union CLICINTIE INTIE ;
57+ volatile union CLICINTATTR INTATTR ;
58+ volatile uint8_t INTCTRL ;
59+ } w ;
60+ uint32_t qw ;
61+ };
62+
63+ union CLICINFO {
64+ struct {
65+ /** number of max supported interrupts */
66+ uint32_t numint : 13 ;
67+ /** architecture version */
68+ uint32_t version : 8 ;
69+ /** supported bits in the clicintctl */
70+ uint32_t intctlbits : 4 ;
71+ uint32_t _reserved0 : 7 ;
72+ } b ;
73+ uint32_t qw ;
74+ };
75+
76+ union CLICMTH {
77+ struct {
78+ uint32_t reserved0 : 24 ;
79+ /** machine mode interrupt level threshold */
80+ uint32_t mth : 8 ;
81+ } b ;
82+ uint32_t qw ;
83+ };
84+
85+ #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_CLIC_H_ */
You can’t perform that action at this time.
0 commit comments