Skip to content

Commit 21f0ee0

Browse files
jimmyzhekartben
authored andcommitted
driver: interrupt_controller: rename intc_nuclei_eclic to intc_clic
Rename intc_nuclei_eclic to intc_clic, and separate CLIC register definitions into intc_clic.h. Signed-off-by: Jimmy Zheng <[email protected]>
1 parent 477d56e commit 21f0ee0

File tree

4 files changed

+88
-67
lines changed

4 files changed

+88
-67
lines changed

drivers/interrupt_controller/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ zephyr_library_sources_ifdef(CONFIG_INTC_ESP32 intc_esp32.c)
3131
zephyr_library_sources_ifdef(CONFIG_SWERV_PIC intc_swerv_pic.c)
3232
zephyr_library_sources_ifdef(CONFIG_VEXRISCV_LITEX_IRQ intc_vexriscv_litex.c)
3333
zephyr_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)
3636
zephyr_library_sources_ifdef(CONFIG_NRFX_CLIC intc_nrfx_clic.c)
3737
zephyr_library_sources_ifdef(CONFIG_NRFX_CLIC intc_nrfx_clic.S)
3838
zephyr_library_sources_ifdef(CONFIG_NXP_S32_EIRQ intc_eirq_nxp_s32.c)
File renamed without changes.

drivers/interrupt_controller/intc_nuclei_eclic.c renamed to drivers/interrupt_controller/intc_clic.c

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -15,74 +15,10 @@
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

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
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_ */

0 commit comments

Comments
 (0)