xref: /optee_os/core/include/dt-bindings/firewall/stm32mp15-etzpc.h (revision 033d7b3f5dfbbd5b11a03130782c236400563574)
1*033d7b3fSGatien Chevallier /* SPDX-License-Identifier: BSD-2-Clause */
2*033d7b3fSGatien Chevallier /*
3*033d7b3fSGatien Chevallier  * Copyright (c) 2018-2024, STMicroelectronics
4*033d7b3fSGatien Chevallier  */
5*033d7b3fSGatien Chevallier 
6*033d7b3fSGatien Chevallier #ifndef _DT_BINDINGS_FIREWALL_STM32MP15_ETZPC_H
7*033d7b3fSGatien Chevallier #define _DT_BINDINGS_FIREWALL_STM32MP15_ETZPC_H
8*033d7b3fSGatien Chevallier 
9*033d7b3fSGatien Chevallier /*  define DECPROT modes */
10*033d7b3fSGatien Chevallier #define DECPROT_S_RW		0x0
11*033d7b3fSGatien Chevallier #define DECPROT_NS_R_S_W	0x1
12*033d7b3fSGatien Chevallier #define DECPROT_MCU_ISOLATION	0x2
13*033d7b3fSGatien Chevallier #define DECPROT_NS_RW		0x3
14*033d7b3fSGatien Chevallier 
15*033d7b3fSGatien Chevallier /*  define DECPROT lock */
16*033d7b3fSGatien Chevallier #define DECPROT_UNLOCK		0x0
17*033d7b3fSGatien Chevallier #define DECPROT_LOCK		0x1
18*033d7b3fSGatien Chevallier 
19*033d7b3fSGatien Chevallier /* define TZMA IDs*/
20*033d7b3fSGatien Chevallier #define ETZPC_TZMA0_ID			200
21*033d7b3fSGatien Chevallier #define ETZPC_TZMA1_ID			201
22*033d7b3fSGatien Chevallier 
23*033d7b3fSGatien Chevallier /* define ETZPC ID */
24*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_STGENC_ID	0
25*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_BKPSRAM_ID	1
26*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_IWDG1_ID		2
27*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_USART1_ID	3
28*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI6_ID		4
29*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C4_ID		5
30*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_GPIOZ_ID		6
31*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_RNG1_ID		7
32*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_HASH1_ID		8
33*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_CRYP1_ID		9
34*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DDRCTRL_ID	10
35*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DDRPHYC_ID	11
36*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C6_ID		12
37*033d7b3fSGatien Chevallier /* 13-15 Reserved */
38*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM2_ID		16
39*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM3_ID		17
40*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM4_ID		18
41*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM5_ID		19
42*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM6_ID		20
43*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM7_ID		21
44*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM12_ID		22
45*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM13_ID		23
46*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM14_ID		24
47*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_LPTIM1_ID	25
48*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_WWDG1_ID		26
49*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI2_ID		27
50*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI3_ID		28
51*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPDIFRX_ID	29
52*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_USART2_ID	30
53*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_USART3_ID	31
54*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_UART4_ID		32
55*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_UART5_ID		33
56*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C1_ID		34
57*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C2_ID		35
58*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C3_ID		36
59*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_I2C5_ID		37
60*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_CEC_ID		38
61*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DAC_ID		39
62*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_UART7_ID		40
63*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_UART8_ID		41
64*033d7b3fSGatien Chevallier /* 42-43 Reserved */
65*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_MDIOS_ID		44
66*033d7b3fSGatien Chevallier /* 45-47 Reserved */
67*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM1_ID		48
68*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM8_ID		49
69*033d7b3fSGatien Chevallier /* 50 Reserved */
70*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_USART6_ID	51
71*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI1_ID		52
72*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI4_ID		53
73*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM15_ID		54
74*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM16_ID		55
75*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TIM17_ID		56
76*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SPI5_ID		57
77*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SAI1_ID		58
78*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SAI2_ID		59
79*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SAI3_ID		60
80*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DFSDM_ID		61
81*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_TT_FDCAN_ID	62
82*033d7b3fSGatien Chevallier /* 63 Reserved */
83*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_LPTIM2_ID	64
84*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_LPTIM3_ID	65
85*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_LPTIM4_ID	66
86*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_LPTIM5_ID	67
87*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SAI4_ID		68
88*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_VREFBUF_ID	69
89*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DCMI_ID		70
90*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_CRC2_ID		71
91*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_ADC_ID		72
92*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_HASH2_ID		73
93*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_RNG2_ID		74
94*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_CRYP2_ID		75
95*033d7b3fSGatien Chevallier /* 76-79 Reserved */
96*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SRAM1_ID		80
97*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SRAM2_ID		81
98*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SRAM3_ID		82
99*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SRAM4_ID		83
100*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_RETRAM_ID	84
101*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_OTG_ID		85
102*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_SDMMC3_ID	86
103*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DLYBSD3_ID	87
104*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DMA1_ID		88
105*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DMA2_ID		89
106*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DMAMUX_ID	90
107*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_FMC_ID		91
108*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_QSPI_ID		92
109*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_DLYBQ_ID		93
110*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_ETH_ID		94
111*033d7b3fSGatien Chevallier /* 95 Reserved */
112*033d7b3fSGatien Chevallier 
113*033d7b3fSGatien Chevallier #define STM32MP1_ETZPC_MAX_ID		96
114*033d7b3fSGatien Chevallier 
115*033d7b3fSGatien Chevallier #define DECPROT(id, mode, lock)		((id) | ((mode) << ETZPC_MODE_SHIFT) | \
116*033d7b3fSGatien Chevallier 					 ((lock) << ETZPC_LOCK_SHIFT))
117*033d7b3fSGatien Chevallier 
118*033d7b3fSGatien Chevallier #define ETZPC_ID_MASK			GENMASK_32(7, 0)
119*033d7b3fSGatien Chevallier #define ETZPC_LOCK_MASK			BIT(8)
120*033d7b3fSGatien Chevallier #define ETZPC_LOCK_SHIFT		8
121*033d7b3fSGatien Chevallier #define ETZPC_MODE_SHIFT		9
122*033d7b3fSGatien Chevallier #define ETZPC_MODE_MASK			GENMASK_32(31, 9)
123*033d7b3fSGatien Chevallier 
124*033d7b3fSGatien Chevallier #endif /* _DT_BINDINGS_FIREWALL_STM32MP15_ETZPC_H */
125