xref: /optee_os/core/include/drivers/atmel_saic.h (revision 67e55c51c9149ea549664b3981ad9032dcf4ce7f)
1*54c0b326SClément Léger /* SPDX-License-Identifier: BSD-2-Clause */
2*54c0b326SClément Léger /*
3*54c0b326SClément Léger  * Copyright (c) 2021, Microchip
4*54c0b326SClément Léger  */
5*54c0b326SClément Léger 
6*54c0b326SClément Léger #ifndef __DRIVERS_ATMEL_SAIC_H
7*54c0b326SClément Léger #define __DRIVERS_ATMEL_SAIC_H
8*54c0b326SClément Léger 
9*54c0b326SClément Léger #include <tee_api_types.h>
10*54c0b326SClément Léger #include <util.h>
11*54c0b326SClément Léger 
12*54c0b326SClément Léger #define AT91_AIC_WPKEY	0x414943
13*54c0b326SClément Léger 
14*54c0b326SClément Léger #define AT91_AIC_SSR		0x0
15*54c0b326SClément Léger #define	AT91_AIC_SSR_ITSEL_MASK	GENMASK_32(6, 0)
16*54c0b326SClément Léger 
17*54c0b326SClément Léger #define AT91_AIC_SMR		0x4
18*54c0b326SClément Léger #define	AT91_AIC_SMR_SRC_SHIFT	5
19*54c0b326SClément Léger #define	AT91_AIC_SMR_LEVEL	SHIFT_U32(0, AT91_AIC_SMR_SRC_SHIFT)
20*54c0b326SClément Léger #define	AT91_AIC_SMR_NEG_EDGE	SHIFT_U32(1, AT91_AIC_SMR_SRC_SHIFT)
21*54c0b326SClément Léger #define	AT91_AIC_SMR_HIGH_LEVEL	SHIFT_U32(2, AT91_AIC_SMR_SRC_SHIFT)
22*54c0b326SClément Léger #define	AT91_AIC_SMR_POS_EDGE	SHIFT_U32(3, AT91_AIC_SMR_SRC_SHIFT)
23*54c0b326SClément Léger 
24*54c0b326SClément Léger #define AT91_AIC_SVR	0x8
25*54c0b326SClément Léger #define AT91_AIC_IVR	0x10
26*54c0b326SClément Léger #define AT91_AIC_ISR	0x18
27*54c0b326SClément Léger 
28*54c0b326SClément Léger #define AT91_AIC_IPR0	0x20
29*54c0b326SClément Léger #define AT91_AIC_IPR1	0x24
30*54c0b326SClément Léger #define AT91_AIC_IPR2	0x28
31*54c0b326SClément Léger #define AT91_AIC_IPR3	0x2c
32*54c0b326SClément Léger #define AT91_AIC_IMR	0x30
33*54c0b326SClément Léger #define AT91_AIC_CISR	0x34
34*54c0b326SClément Léger #define AT91_AIC_EOICR	0x38
35*54c0b326SClément Léger #define AT91_AIC_SPU	0x3c
36*54c0b326SClément Léger #define AT91_AIC_IECR	0x40
37*54c0b326SClément Léger #define AT91_AIC_IDCR	0x44
38*54c0b326SClément Léger #define AT91_AIC_ICCR	0x48
39*54c0b326SClément Léger #define AT91_AIC_ISCR	0x4c
40*54c0b326SClément Léger #define AT91_AIC_DCR	0x6c
41*54c0b326SClément Léger #define AT91_AIC_WPMR	0xe4
42*54c0b326SClément Léger #define AT91_AIC_WPSR	0xe8
43*54c0b326SClément Léger 
44*54c0b326SClément Léger TEE_Result atmel_saic_setup(void);
45*54c0b326SClément Léger 
46*54c0b326SClément Léger #endif /*__DRIVERS_ATMEL_SAIC_H*/
47