1 /***************************************************************************//**
2 * \file cyw20829B0_config.h
3 *
4 * \brief
5 * CYW20829 device configuration header
6 *
7 ********************************************************************************
8 * \copyright
9 * (c) (2016-2023), Cypress Semiconductor Corporation (an Infineon company) or
10 * an affiliate of Cypress Semiconductor Corporation.
11 *
12 * SPDX-License-Identifier: Apache-2.0
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 *     http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *******************************************************************************/
26 
27 #ifndef _CYW20829B0_CONFIG_H_
28 #define _CYW20829B0_CONFIG_H_
29 
30 /* Clock Connections */
31 typedef enum
32 {
33     PCLK_CPUSS_CLOCK_TRACE_IN_POS_EN = 0x0000u, /* cpuss.clock_trace_in_pos_en */
34     PCLK_SCB0_CLOCK_SCB_EN          = 0x0100u,  /* scb[0].clock_scb_en */
35     PCLK_SCB1_CLOCK_SCB_EN          = 0x0101u,  /* scb[1].clock_scb_en */
36     PCLK_SCB2_CLOCK_SCB_EN          = 0x0102u,  /* scb[2].clock_scb_en */
37     PCLK_TCPWM0_CLOCK_COUNTER_EN0   = 0x0103u,  /* tcpwm[0].clock_counter_en[0] */
38     PCLK_TCPWM0_CLOCK_COUNTER_EN1   = 0x0104u,  /* tcpwm[0].clock_counter_en[1] */
39     PCLK_TCPWM0_CLOCK_COUNTER_EN256 = 0x0105u,  /* tcpwm[0].clock_counter_en[256] */
40     PCLK_TCPWM0_CLOCK_COUNTER_EN257 = 0x0106u,  /* tcpwm[0].clock_counter_en[257] */
41     PCLK_TCPWM0_CLOCK_COUNTER_EN258 = 0x0107u,  /* tcpwm[0].clock_counter_en[258] */
42     PCLK_TCPWM0_CLOCK_COUNTER_EN259 = 0x0108u,  /* tcpwm[0].clock_counter_en[259] */
43     PCLK_TCPWM0_CLOCK_COUNTER_EN260 = 0x0109u,  /* tcpwm[0].clock_counter_en[260] */
44     PCLK_TCPWM0_CLOCK_COUNTER_EN261 = 0x010Au,  /* tcpwm[0].clock_counter_en[261] */
45     PCLK_TCPWM0_CLOCK_COUNTER_EN262 = 0x010Bu,  /* tcpwm[0].clock_counter_en[262] */
46     PCLK_LIN0_CLOCK_CH_EN0          = 0x010Cu,  /* lin[0].clock_ch_en[0] */
47     PCLK_LIN0_CLOCK_CH_EN1          = 0x010Du,  /* lin[0].clock_ch_en[1] */
48     PCLK_CANFD0_CLOCK_CAN_EN0       = 0x010Eu,  /* canfd[0].clock_can_en[0] */
49     PCLK_IOSS_CLOCK_SMARTIO_PCLK_POS_EN3 = 0x010Fu, /* ioss.clock_smartio_pclk_pos_en[3] */
50     PCLK_SMIF_CLK_MEM               = 0x0200u,  /* smif.clk_mem */
51     PCLK_SMIF_CLK_FAST              = 0x0201u,  /* smif.clk_fast */
52     PCLK_SMIF_CLK_SLOW              = 0x0202u,  /* smif.clk_slow */
53     PCLK_BTSS_CLK_CPUSS_EXP         = 0x0203u,  /* btss.clk_cpuss_exp */
54     PCLK_BTSS_CLK_PERI              = 0x0204u,  /* btss.clk_peri */
55     PCLK_CRYPTO_CLK_HF              = 0x0205u,  /* crypto.clk_hf */
56     PCLK_PDM0_CLK_IF_SRSS           = 0x0300u,  /* pdm[0].clk_if_srss */
57     PCLK_TDM0_CLK_IF_SRSS0          = 0x0301u,  /* tdm[0].clk_if_srss[0] */
58     PCLK_ADCMIC_CLK_HF              = 0x0500u,  /* adcmic.clk_hf */
59     PCLK_SMIF_CLK_IF                = 0x0600u,  /* smif.clk_if */
60     PCLK_IOSS_CLK_HF                = 0x0601u   /* ioss.clk_hf */
61 } en_clk_dst_t;
62 
63 /* Trigger Group */
64 /* This section contains the enums related to the Trigger multiplexer (TrigMux) driver.
65 * Refer to the Cypress Peripheral Driver Library Documentation, section Trigger multiplexer (TrigMux) -> Enumerated Types for details.
66 */
67 /* Trigger Group Inputs */
68 /* Trigger Input Group 0 - P-DMA0 Request Assignments */
69 typedef enum
70 {
71     TRIG_IN_MUX_0_PDMA0_TR_OUT0     = 0x00000001u, /* cpuss.dw0_tr_out[0] */
72     TRIG_IN_MUX_0_PDMA0_TR_OUT1     = 0x00000002u, /* cpuss.dw0_tr_out[1] */
73     TRIG_IN_MUX_0_PDMA0_TR_OUT2     = 0x00000003u, /* cpuss.dw0_tr_out[2] */
74     TRIG_IN_MUX_0_PDMA0_TR_OUT3     = 0x00000004u, /* cpuss.dw0_tr_out[3] */
75     TRIG_IN_MUX_0_TCPWM0_TR_OUT00   = 0x00000005u, /* tcpwm[0].tr_out0[0] */
76     TRIG_IN_MUX_0_TCPWM0_TR_OUT10   = 0x00000006u, /* tcpwm[0].tr_out1[0] */
77     TRIG_IN_MUX_0_TCPWM0_TR_OUT01   = 0x00000007u, /* tcpwm[0].tr_out0[1] */
78     TRIG_IN_MUX_0_TCPWM0_TR_OUT11   = 0x00000008u, /* tcpwm[0].tr_out1[1] */
79     TRIG_IN_MUX_0_HSIOM_TR_OUT0     = 0x00000009u, /* ioss.peri_tr_io_input_in[0] */
80     TRIG_IN_MUX_0_HSIOM_TR_OUT1     = 0x0000000Au, /* ioss.peri_tr_io_input_in[1] */
81     TRIG_IN_MUX_0_HSIOM_TR_OUT2     = 0x0000000Bu, /* ioss.peri_tr_io_input_in[2] */
82     TRIG_IN_MUX_0_HSIOM_TR_OUT3     = 0x0000000Cu, /* ioss.peri_tr_io_input_in[3] */
83     TRIG_IN_MUX_0_HSIOM_TR_OUT4     = 0x0000000Du, /* ioss.peri_tr_io_input_in[4] */
84     TRIG_IN_MUX_0_HSIOM_TR_OUT5     = 0x0000000Eu, /* ioss.peri_tr_io_input_in[5] */
85     TRIG_IN_MUX_0_HSIOM_TR_OUT6     = 0x0000000Fu, /* ioss.peri_tr_io_input_in[6] */
86     TRIG_IN_MUX_0_HSIOM_TR_OUT7     = 0x00000010u, /* ioss.peri_tr_io_input_in[7] */
87     TRIG_IN_MUX_0_CTI_TR_OUT0       = 0x00000011u, /* cpuss.cti_tr_out[0] */
88     TRIG_IN_MUX_0_CTI_TR_OUT1       = 0x00000012u, /* cpuss.cti_tr_out[1] */
89     TRIG_IN_MUX_0_ADCMIC_DC_DONE    = 0x00000013u, /* adcmic.tr_adcmic_dc */
90     TRIG_IN_MUX_0_ADCMIC_DATA_AVAIL = 0x00000014u, /* adcmic.tr_adcmic_data */
91     TRIG_IN_MUX_0_I2S_TDM_TX0       = 0x00000015u, /* tdm.tr_tx_req[0] */
92     TRIG_IN_MUX_0_I2S_TDM_RX0       = 0x00000016u, /* tdm.tr_rx_req[0] */
93     TRIG_IN_MUX_0_PDM_RX0           = 0x00000017u, /* pdm.tr_rx_req[0] */
94     TRIG_IN_MUX_0_PDM_RX1           = 0x00000018u, /* pdm.tr_rx_req[1] */
95     TRIG_IN_MUX_0_CRYPTO_TR_TRNG    = 0x00000019u /* crypto.tr_trng_bitstream */
96 } en_trig_input_pdma0_tr_t;
97 
98 /* Trigger Input Group 1 - TCPWM0 trigger multiplexer */
99 typedef enum
100 {
101     TRIG_IN_MUX_1_PDMA0_TR_OUT0     = 0x00000101u, /* cpuss.dw0_tr_out[0] */
102     TRIG_IN_MUX_1_PDMA0_TR_OUT1     = 0x00000102u, /* cpuss.dw0_tr_out[1] */
103     TRIG_IN_MUX_1_PDMA0_TR_OUT2     = 0x00000103u, /* cpuss.dw0_tr_out[2] */
104     TRIG_IN_MUX_1_PDMA0_TR_OUT3     = 0x00000104u, /* cpuss.dw0_tr_out[3] */
105     TRIG_IN_MUX_1_PDMA0_TR_OUT4     = 0x00000105u, /* cpuss.dw0_tr_out[4] */
106     TRIG_IN_MUX_1_PDMA0_TR_OUT5     = 0x00000106u, /* cpuss.dw0_tr_out[5] */
107     TRIG_IN_MUX_1_PDMA0_TR_OUT6     = 0x00000107u, /* cpuss.dw0_tr_out[6] */
108     TRIG_IN_MUX_1_PDMA0_TR_OUT7     = 0x00000108u, /* cpuss.dw0_tr_out[7] */
109     TRIG_IN_MUX_1_TCPWM0_TR_OUT00   = 0x00000109u, /* tcpwm[0].tr_out0[0] */
110     TRIG_IN_MUX_1_TCPWM0_TR_OUT10   = 0x0000010Au, /* tcpwm[0].tr_out1[0] */
111     TRIG_IN_MUX_1_TCPWM0_TR_OUT01   = 0x0000010Bu, /* tcpwm[0].tr_out0[1] */
112     TRIG_IN_MUX_1_TCPWM0_TR_OUT11   = 0x0000010Cu, /* tcpwm[0].tr_out1[1] */
113     TRIG_IN_MUX_1_TCPWM0_TR_OUT0256 = 0x0000010Du, /* tcpwm[0].tr_out0[256] */
114     TRIG_IN_MUX_1_TCPWM0_TR_OUT1256 = 0x0000010Eu, /* tcpwm[0].tr_out1[256] */
115     TRIG_IN_MUX_1_TCPWM0_TR_OUT0257 = 0x0000010Fu, /* tcpwm[0].tr_out0[257] */
116     TRIG_IN_MUX_1_TCPWM0_TR_OUT1257 = 0x00000110u, /* tcpwm[0].tr_out1[257] */
117     TRIG_IN_MUX_1_TCPWM0_TR_OUT0258 = 0x00000111u, /* tcpwm[0].tr_out0[258] */
118     TRIG_IN_MUX_1_TCPWM0_TR_OUT1258 = 0x00000112u, /* tcpwm[0].tr_out1[258] */
119     TRIG_IN_MUX_1_TCPWM0_TR_OUT0259 = 0x00000113u, /* tcpwm[0].tr_out0[259] */
120     TRIG_IN_MUX_1_TCPWM0_TR_OUT1259 = 0x00000114u, /* tcpwm[0].tr_out1[259] */
121     TRIG_IN_MUX_1_TCPWM0_TR_OUT0260 = 0x00000115u, /* tcpwm[0].tr_out0[260] */
122     TRIG_IN_MUX_1_TCPWM0_TR_OUT1260 = 0x00000116u, /* tcpwm[0].tr_out1[260] */
123     TRIG_IN_MUX_1_TCPWM0_TR_OUT0261 = 0x00000117u, /* tcpwm[0].tr_out0[261] */
124     TRIG_IN_MUX_1_TCPWM0_TR_OUT1261 = 0x00000118u, /* tcpwm[0].tr_out1[261] */
125     TRIG_IN_MUX_1_TCPWM0_TR_OUT0262 = 0x00000119u, /* tcpwm[0].tr_out0[262] */
126     TRIG_IN_MUX_1_TCPWM0_TR_OUT1262 = 0x0000011Au, /* tcpwm[0].tr_out1[262] */
127     TRIG_IN_MUX_1_SCB_I2C_SCL0      = 0x0000011Bu, /* scb[0].tr_i2c_scl_filtered */
128     TRIG_IN_MUX_1_SCB_TX0           = 0x0000011Cu, /* scb[0].tr_tx_req */
129     TRIG_IN_MUX_1_SCB_RX0           = 0x0000011Du, /* scb[0].tr_rx_req */
130     TRIG_IN_MUX_1_CRYPTO_TR_TRNG    = 0x0000011Eu, /* crypto.tr_trng_bitstream */
131     TRIG_IN_MUX_1_SCB_TX1           = 0x0000011Fu, /* scb[1].tr_tx_req */
132     TRIG_IN_MUX_1_SCB_RX1           = 0x00000120u, /* scb[1].tr_rx_req */
133     TRIG_IN_MUX_1_SCB_I2C_SCL2      = 0x00000121u, /* scb[2].tr_i2c_scl_filtered */
134     TRIG_IN_MUX_1_SCB_TX2           = 0x00000122u, /* scb[2].tr_tx_req */
135     TRIG_IN_MUX_1_SCB_RX2           = 0x00000123u, /* scb[2].tr_rx_req */
136     TRIG_IN_MUX_1_SMIF_TX           = 0x00000124u, /* smif.tr_tx_req */
137     TRIG_IN_MUX_1_SMIF_RX           = 0x00000125u, /* smif.tr_rx_req */
138     TRIG_IN_MUX_1_I2S_TDM_TX0       = 0x00000126u, /* tdm.tr_tx_req[0] */
139     TRIG_IN_MUX_1_I2S_TDM_RX0       = 0x00000127u, /* tdm.tr_rx_req[0] */
140     TRIG_IN_MUX_1_PDM_RX0           = 0x00000128u, /* pdm.tr_rx_req[0] */
141     TRIG_IN_MUX_1_PDM_RX1           = 0x00000129u, /* pdm.tr_rx_req[1] */
142     TRIG_IN_MUX_1_PDM_RX_REQ_ALL    = 0x0000012Au, /* pdm.tr_rx_req_all */
143     TRIG_IN_MUX_1_HSIOM_TR_OUT0     = 0x0000012Bu, /* ioss.peri_tr_io_input_in[0] */
144     TRIG_IN_MUX_1_HSIOM_TR_OUT1     = 0x0000012Cu, /* ioss.peri_tr_io_input_in[1] */
145     TRIG_IN_MUX_1_HSIOM_TR_OUT2     = 0x0000012Du, /* ioss.peri_tr_io_input_in[2] */
146     TRIG_IN_MUX_1_HSIOM_TR_OUT3     = 0x0000012Eu, /* ioss.peri_tr_io_input_in[3] */
147     TRIG_IN_MUX_1_CTI_TR_OUT0       = 0x0000012Fu, /* cpuss.cti_tr_out[0] */
148     TRIG_IN_MUX_1_CTI_TR_OUT1       = 0x00000130u, /* cpuss.cti_tr_out[1] */
149     TRIG_IN_MUX_1_ADCMIC_DC_DONE    = 0x00000131u, /* adcmic.tr_adcmic_dc */
150     TRIG_IN_MUX_1_ADCMIC_DATA_AVAIL = 0x00000132u, /* adcmic.tr_adcmic_data */
151     TRIG_IN_MUX_1_CANFD_TT_TR_OUT0  = 0x00000133u, /* canfd[0].tr_tmp_rtp_out[0] */
152     TRIG_IN_MUX_1_BTSS_TR_TX        = 0x00000134u, /* btss.tr_tx_start */
153     TRIG_IN_MUX_1_BTSS_TR_RX        = 0x00000135u /* btss.tr_rx_packet_sync */
154 } en_trig_input_tcpwm0_t;
155 
156 /* Trigger Input Group 2 - TCPWM1 trigger multiplexer */
157 typedef enum
158 {
159     TRIG_IN_MUX_2_PDMA0_TR_OUT8     = 0x00000201u, /* cpuss.dw0_tr_out[8] */
160     TRIG_IN_MUX_2_PDMA0_TR_OUT9     = 0x00000202u, /* cpuss.dw0_tr_out[9] */
161     TRIG_IN_MUX_2_PDMA0_TR_OUT10    = 0x00000203u, /* cpuss.dw0_tr_out[10] */
162     TRIG_IN_MUX_2_PDMA0_TR_OUT11    = 0x00000204u, /* cpuss.dw0_tr_out[11] */
163     TRIG_IN_MUX_2_PDMA0_TR_OUT12    = 0x00000205u, /* cpuss.dw0_tr_out[12] */
164     TRIG_IN_MUX_2_PDMA0_TR_OUT13    = 0x00000206u, /* cpuss.dw0_tr_out[13] */
165     TRIG_IN_MUX_2_PDMA0_TR_OUT14    = 0x00000207u, /* cpuss.dw0_tr_out[14] */
166     TRIG_IN_MUX_2_PDMA0_TR_OUT15    = 0x00000208u, /* cpuss.dw0_tr_out[15] */
167     TRIG_IN_MUX_2_TCPWM0_TR_OUT00   = 0x00000209u, /* tcpwm[0].tr_out0[0] */
168     TRIG_IN_MUX_2_TCPWM0_TR_OUT10   = 0x0000020Au, /* tcpwm[0].tr_out1[0] */
169     TRIG_IN_MUX_2_TCPWM0_TR_OUT01   = 0x0000020Bu, /* tcpwm[0].tr_out0[1] */
170     TRIG_IN_MUX_2_TCPWM0_TR_OUT11   = 0x0000020Cu, /* tcpwm[0].tr_out1[1] */
171     TRIG_IN_MUX_2_TCPWM0_TR_OUT0256 = 0x0000020Du, /* tcpwm[0].tr_out0[256] */
172     TRIG_IN_MUX_2_TCPWM0_TR_OUT1256 = 0x0000020Eu, /* tcpwm[0].tr_out1[256] */
173     TRIG_IN_MUX_2_TCPWM0_TR_OUT0257 = 0x0000020Fu, /* tcpwm[0].tr_out0[257] */
174     TRIG_IN_MUX_2_TCPWM0_TR_OUT1257 = 0x00000210u, /* tcpwm[0].tr_out1[257] */
175     TRIG_IN_MUX_2_TCPWM0_TR_OUT0258 = 0x00000211u, /* tcpwm[0].tr_out0[258] */
176     TRIG_IN_MUX_2_TCPWM0_TR_OUT1258 = 0x00000212u, /* tcpwm[0].tr_out1[258] */
177     TRIG_IN_MUX_2_TCPWM0_TR_OUT0259 = 0x00000213u, /* tcpwm[0].tr_out0[259] */
178     TRIG_IN_MUX_2_TCPWM0_TR_OUT1259 = 0x00000214u, /* tcpwm[0].tr_out1[259] */
179     TRIG_IN_MUX_2_TCPWM0_TR_OUT0260 = 0x00000215u, /* tcpwm[0].tr_out0[260] */
180     TRIG_IN_MUX_2_TCPWM0_TR_OUT1260 = 0x00000216u, /* tcpwm[0].tr_out1[260] */
181     TRIG_IN_MUX_2_TCPWM0_TR_OUT0261 = 0x00000217u, /* tcpwm[0].tr_out0[261] */
182     TRIG_IN_MUX_2_TCPWM0_TR_OUT1261 = 0x00000218u, /* tcpwm[0].tr_out1[261] */
183     TRIG_IN_MUX_2_TCPWM0_TR_OUT0262 = 0x00000219u, /* tcpwm[0].tr_out0[262] */
184     TRIG_IN_MUX_2_TCPWM0_TR_OUT1262 = 0x0000021Au, /* tcpwm[0].tr_out1[262] */
185     TRIG_IN_MUX_2_SCB_I2C_SCL0      = 0x0000021Bu, /* scb[0].tr_i2c_scl_filtered */
186     TRIG_IN_MUX_2_SCB_TX0           = 0x0000021Cu, /* scb[0].tr_tx_req */
187     TRIG_IN_MUX_2_SCB_RX0           = 0x0000021Du, /* scb[0].tr_rx_req */
188     TRIG_IN_MUX_2_CRYPTO_TR_TRNG    = 0x0000021Eu, /* crypto.tr_trng_bitstream */
189     TRIG_IN_MUX_2_SCB_TX1           = 0x0000021Fu, /* scb[1].tr_tx_req */
190     TRIG_IN_MUX_2_SCB_RX1           = 0x00000220u, /* scb[1].tr_rx_req */
191     TRIG_IN_MUX_2_SCB_I2C_SCL2      = 0x00000221u, /* scb[2].tr_i2c_scl_filtered */
192     TRIG_IN_MUX_2_SCB_TX2           = 0x00000222u, /* scb[2].tr_tx_req */
193     TRIG_IN_MUX_2_SCB_RX2           = 0x00000223u, /* scb[2].tr_rx_req */
194     TRIG_IN_MUX_2_SMIF_TX           = 0x00000224u, /* smif.tr_tx_req */
195     TRIG_IN_MUX_2_SMIF_RX           = 0x00000225u, /* smif.tr_rx_req */
196     TRIG_IN_MUX_2_I2S_TDM_TX0       = 0x00000226u, /* tdm.tr_tx_req[0] */
197     TRIG_IN_MUX_2_I2S_TDM_RX0       = 0x00000227u, /* tdm.tr_rx_req[0] */
198     TRIG_IN_MUX_2_PDM_RX0           = 0x00000228u, /* pdm.tr_rx_req[0] */
199     TRIG_IN_MUX_2_PDM_RX1           = 0x00000229u, /* pdm.tr_rx_req[1] */
200     TRIG_IN_MUX_2_PDM_RX_REQ_ALL    = 0x0000022Au, /* pdm.tr_rx_req_all */
201     TRIG_IN_MUX_2_HSIOM_TR_OUT4     = 0x0000022Bu, /* ioss.peri_tr_io_input_in[4] */
202     TRIG_IN_MUX_2_HSIOM_TR_OUT5     = 0x0000022Cu, /* ioss.peri_tr_io_input_in[5] */
203     TRIG_IN_MUX_2_HSIOM_TR_OUT6     = 0x0000022Du, /* ioss.peri_tr_io_input_in[6] */
204     TRIG_IN_MUX_2_HSIOM_TR_OUT7     = 0x0000022Eu, /* ioss.peri_tr_io_input_in[7] */
205     TRIG_IN_MUX_2_CTI_TR_OUT0       = 0x0000022Fu, /* cpuss.cti_tr_out[0] */
206     TRIG_IN_MUX_2_CTI_TR_OUT1       = 0x00000230u, /* cpuss.cti_tr_out[1] */
207     TRIG_IN_MUX_2_ADCMIC_DC_DONE    = 0x00000231u, /* adcmic.tr_adcmic_dc */
208     TRIG_IN_MUX_2_ADCMIC_DATA_AVAIL = 0x00000232u, /* adcmic.tr_adcmic_data */
209     TRIG_IN_MUX_2_CANFD_TT_TR_OUT0  = 0x00000233u, /* canfd[0].tr_tmp_rtp_out[0] */
210     TRIG_IN_MUX_2_BTSS_TR_TX        = 0x00000234u, /* btss.tr_tx_start */
211     TRIG_IN_MUX_2_BTSS_TR_RX        = 0x00000235u /* btss.tr_rx_packet_sync */
212 } en_trig_input_tcpwm1_t;
213 
214 /* Trigger Input Group 3 - HSIOM trigger multiplexer */
215 typedef enum
216 {
217     TRIG_IN_MUX_3_PDMA0_TR_OUT0     = 0x00000301u, /* cpuss.dw0_tr_out[0] */
218     TRIG_IN_MUX_3_PDMA0_TR_OUT1     = 0x00000302u, /* cpuss.dw0_tr_out[1] */
219     TRIG_IN_MUX_3_PDMA0_TR_OUT2     = 0x00000303u, /* cpuss.dw0_tr_out[2] */
220     TRIG_IN_MUX_3_PDMA0_TR_OUT3     = 0x00000304u, /* cpuss.dw0_tr_out[3] */
221     TRIG_IN_MUX_3_PDMA0_TR_OUT4     = 0x00000305u, /* cpuss.dw0_tr_out[4] */
222     TRIG_IN_MUX_3_PDMA0_TR_OUT5     = 0x00000306u, /* cpuss.dw0_tr_out[5] */
223     TRIG_IN_MUX_3_PDMA0_TR_OUT6     = 0x00000307u, /* cpuss.dw0_tr_out[6] */
224     TRIG_IN_MUX_3_PDMA0_TR_OUT7     = 0x00000308u, /* cpuss.dw0_tr_out[7] */
225     TRIG_IN_MUX_3_TCPWM0_TR_OUT00   = 0x00000309u, /* tcpwm[0].tr_out0[0] */
226     TRIG_IN_MUX_3_TCPWM0_TR_OUT10   = 0x0000030Au, /* tcpwm[0].tr_out1[0] */
227     TRIG_IN_MUX_3_TCPWM0_TR_OUT01   = 0x0000030Bu, /* tcpwm[0].tr_out0[1] */
228     TRIG_IN_MUX_3_TCPWM0_TR_OUT11   = 0x0000030Cu, /* tcpwm[0].tr_out1[1] */
229     TRIG_IN_MUX_3_TCPWM0_TR_OUT0256 = 0x0000030Du, /* tcpwm[0].tr_out0[256] */
230     TRIG_IN_MUX_3_TCPWM0_TR_OUT1256 = 0x0000030Eu, /* tcpwm[0].tr_out1[256] */
231     TRIG_IN_MUX_3_TCPWM0_TR_OUT0257 = 0x0000030Fu, /* tcpwm[0].tr_out0[257] */
232     TRIG_IN_MUX_3_TCPWM0_TR_OUT1257 = 0x00000310u, /* tcpwm[0].tr_out1[257] */
233     TRIG_IN_MUX_3_TCPWM0_TR_OUT0258 = 0x00000311u, /* tcpwm[0].tr_out0[258] */
234     TRIG_IN_MUX_3_TCPWM0_TR_OUT1258 = 0x00000312u, /* tcpwm[0].tr_out1[258] */
235     TRIG_IN_MUX_3_TCPWM0_TR_OUT0259 = 0x00000313u, /* tcpwm[0].tr_out0[259] */
236     TRIG_IN_MUX_3_TCPWM0_TR_OUT1259 = 0x00000314u, /* tcpwm[0].tr_out1[259] */
237     TRIG_IN_MUX_3_TCPWM0_TR_OUT0260 = 0x00000315u, /* tcpwm[0].tr_out0[260] */
238     TRIG_IN_MUX_3_TCPWM0_TR_OUT1260 = 0x00000316u, /* tcpwm[0].tr_out1[260] */
239     TRIG_IN_MUX_3_TCPWM0_TR_OUT0261 = 0x00000317u, /* tcpwm[0].tr_out0[261] */
240     TRIG_IN_MUX_3_TCPWM0_TR_OUT1261 = 0x00000318u, /* tcpwm[0].tr_out1[261] */
241     TRIG_IN_MUX_3_TCPWM0_TR_OUT0262 = 0x00000319u, /* tcpwm[0].tr_out0[262] */
242     TRIG_IN_MUX_3_TCPWM0_TR_OUT1262 = 0x0000031Au, /* tcpwm[0].tr_out1[262] */
243     TRIG_IN_MUX_3_SCB_I2C_SCL0      = 0x0000031Bu, /* scb[0].tr_i2c_scl_filtered */
244     TRIG_IN_MUX_3_SCB_TX0           = 0x0000031Cu, /* scb[0].tr_tx_req */
245     TRIG_IN_MUX_3_SCB_RX0           = 0x0000031Du, /* scb[0].tr_rx_req */
246     TRIG_IN_MUX_3_CRYPTO_TR_TRNG    = 0x0000031Eu, /* crypto.tr_trng_bitstream */
247     TRIG_IN_MUX_3_SCB_TX1           = 0x0000031Fu, /* scb[1].tr_tx_req */
248     TRIG_IN_MUX_3_SCB_RX1           = 0x00000320u, /* scb[1].tr_rx_req */
249     TRIG_IN_MUX_3_SCB_I2C_SCL2      = 0x00000321u, /* scb[2].tr_i2c_scl_filtered */
250     TRIG_IN_MUX_3_SCB_TX2           = 0x00000322u, /* scb[2].tr_tx_req */
251     TRIG_IN_MUX_3_SCB_RX2           = 0x00000323u, /* scb[2].tr_rx_req */
252     TRIG_IN_MUX_3_I2S_TDM_TX0       = 0x00000324u, /* tdm.tr_tx_req[0] */
253     TRIG_IN_MUX_3_I2S_TDM_RX0       = 0x00000325u, /* tdm.tr_rx_req[0] */
254     TRIG_IN_MUX_3_PDM_RX0           = 0x00000326u, /* pdm.tr_rx_req[0] */
255     TRIG_IN_MUX_3_PDM_RX1           = 0x00000327u, /* pdm.tr_rx_req[1] */
256     TRIG_IN_MUX_3_PDM_RX_REQ_ALL    = 0x00000328u, /* pdm.tr_rx_req_all */
257     TRIG_IN_MUX_3_CTI_TR_OUT0       = 0x00000329u, /* cpuss.cti_tr_out[0] */
258     TRIG_IN_MUX_3_CTI_TR_OUT1       = 0x0000032Au, /* cpuss.cti_tr_out[1] */
259     TRIG_IN_MUX_3_ADCMIC_DC_DONE    = 0x0000032Bu, /* adcmic.tr_adcmic_dc */
260     TRIG_IN_MUX_3_ADCMIC_DATA_AVAIL = 0x0000032Cu, /* adcmic.tr_adcmic_data */
261     TRIG_IN_MUX_3_CANFD_TT_TR_OUT0  = 0x0000032Du /* canfd[0].tr_tmp_rtp_out[0] */
262 } en_trig_input_hsiom_t;
263 
264 /* Trigger Input Group 4 - CPUSS Debug  multiplexer */
265 typedef enum
266 {
267     TRIG_IN_MUX_4_PDMA0_TR_OUT0     = 0x00000401u, /* cpuss.dw0_tr_out[0] */
268     TRIG_IN_MUX_4_PDMA0_TR_OUT1     = 0x00000402u, /* cpuss.dw0_tr_out[1] */
269     TRIG_IN_MUX_4_PDMA0_TR_OUT2     = 0x00000403u, /* cpuss.dw0_tr_out[2] */
270     TRIG_IN_MUX_4_PDMA0_TR_OUT3     = 0x00000404u, /* cpuss.dw0_tr_out[3] */
271     TRIG_IN_MUX_4_PDMA0_TR_OUT4     = 0x00000405u, /* cpuss.dw0_tr_out[4] */
272     TRIG_IN_MUX_4_PDMA0_TR_OUT5     = 0x00000406u, /* cpuss.dw0_tr_out[5] */
273     TRIG_IN_MUX_4_PDMA0_TR_OUT6     = 0x00000407u, /* cpuss.dw0_tr_out[6] */
274     TRIG_IN_MUX_4_PDMA0_TR_OUT7     = 0x00000408u, /* cpuss.dw0_tr_out[7] */
275     TRIG_IN_MUX_4_PDMA0_TR_OUT8     = 0x00000409u, /* cpuss.dw0_tr_out[8] */
276     TRIG_IN_MUX_4_PDMA0_TR_OUT9     = 0x0000040Au, /* cpuss.dw0_tr_out[9] */
277     TRIG_IN_MUX_4_PDMA0_TR_OUT10    = 0x0000040Bu, /* cpuss.dw0_tr_out[10] */
278     TRIG_IN_MUX_4_PDMA0_TR_OUT11    = 0x0000040Cu, /* cpuss.dw0_tr_out[11] */
279     TRIG_IN_MUX_4_PDMA0_TR_OUT12    = 0x0000040Du, /* cpuss.dw0_tr_out[12] */
280     TRIG_IN_MUX_4_PDMA0_TR_OUT13    = 0x0000040Eu, /* cpuss.dw0_tr_out[13] */
281     TRIG_IN_MUX_4_PDMA0_TR_OUT14    = 0x0000040Fu, /* cpuss.dw0_tr_out[14] */
282     TRIG_IN_MUX_4_PDMA0_TR_OUT15    = 0x00000410u, /* cpuss.dw0_tr_out[15] */
283     TRIG_IN_MUX_4_TCPWM0_TR_OUT00   = 0x00000411u, /* tcpwm[0].tr_out0[0] */
284     TRIG_IN_MUX_4_TCPWM0_TR_OUT10   = 0x00000412u, /* tcpwm[0].tr_out1[0] */
285     TRIG_IN_MUX_4_TCPWM0_TR_OUT01   = 0x00000413u, /* tcpwm[0].tr_out0[1] */
286     TRIG_IN_MUX_4_TCPWM0_TR_OUT11   = 0x00000414u, /* tcpwm[0].tr_out1[1] */
287     TRIG_IN_MUX_4_TCPWM0_TR_OUT0256 = 0x00000415u, /* tcpwm[0].tr_out0[256] */
288     TRIG_IN_MUX_4_TCPWM0_TR_OUT1256 = 0x00000416u, /* tcpwm[0].tr_out1[256] */
289     TRIG_IN_MUX_4_TCPWM0_TR_OUT0257 = 0x00000417u, /* tcpwm[0].tr_out0[257] */
290     TRIG_IN_MUX_4_TCPWM0_TR_OUT1257 = 0x00000418u, /* tcpwm[0].tr_out1[257] */
291     TRIG_IN_MUX_4_TCPWM0_TR_OUT0258 = 0x00000419u, /* tcpwm[0].tr_out0[258] */
292     TRIG_IN_MUX_4_TCPWM0_TR_OUT1258 = 0x0000041Au, /* tcpwm[0].tr_out1[258] */
293     TRIG_IN_MUX_4_TCPWM0_TR_OUT0259 = 0x0000041Bu, /* tcpwm[0].tr_out0[259] */
294     TRIG_IN_MUX_4_TCPWM0_TR_OUT1259 = 0x0000041Cu, /* tcpwm[0].tr_out1[259] */
295     TRIG_IN_MUX_4_TCPWM0_TR_OUT0260 = 0x0000041Du, /* tcpwm[0].tr_out0[260] */
296     TRIG_IN_MUX_4_TCPWM0_TR_OUT1260 = 0x0000041Eu, /* tcpwm[0].tr_out1[260] */
297     TRIG_IN_MUX_4_TCPWM0_TR_OUT0261 = 0x0000041Fu, /* tcpwm[0].tr_out0[261] */
298     TRIG_IN_MUX_4_TCPWM0_TR_OUT1261 = 0x00000420u, /* tcpwm[0].tr_out1[261] */
299     TRIG_IN_MUX_4_TCPWM0_TR_OUT0262 = 0x00000421u, /* tcpwm[0].tr_out0[262] */
300     TRIG_IN_MUX_4_TCPWM0_TR_OUT1262 = 0x00000422u, /* tcpwm[0].tr_out1[262] */
301     TRIG_IN_MUX_4_SCB_I2C_SCL0      = 0x00000423u, /* scb[0].tr_i2c_scl_filtered */
302     TRIG_IN_MUX_4_SCB_TX0           = 0x00000424u, /* scb[0].tr_tx_req */
303     TRIG_IN_MUX_4_SCB_RX0           = 0x00000425u, /* scb[0].tr_rx_req */
304     TRIG_IN_MUX_4_CRYPTO_TR_TRNG    = 0x00000426u, /* crypto.tr_trng_bitstream */
305     TRIG_IN_MUX_4_SCB_TX1           = 0x00000427u, /* scb[1].tr_tx_req */
306     TRIG_IN_MUX_4_SCB_RX1           = 0x00000428u, /* scb[1].tr_rx_req */
307     TRIG_IN_MUX_4_SCB_I2C_SCL2      = 0x00000429u, /* scb[2].tr_i2c_scl_filtered */
308     TRIG_IN_MUX_4_SCB_TX2           = 0x0000042Au, /* scb[2].tr_tx_req */
309     TRIG_IN_MUX_4_SCB_RX2           = 0x0000042Bu, /* scb[2].tr_rx_req */
310     TRIG_IN_MUX_4_SMIF_TX           = 0x0000042Cu, /* smif.tr_tx_req */
311     TRIG_IN_MUX_4_SMIF_RX           = 0x0000042Du, /* smif.tr_rx_req */
312     TRIG_IN_MUX_4_I2S_TDM_TX0       = 0x0000042Eu, /* tdm.tr_tx_req[0] */
313     TRIG_IN_MUX_4_I2S_TDM_RX0       = 0x0000042Fu, /* tdm.tr_rx_req[0] */
314     TRIG_IN_MUX_4_PDM_RX0           = 0x00000430u, /* pdm.tr_rx_req[0] */
315     TRIG_IN_MUX_4_PDM_RX1           = 0x00000431u, /* pdm.tr_rx_req[1] */
316     TRIG_IN_MUX_4_PDM_RX_REQ_ALL    = 0x00000432u, /* pdm.tr_rx_req_all */
317     TRIG_IN_MUX_4_HSIOM_TR_OUT0     = 0x00000433u, /* ioss.peri_tr_io_input_in[0] */
318     TRIG_IN_MUX_4_HSIOM_TR_OUT1     = 0x00000434u, /* ioss.peri_tr_io_input_in[1] */
319     TRIG_IN_MUX_4_HSIOM_TR_OUT2     = 0x00000435u, /* ioss.peri_tr_io_input_in[2] */
320     TRIG_IN_MUX_4_HSIOM_TR_OUT3     = 0x00000436u, /* ioss.peri_tr_io_input_in[3] */
321     TRIG_IN_MUX_4_HSIOM_TR_OUT4     = 0x00000437u, /* ioss.peri_tr_io_input_in[4] */
322     TRIG_IN_MUX_4_HSIOM_TR_OUT5     = 0x00000438u, /* ioss.peri_tr_io_input_in[5] */
323     TRIG_IN_MUX_4_HSIOM_TR_OUT6     = 0x00000439u, /* ioss.peri_tr_io_input_in[6] */
324     TRIG_IN_MUX_4_HSIOM_TR_OUT7     = 0x0000043Au, /* ioss.peri_tr_io_input_in[7] */
325     TRIG_IN_MUX_4_CTI_TR_OUT0       = 0x0000043Bu, /* cpuss.cti_tr_out[0] */
326     TRIG_IN_MUX_4_CTI_TR_OUT1       = 0x0000043Cu, /* cpuss.cti_tr_out[1] */
327     TRIG_IN_MUX_4_ADCMIC_DC_DONE    = 0x0000043Du, /* adcmic.tr_adcmic_dc */
328     TRIG_IN_MUX_4_ADCMIC_DATA_AVAIL = 0x0000043Eu, /* adcmic.tr_adcmic_data */
329     TRIG_IN_MUX_4_CANFD_TT_TR_OUT0  = 0x0000043Fu /* canfd[0].tr_tmp_rtp_out[0] */
330 } en_trig_input_cpuss_cti_t;
331 
332 /* Trigger Input Group 5 - PERI Freeze trigger multiplexer */
333 typedef enum
334 {
335     TRIG_IN_MUX_5_CTI_TR_OUT0       = 0x00000501u, /* cpuss.cti_tr_out[0] */
336     TRIG_IN_MUX_5_CTI_TR_OUT1       = 0x00000502u /* cpuss.cti_tr_out[1] */
337 } en_trig_input_peri_freeze_t;
338 
339 /* Trigger Input Group 6 - TCPWM and PDM trigger multiplexer */
340 typedef enum
341 {
342     TRIG_IN_MUX_6_TCPWM0_TR_OUT00   = 0x00000601u, /* tcpwm[0].tr_out0[0] */
343     TRIG_IN_MUX_6_TCPWM0_TR_OUT10   = 0x00000602u, /* tcpwm[0].tr_out1[0] */
344     TRIG_IN_MUX_6_TCPWM0_TR_OUT01   = 0x00000603u, /* tcpwm[0].tr_out0[1] */
345     TRIG_IN_MUX_6_TCPWM0_TR_OUT11   = 0x00000604u, /* tcpwm[0].tr_out1[1] */
346     TRIG_IN_MUX_6_TCPWM0_TR_OUT0256 = 0x00000605u, /* tcpwm[0].tr_out0[256] */
347     TRIG_IN_MUX_6_TCPWM0_TR_OUT1256 = 0x00000606u, /* tcpwm[0].tr_out1[256] */
348     TRIG_IN_MUX_6_TCPWM0_TR_OUT0257 = 0x00000607u, /* tcpwm[0].tr_out0[257] */
349     TRIG_IN_MUX_6_TCPWM0_TR_OUT1257 = 0x00000608u, /* tcpwm[0].tr_out1[257] */
350     TRIG_IN_MUX_6_TCPWM0_TR_OUT0258 = 0x00000609u, /* tcpwm[0].tr_out0[258] */
351     TRIG_IN_MUX_6_TCPWM0_TR_OUT1258 = 0x0000060Au, /* tcpwm[0].tr_out1[258] */
352     TRIG_IN_MUX_6_TCPWM0_TR_OUT0259 = 0x0000060Bu, /* tcpwm[0].tr_out0[259] */
353     TRIG_IN_MUX_6_TCPWM0_TR_OUT1259 = 0x0000060Cu, /* tcpwm[0].tr_out1[259] */
354     TRIG_IN_MUX_6_TCPWM0_TR_OUT0260 = 0x0000060Du, /* tcpwm[0].tr_out0[260] */
355     TRIG_IN_MUX_6_TCPWM0_TR_OUT1260 = 0x0000060Eu, /* tcpwm[0].tr_out1[260] */
356     TRIG_IN_MUX_6_TCPWM0_TR_OUT0261 = 0x0000060Fu, /* tcpwm[0].tr_out0[261] */
357     TRIG_IN_MUX_6_TCPWM0_TR_OUT1261 = 0x00000610u, /* tcpwm[0].tr_out1[261] */
358     TRIG_IN_MUX_6_TCPWM0_TR_OUT0262 = 0x00000611u, /* tcpwm[0].tr_out0[262] */
359     TRIG_IN_MUX_6_TCPWM0_TR_OUT1262 = 0x00000612u /* tcpwm[0].tr_out1[262] */
360 } en_trig_input_tcpwm_pdm_t;
361 
362 /* Trigger Input Group 7 - CAN TT Synchronization triggers */
363 typedef enum
364 {
365     TRIG_IN_MUX_7_CAN_TT_TR_OUT0    = 0x00000701u /* canfd[0].tr_tmp_rtp_out[0] */
366 } en_trig_input_cantt_t;
367 
368 /* Trigger Input Group 8 - CAN TT Synchronization triggers */
369 typedef enum
370 {
371     TRIG_IN_MUX_8_SCB_TX0           = 0x00000801u, /* scb[0].tr_tx_req */
372     TRIG_IN_MUX_8_CAN_DBG0          = 0x00000802u /* canfd[0].tr_dbg_dma_req[0] */
373 } en_trig_input_scb_can0_t;
374 
375 /* Trigger Input Group 9 - CAN TT Synchronization triggers */
376 typedef enum
377 {
378     TRIG_IN_MUX_9_SCB_RX0           = 0x00000901u, /* scb[0].tr_rx_req */
379     TRIG_IN_MUX_9_CAN_FIFO0         = 0x00000902u /* canfd[0].tr_fifo0[0] */
380 } en_trig_input_scb_can1_t;
381 
382 /* Trigger Group Outputs */
383 /* Trigger Output Group 0 - P-DMA0 Request Assignments */
384 typedef enum
385 {
386     TRIG_OUT_MUX_0_PDMA0_TR_IN0     = 0x40000000u, /* cpuss.dw0_tr_in[0] */
387     TRIG_OUT_MUX_0_PDMA0_TR_IN1     = 0x40000001u, /* cpuss.dw0_tr_in[1] */
388     TRIG_OUT_MUX_0_PDMA0_TR_IN2     = 0x40000002u, /* cpuss.dw0_tr_in[2] */
389     TRIG_OUT_MUX_0_PDMA0_TR_IN3     = 0x40000003u /* cpuss.dw0_tr_in[3] */
390 } en_trig_output_pdma0_tr_t;
391 
392 /* Trigger Output Group 1 - TCPWM0 trigger multiplexer */
393 typedef enum
394 {
395     TRIG_OUT_MUX_1_TCPWM0_TR_IN0    = 0x40000100u, /* tcpwm[0].tr_all_cnt_in[0] */
396     TRIG_OUT_MUX_1_TCPWM0_TR_IN1    = 0x40000101u, /* tcpwm[0].tr_all_cnt_in[1] */
397     TRIG_OUT_MUX_1_TCPWM0_TR_IN2    = 0x40000102u, /* tcpwm[0].tr_all_cnt_in[2] */
398     TRIG_OUT_MUX_1_TCPWM0_TR_IN3    = 0x40000103u, /* tcpwm[0].tr_all_cnt_in[3] */
399     TRIG_OUT_MUX_1_TCPWM0_TR_IN4    = 0x40000104u, /* tcpwm[0].tr_all_cnt_in[4] */
400     TRIG_OUT_MUX_1_TCPWM0_TR_IN5    = 0x40000105u, /* tcpwm[0].tr_all_cnt_in[5] */
401     TRIG_OUT_MUX_1_TCPWM0_TR_IN6    = 0x40000106u, /* tcpwm[0].tr_all_cnt_in[6] */
402     TRIG_OUT_MUX_1_TCPWM0_TR_IN7    = 0x40000107u, /* tcpwm[0].tr_all_cnt_in[7] */
403     TRIG_OUT_MUX_1_TCPWM0_TR_IN8    = 0x40000108u, /* tcpwm[0].tr_all_cnt_in[8] */
404     TRIG_OUT_MUX_1_TCPWM0_TR_IN9    = 0x40000109u, /* tcpwm[0].tr_all_cnt_in[9] */
405     TRIG_OUT_MUX_1_TCPWM0_TR_IN10   = 0x4000010Au, /* tcpwm[0].tr_all_cnt_in[10] */
406     TRIG_OUT_MUX_1_TCPWM0_TR_IN11   = 0x4000010Bu, /* tcpwm[0].tr_all_cnt_in[11] */
407     TRIG_OUT_MUX_1_TCPWM0_TR_IN12   = 0x4000010Cu, /* tcpwm[0].tr_all_cnt_in[12] */
408     TRIG_OUT_MUX_1_TCPWM0_TR_IN13   = 0x4000010Du /* tcpwm[0].tr_all_cnt_in[13] */
409 } en_trig_output_tcpwm0_t;
410 
411 /* Trigger Output Group 2 - TCPWM1 trigger multiplexer */
412 typedef enum
413 {
414     TRIG_OUT_MUX_2_TCPWM0_TR_IN14   = 0x40000200u, /* tcpwm[0].tr_all_cnt_in[14] */
415     TRIG_OUT_MUX_2_TCPWM0_TR_IN15   = 0x40000201u, /* tcpwm[0].tr_all_cnt_in[15] */
416     TRIG_OUT_MUX_2_TCPWM0_TR_IN16   = 0x40000202u, /* tcpwm[0].tr_all_cnt_in[16] */
417     TRIG_OUT_MUX_2_TCPWM0_TR_IN17   = 0x40000203u, /* tcpwm[0].tr_all_cnt_in[17] */
418     TRIG_OUT_MUX_2_TCPWM0_TR_IN18   = 0x40000204u, /* tcpwm[0].tr_all_cnt_in[18] */
419     TRIG_OUT_MUX_2_TCPWM0_TR_IN19   = 0x40000205u, /* tcpwm[0].tr_all_cnt_in[19] */
420     TRIG_OUT_MUX_2_TCPWM0_TR_IN20   = 0x40000206u, /* tcpwm[0].tr_all_cnt_in[20] */
421     TRIG_OUT_MUX_2_TCPWM0_TR_IN21   = 0x40000207u, /* tcpwm[0].tr_all_cnt_in[21] */
422     TRIG_OUT_MUX_2_TCPWM0_TR_IN22   = 0x40000208u, /* tcpwm[0].tr_all_cnt_in[22] */
423     TRIG_OUT_MUX_2_TCPWM0_TR_IN23   = 0x40000209u, /* tcpwm[0].tr_all_cnt_in[23] */
424     TRIG_OUT_MUX_2_TCPWM0_TR_IN24   = 0x4000020Au, /* tcpwm[0].tr_all_cnt_in[24] */
425     TRIG_OUT_MUX_2_TCPWM0_TR_IN25   = 0x4000020Bu, /* tcpwm[0].tr_all_cnt_in[25] */
426     TRIG_OUT_MUX_2_TCPWM0_TR_IN26   = 0x4000020Cu, /* tcpwm[0].tr_all_cnt_in[26] */
427     TRIG_OUT_MUX_2_TCPWM0_TR_IN27   = 0x4000020Du /* tcpwm[0].tr_all_cnt_in[27] */
428 } en_trig_output_tcpwm1_t;
429 
430 /* Trigger Output Group 3 - HSIOM trigger multiplexer */
431 typedef enum
432 {
433     TRIG_OUT_MUX_3_HSIOM_TR_IO_OUTPUT0 = 0x40000300u, /* ioss.peri_tr_io_output_out[0] */
434     TRIG_OUT_MUX_3_HSIOM_TR_IO_OUTPUT1 = 0x40000301u /* ioss.peri_tr_io_output_out[1] */
435 } en_trig_output_hsiom_t;
436 
437 /* Trigger Output Group 4 - CPUSS Debug  multiplexer */
438 typedef enum
439 {
440     TRIG_OUT_MUX_4_CPUSS_CTI_TR_IN0 = 0x40000400u, /* cpuss.cti_tr_in[0] */
441     TRIG_OUT_MUX_4_CPUSS_CTI_TR_IN1 = 0x40000401u, /* cpuss.cti_tr_in[1] */
442     TRIG_OUT_MUX_4_SRSS_MCWDT_DEBUG_FREEZE_TR_IN0 = 0x40000403u /* srss.tr_debug_freeze_mcwdt[0] */
443 } en_trig_output_cpuss_cti_t;
444 
445 /* Trigger Output Group 5 - PERI Freeze trigger multiplexer */
446 typedef enum
447 {
448     TRIG_OUT_MUX_5_PERI_DEBUG_FREEZE_TR_IN = 0x40000500u, /* peri.tr_dbg_freeze */
449     TRIG_OUT_MUX_5_PDM_DEBUG_FREEZE_TR_IN = 0x40000501u, /* pdm.tr_dbg_freeze */
450     TRIG_OUT_MUX_5_TDM_DEBUG_FREEZE_TR_IN = 0x40000502u, /* tdm.tr_dbg_freeze */
451     TRIG_OUT_MUX_5_TCPWM_DEBUG_FREEZE_TR_IN = 0x40000503u /* tcpwm[0].tr_debug_freeze */
452 } en_trig_output_peri_freeze_t;
453 
454 /* Trigger Output Group 6 - TCPWM and PDM trigger multiplexer */
455 typedef enum
456 {
457     TRIG_OUT_MUX_6_PDM_TR_ACTIVATE0 = 0x40000600u, /* pdm.tr_activate[0] */
458     TRIG_OUT_MUX_6_PDM_TR_ACTIVATE1 = 0x40000601u /* pdm.tr_activate[1] */
459 } en_trig_output_tcpwm_pdm_t;
460 
461 /* Trigger Output Group 7 - CAN TT Synchronization triggers */
462 typedef enum
463 {
464     TRIG_OUT_MUX_7_CAN_TT_TR_IN0    = 0x40000700u /* canfd[0].tr_evt_swt_in[0] */
465 } en_trig_output_cantt_t;
466 
467 /* Trigger Output Group 8 - CAN TT Synchronization triggers */
468 typedef enum
469 {
470     TRIG_OUT_MUX_8_PDMA0_TR_IN4     = 0x40000800u /* cpuss.dw0_tr_in[4] */
471 } en_trig_output_scb_can0_t;
472 
473 /* Trigger Output Group 9 - CAN TT Synchronization triggers */
474 typedef enum
475 {
476     TRIG_OUT_MUX_9_PDMA0_TR_IN5     = 0x40000900u /* cpuss.dw0_tr_in[5] */
477 } en_trig_output_scb_can1_t;
478 
479 /* Trigger Output Group 0 - SCB PDMA0 Triggers (OneToOne) */
480 typedef enum
481 {
482     TRIG_OUT_1TO1_0_SCB1_TX_TO_PDMA0_TR_IN6 = 0x40001000u, /* From scb[1].tr_tx_req to cpuss.dw0_tr_in[6] */
483     TRIG_OUT_1TO1_0_SCB1_RX_TO_PDMA0_TR_IN7 = 0x40001001u, /* From scb[1].tr_rx_req to cpuss.dw0_tr_in[7] */
484     TRIG_OUT_1TO1_0_SCB2_TX_TO_PDMA1_TR_IN8 = 0x40001002u, /* From scb[2].tr_tx_req to cpuss.dw0_tr_in[8] */
485     TRIG_OUT_1TO1_0_SCB2_RX_TO_PDMA1_TR_IN9 = 0x40001003u /* From scb[2].tr_rx_req to cpuss.dw0_tr_in[9] */
486 } en_trig_output_1to1_scb_pdma0_tr_t;
487 
488 /* Trigger Output Group 1 - I2S and PDM PDMA triggers (OneToOne) */
489 typedef enum
490 {
491     TRIG_OUT_1TO1_1_I2S0_TX_TO_PDMA0_TR_IN10 = 0x40001100u, /* From tdm.tr_tx_req[0] to cpuss.dw0_tr_in[10] */
492     TRIG_OUT_1TO1_1_I2S0_RX_TO_PDMA0_TR_IN11 = 0x40001101u, /* From tdm.tr_rx_req[0] to cpuss.dw0_tr_in[11] */
493     TRIG_OUT_1TO1_1_PDM0_RX_TO_PDMA0_TR_IN12 = 0x40001102u, /* From pdm.tr_rx_req[0] to cpuss.dw0_tr_in[12] */
494     TRIG_OUT_1TO1_1_PDM0_RX_TO_PDMA0_TR_IN13 = 0x40001103u, /* From pdm.tr_rx_req[1] to cpuss.dw0_tr_in[13] */
495     TRIG_OUT_1TO1_1_PDM0_RX_ALL_TO_PDMA0_TR_IN14 = 0x40001104u /* From pdm.tr_rx_req_all to cpuss.dw0_tr_in[14] */
496 } en_trig_output_1to1_audioss_pdma1_tr_t;
497 
498 /* Trigger Output Group 2 - CAN to PDMA0 direct connect (OneToOne) */
499 typedef enum
500 {
501     TRIG_OUT_1TO1_2_CAN_FIFO1_TO_PDMA0_TR_IN15 = 0x40001200u /* From canfd[0].tr_fifo1[0] to cpuss.dw0_tr_in[15] */
502 } en_trig_output_1to1_can_to_pdma0_t;
503 
504 /* Trigger Output Group 3 - Acknowledge dma request triggers from DW0 to CAN (OneToOne) */
505 typedef enum
506 {
507     TRIG_OUT_1TO1_3_PDMA0_TR_OUT0_ACK_TO_CAN_0 = 0x40001300u /* From cpuss.dw0_tr_out[8] to canfd[0].tr_dbg_dma_ack[0] */
508 } en_trig_output_1to1_can0_dw_ack_t;
509 
510 /* Trigger Output Group 4 - Dedicated triggers to LIN[0] (OneToOne) */
511 typedef enum
512 {
513     TRIG_OUT_1TO1_4_PDMA0_TR_OUT0_ACK_TO_LIN = 0x40001400u, /* From cpuss.dw0_tr_out[9] to lin[0].tr_cmd_tx_header[0] */
514     TRIG_OUT_1TO1_4_PDMA0_TR_OUT1_ACK_TO_LIN = 0x40001401u /* From cpuss.dw0_tr_out[10] to lin[0].tr_cmd_tx_header[1] */
515 } en_trig_output_1to1_to_lin0_t;
516 
517 /* Level or edge detection setting for a trigger mux */
518 typedef enum
519 {
520     /* The trigger is a simple level output */
521     TRIGGER_TYPE_LEVEL = 0u,
522     /* The trigger is synchronized to the consumer blocks clock
523        and a two cycle pulse is generated on this clock */
524     TRIGGER_TYPE_EDGE = 1u
525 } en_trig_type_t;
526 
527 /* Trigger Type Defines */
528 /* ADCMIC Trigger Types */
529 #define TRIGGER_TYPE_ADCMIC_TR_ADCMIC_DATA      TRIGGER_TYPE_LEVEL
530 #define TRIGGER_TYPE_ADCMIC_TR_ADCMIC_DC        TRIGGER_TYPE_LEVEL
531 /* BTSS Trigger Types */
532 #define TRIGGER_TYPE_BTSS_TR_RX_PACKET_SYNC     TRIGGER_TYPE_EDGE
533 #define TRIGGER_TYPE_BTSS_TR_TX_START           TRIGGER_TYPE_EDGE
534 /* CANFD Trigger Types */
535 #define TRIGGER_TYPE_CANFD_TR_DBG_DMA_ACK       TRIGGER_TYPE_EDGE
536 #define TRIGGER_TYPE_CANFD_TR_DBG_DMA_REQ       TRIGGER_TYPE_LEVEL
537 #define TRIGGER_TYPE_CANFD_TR_EVT_SWT_IN        TRIGGER_TYPE_EDGE
538 #define TRIGGER_TYPE_CANFD_TR_FIFO0             TRIGGER_TYPE_LEVEL
539 #define TRIGGER_TYPE_CANFD_TR_FIFO1             TRIGGER_TYPE_LEVEL
540 #define TRIGGER_TYPE_CANFD_TR_TMP_RTP_OUT       TRIGGER_TYPE_EDGE
541 /* CPUSS Trigger Types */
542 #define TRIGGER_TYPE_CPUSS_CTI_TR_IN            TRIGGER_TYPE_EDGE
543 #define TRIGGER_TYPE_CPUSS_CTI_TR_OUT           TRIGGER_TYPE_EDGE
544 #define TRIGGER_TYPE_CPUSS_DW0_TR_IN__LEVEL     TRIGGER_TYPE_LEVEL
545 #define TRIGGER_TYPE_CPUSS_DW0_TR_IN__EDGE      TRIGGER_TYPE_EDGE
546 #define TRIGGER_TYPE_CPUSS_DW0_TR_OUT           TRIGGER_TYPE_EDGE
547 /* CRYPTO Trigger Types */
548 #define TRIGGER_TYPE_CRYPTO_TR_TRNG_BITSTREAM   TRIGGER_TYPE_LEVEL
549 /* LIN Trigger Types */
550 #define TRIGGER_TYPE_LIN_TR_CMD_TX_HEADER       TRIGGER_TYPE_EDGE
551 /* PDM Trigger Types */
552 #define TRIGGER_TYPE_PDM_TR_ACTIVATE            TRIGGER_TYPE_LEVEL
553 #define TRIGGER_TYPE_PDM_TR_DBG_FREEZE          TRIGGER_TYPE_LEVEL
554 #define TRIGGER_TYPE_PDM_TR_RX_REQ              TRIGGER_TYPE_LEVEL
555 #define TRIGGER_TYPE_PDM_TR_RX_REQ_ALL          TRIGGER_TYPE_LEVEL
556 /* PERI Trigger Types */
557 #define TRIGGER_TYPE_PERI_TR_DBG_FREEZE         TRIGGER_TYPE_LEVEL
558 #define TRIGGER_TYPE_PERI_TR_IO_INPUT__LEVEL    TRIGGER_TYPE_LEVEL
559 #define TRIGGER_TYPE_PERI_TR_IO_INPUT__EDGE     TRIGGER_TYPE_EDGE
560 #define TRIGGER_TYPE_PERI_TR_IO_OUTPUT__LEVEL   TRIGGER_TYPE_LEVEL
561 #define TRIGGER_TYPE_PERI_TR_IO_OUTPUT__EDGE    TRIGGER_TYPE_EDGE
562 /* SCB Trigger Types */
563 #define TRIGGER_TYPE_SCB_TR_I2C_SCL_FILTERED    TRIGGER_TYPE_LEVEL
564 #define TRIGGER_TYPE_SCB_TR_RX_REQ              TRIGGER_TYPE_LEVEL
565 #define TRIGGER_TYPE_SCB_TR_TX_REQ              TRIGGER_TYPE_LEVEL
566 /* SMIF Trigger Types */
567 #define TRIGGER_TYPE_SMIF_TR_RX_REQ             TRIGGER_TYPE_LEVEL
568 #define TRIGGER_TYPE_SMIF_TR_TX_REQ             TRIGGER_TYPE_LEVEL
569 /* SRSS Trigger Types */
570 #define TRIGGER_TYPE_SRSS_TR_DEBUG_FREEZE_MCWDT TRIGGER_TYPE_LEVEL
571 /* TCPWM Trigger Types */
572 #define TRIGGER_TYPE_TCPWM_TR_DEBUG_FREEZE      TRIGGER_TYPE_LEVEL
573 /* TDM Trigger Types */
574 #define TRIGGER_TYPE_TDM_TR_DBG_FREEZE          TRIGGER_TYPE_LEVEL
575 #define TRIGGER_TYPE_TDM_TR_RX_REQ              TRIGGER_TYPE_LEVEL
576 #define TRIGGER_TYPE_TDM_TR_TX_REQ              TRIGGER_TYPE_LEVEL
577 
578 /* Include IP definitions */
579 #include "ip/cyip_peri.h"
580 #include "ip/cyip_ppc.h"
581 #include "ip/cyip_peri_pclk.h"
582 #include "ip/cyip_ramc_ppu.h"
583 #include "ip/cyip_icache.h"
584 #include "ip/cyip_cpuss_ppu.h"
585 #include "ip/cyip_ramc.h"
586 #include "ip/cyip_promc.h"
587 #include "ip/cyip_mxcm33.h"
588 #include "ip/cyip_dw.h"
589 #include "ip/cyip_cpuss.h"
590 #include "ip/cyip_ms_ctl_1_2.h"
591 #include "ip/cyip_cpuss_sl_ctl.h"
592 #include "ip/cyip_ipc.h"
593 #include "ip/cyip_srss.h"
594 #include "ip/cyip_pwrmode.h"
595 #include "ip/cyip_backup.h"
596 #include "ip/cyip_cryptolite.h"
597 #include "ip/cyip_hsiom.h"
598 #include "ip/cyip_gpio.h"
599 #include "ip/cyip_smartio.h"
600 #include "ip/cyip_lin.h"
601 #include "ip/cyip_canfd_v3.h"
602 #include "ip/cyip_tcpwm_v2.h"
603 #include "ip/cyip_mxs40adcmic.h"
604 #include "ip/cyip_scb_v4.h"
605 #include "ip/cyip_efuse_v3.h"
606 #include "ip/cyip_efuse_data_v3_cyw20829.h"
607 #include "ip/cyip_smif_v3.h"
608 #include "ip/cyip_tdm.h"
609 #include "ip/cyip_pdm.h"
610 #include "ip/cyip_mxkeyscan.h"
611 #include "ip/cyip_btss.h"
612 
613 /* Parameter Defines */
614 /* Number of TTCAN instances */
615 #define CANFD_CAN_NR                    1u
616 /* ECC logic present or not */
617 #define CANFD_ECC_PRESENT               0u
618 /* address included in ECC logic or not */
619 #define CANFD_ECC_ADDR_PRESENT          0u
620 /* Time Stamp counter present or not (required for instance 0, otherwise not
621    allowed) */
622 #define CANFD_TS_PRESENT                1u
623 /* Message RAM size in KB */
624 #define CANFD_MRAM_SIZE                 4u
625 /* Message RAM address width */
626 #define CANFD_MRAM_ADDR_WIDTH           10u
627 /* System RAM 0 MPC protection block size in Bytes: 1<< (RAMC0_BLOCK_SIZE+5).
628    Example: 7 = 4KB protection block size. */
629 #define CPUSS_RAMC0_BLOCK_SIZE          7u
630 /* Number of macros used to implement System RAM 0. Example: 8 if 256 KB System
631    SRAM0 is implemented with 8 32KB macros. */
632 #define CPUSS_RAMC0_MACRO_NR            4u
633 /* Number of power partitions in system RAM 0. Each power partition can be
634    independently power controlled using a switch. Example: RAMC0_MACRO_NR = 16
635    and RAMC0_PWR_GROUP_NR = 4 will create 4 power partitions with 4 macros in
636    each power partition. */
637 #define CPUSS_RAMC0_PWR_GROUP_NR        4u
638 /* System RAM 1 present or not (0=No, 1=Yes) */
639 #define CPUSS_RAMC1_PRESENT             0u
640 /* System RAM 1 MPC protection block size in Bytes: 1<< (RAMC1_BLOCK_SIZE+5).
641    Example: 7 = 4KB protection block size. */
642 #define CPUSS_RAMC1_BLOCK_SIZE          7u
643 /* Number of macros used to implement System RAM 1. Example: 8 if 256 KB System
644    RAM 1 is implemented with 8 32KB macros. */
645 #define CPUSS_RAMC1_MACRO_NR            1u
646 /* Number of power partitions in system RAM 1. Each power partition can be
647    independently power controlled using a switch. Example: RAMC1_MACRO_NR = 16
648    and RAMC1_PWR_GROUP_NR = 4 will create 4 power partitions with 4 macros in
649    each power partition. */
650 #define CPUSS_RAMC1_PWR_GROUP_NR        1u
651 /* System RAM 2 present or not (0=No, 1=Yes) */
652 #define CPUSS_RAMC2_PRESENT             0u
653 /* System RAM 2 MPC protection block size in Bytes: 1<< (RAMC2_BLOCK_SIZE+5).
654    Example: 7 = 4KB protection block size. */
655 #define CPUSS_RAMC2_BLOCK_SIZE          7u
656 /* Number of macros used to implement System RAM 2. Example: 8 if 256 KB System
657    RAM 2 is implemented with 8 32KB macros. */
658 #define CPUSS_RAMC2_MACRO_NR            1u
659 /* Number of power partitions in system RAM 2. Each power partition can be
660    independently power controlled using a switch. Example: RAMC2_MACRO_NR = 16
661    and RAMC2_PWR_GROUP_NR = 4 will create 4 power partitions with 4 macros in
662    each power partition. */
663 #define CPUSS_RAMC2_PWR_GROUP_NR        1u
664 /* System SRAM(s) ECC present or not ('0': no, '1': yes) */
665 #define CPUSS_RAMC_ECC_PRESENT          0u
666 /* System SRAM(s) address ECC present or not ('0': no, '1': yes) */
667 #define CPUSS_RAMC_ECC_ADDR_PRESENT     0u
668 /* System Patchable ROM Controller Present or not ('0' : no, '1': yes) */
669 #define CPUSS_PROMC_PRESENT             1u
670 /* Number of macros used to implement system patchable ROM. Example: 4 if 512 KB
671    system patchable ROM is implemented with 4 128KB macros. */
672 #define CPUSS_PROMC_MACRO_NR            1u
673 /* PROMC memory block size for protection scheme : 1<< (PROMC_BLOCK_SIZE+5).
674    Example: 7 = 4KB protection block size. */
675 #define CPUSS_PROMC_BLOCK_SIZE          6u
676 /* Presence of the patch functionality. 0: ROM cannot be patched. 1: ROM can be
677    patched. */
678 #define CPUSS_PROMC_PATCH_PRESENT       0u
679 /* Number of patchable locations (patch entries). Possible range [32,512] in
680    powers of 2. (BRCM: 512 is only supported) These are implemented using SRAM.
681    (SNPS: 32x128, 64x128, 128x128, 256x128, 512x128 are supported; BRCM: 4
682    instances of 512x32 only supported) */
683 #define CPUSS_PROMC_PATCH_NR            64u
684 /* Patch size selection of a single structure. 0: 8 Bytes. 1: 16 Bytes. **) 2: 32
685    Bytes. 3: 64 Bytes. **) The patch size should fit to the word size of the
686    ROM. Thus only PATCH_SIZE=1 is supported for this ROM controller. */
687 #define CPUSS_PROMC_PATCH_SIZE          1u
688 /* Width of compared address bits. The LSB is determined by the PATCH_SIZE, for 16
689    bytes this equals to bit [4]. The MSB is chosen to address the full size of
690    the ROM in bytes. */
691 #define CPUSS_PROMC_MATCH_ADDR_SIZE     12u
692 /* Initial value of the first patchable address in the ROM. This address and the
693    following higher addresses are patchable if the function is enabled. */
694 #define CPUSS_PROMC_SROM_BOUNDARY       0x00001000u
695 /* Flash Controller Present or not ('0' : no, '1': yes) */
696 #define CPUSS_FLASHC_PRESENT            0u
697 /* Flash data output word size (in Bytes) */
698 #define CPUSS_FLASHC_MAIN_DATA_WIDTH    16u
699 /* Number of Flash BIST_DATA registers */
700 #define CPUSS_FLASHC_BIST_DATA_NR       4u
701 /* SONOS Flash RWW present or not ('0': no, '1': yes) When RWW is '0', No special
702    sectors present in Flash. Part of main sector 0 is allowcated for Supervisory
703    Flash, and no Work Flash present. */
704 #define CPUSS_FLASHC_SONOS_RWW          1u
705 /* SONOS Flash, number of main sectors. */
706 #define CPUSS_FLASHC_SONOS_MAIN_SECTORS 8u
707 /* SONOS Flash, number of rows per main sector. */
708 #define CPUSS_FLASHC_SONOS_MAIN_ROWS    512u
709 /* SONOS Flash, number of words per row of main sector. */
710 #define CPUSS_FLASHC_SONOS_MAIN_WORDS   128u
711 /* SONOS Flash, number of special sectors. */
712 #define CPUSS_FLASHC_SONOS_SPL_SECTORS  2u
713 /* SONOS Flash, number of rows per special sector. */
714 #define CPUSS_FLASHC_SONOS_SPL_ROWS     64u
715 /* DataWire 0 present or not ('0': no, '1': yes) */
716 #define CPUSS_DW0_PRESENT               1u
717 /* Number of DataWire 0 channels (8, 16 or 32) */
718 #define CPUSS_DW0_CH_NR                 16u
719 /* DataWire 1 present or not ('0': no, '1': yes) */
720 #define CPUSS_DW1_PRESENT               0u
721 /* Number of DataWire 1 channels (8, 16 or 32) */
722 #define CPUSS_DW1_CH_NR                 1u
723 /* DataWire SRAMs ECC present or not ('0': no, '1': yes) */
724 #define CPUSS_DW_ECC_PRESENT            0u
725 /* DataWire SRAMs address ECC present or not ('0': no, '1': yes) */
726 #define CPUSS_DW_ECC_ADDR_PRESENT       0u
727 /* DMA controller-0 present or not ('0': no, '1': yes) */
728 #define CPUSS_DMAC0_PRESENT             0u
729 /* Number of DMA controller-0 channels ([1, 8]) */
730 #define CPUSS_DMAC0_CH_NR               1u
731 /* DMA controller-1 present or not ('0': no, '1': yes) */
732 #define CPUSS_DMAC1_PRESENT             0u
733 /* Number of DMA controller-1 channels ([1, 8]) */
734 #define CPUSS_DMAC1_CH_NR               1u
735 /* Number of IPC structures. Legal range [1, 16] */
736 #define CPUSS_IPC_NR                    4u
737 /* Number of IPC interrupt structures. Legal range [1, 16] */
738 #define CPUSS_IPC_IRQ_NR                2u
739 /* Number of protection contexts supported. Legal range [3, 4, 6, 8] (CDT-336698) */
740 #define CPUSS_PC_NR                     4u
741 /* System interrupt functionality present or not ('0': no; '1': yes). Not used for
742    CM0+ PCU, which always uses system interrupt functionality. */
743 #define CPUSS_SYSTEM_IRQ_PRESENT        0u
744 /* Number of total interrupt request inputs to CPUSS */
745 #define CPUSS_SYSTEM_INT_NR             70u
746 /* Number of DeepSleep wakeup interrupt inputs to CPUSS */
747 #define CPUSS_SYSTEM_DPSLP_INT_NR       17u
748 /* Number of CPU interrupts used when SYSTEM_IRQ_PRESENT is '1'. Legal values 8,
749    16. */
750 #define CPUSS_CM33_INT_NR               8u
751 /* Individual CPU interrupts to be disabled when SYSTEM_IRQ_PRESENT is '0'. 0: To
752    enable respective interrupt-bit functionality; 1: To disable respective
753    interrupt-bit functionality; Default value {480{1'b0}} to enable all 480
754    interrupts of CM33; Example: {479{1'b0},1'b1} disables the interrupt IRQ[0]
755    of CM33 and enables all other interrupts. This parameter is NOT applicable
756    when SYSTEM_IRQ_PRESENT is '1'. */
757 #define CPUSS_CM33_IRQ_DISABLE          0u
758 /* CM33_0 Floating point unit present or not ('0': no, '1': yes) */
759 #define CPUSS_CM33_0_FPU_PRESENT        0u
760 /* CM33_0 DSP extension present or not ('0': no, '1': yes) */
761 #define CPUSS_CM33_0_DSP_PRESENT        0u
762 /* CM33_0 Security extension present or not ('0': no, '1': yes) */
763 #define CPUSS_CM33_0_SECEXT_PRESENT     0u
764 /* CM33_0 non-secure MPU regions. Legal values [0, 4, 8, 12, 16] */
765 #define CPUSS_CM33_0_MPU_NS_REGION_NR   8u
766 /* CM33_0 secure MPU regions. Legal values [0, 4, 8, 12, 16] */
767 #define CPUSS_CM33_0_MPU_S_REGION_NR    0u
768 /* CM33_0 SAU regions. Legal values [0, 4, 8] */
769 #define CPUSS_CM33_0_SAU_REGION_NR      0u
770 /* CM33_1 present or not. */
771 #define CPUSS_CM33_1_PRESENT            0u
772 /* CM33_1 Floating point unit present or not ('0': no, '1': yes) */
773 #define CPUSS_CM33_1_FPU_PRESENT        0u
774 /* CM33_1 DSP extension present or not ('0': no, '1': yes) */
775 #define CPUSS_CM33_1_DSP_PRESENT        0u
776 /* CM33_1 Security extension present or not ('0': no, '1': yes) */
777 #define CPUSS_CM33_1_SECEXT_PRESENT     0u
778 /* CM33_1 non-secure MPU regions. Legal values [0, 4, 8, 12, 16] */
779 #define CPUSS_CM33_1_MPU_NS_REGION_NR   16u
780 /* CM33_1 secure MPU regions. Legal values [0, 4, 8, 12, 16] */
781 #define CPUSS_CM33_1_MPU_S_REGION_NR    16u
782 /* CM33_1 SAU regions. Legal values [0, 4, 8] */
783 #define CPUSS_CM33_1_SAU_REGION_NR      8u
784 /* Cache RAM size in Kilo Bytes; Supported values are [8, 16, 32]. */
785 #define CPUSS_CACHE_SIZE                32u
786 /* Cache RAM ECC present or not ('0': no, '1': yes) */
787 #define CPUSS_CACHE_RAM_ECC_PRESENT     0u
788 /* Debug level. Legal range [0,3] (0= No support, 1= Minimum: CM0/4 both 2
789    breakpoints +1 watchpoint, 2= Full debug: CM0/4 have 4/6 breakpoints, 2/4
790    watchpoints and 0/2 literal compare, 3= Full debug + data matching) */
791 #define CPUSS_DEBUG_LVL                 2u
792 /* Trace level. Legal range [0,2] (0= No tracing, 1= ITM + TPIU + SWO, 2= ITM +
793    ETM + TPIU + SWO) Note: CM4 HTM is not supported. Hence vaule 3 for trace
794    level is not supported in CPUSS. */
795 #define CPUSS_TRACE_LVL                 1u
796 /* Embedded Trace Buffer present or not (0=No, 1=Yes) */
797 #define CPUSS_ETB_PRESENT               0u
798 /* PTM interface present (0=No, 1=Yes) */
799 #define CPUSS_PTM_PRESENT               0u
800 /* Width of the PTM interface in bits ([2,32]) */
801 #define CPUSS_PTM_WIDTH                 1u
802 /* Width of the TPIU interface in bits ([1,4]) */
803 #define CPUSS_TPIU_WIDTH                4u
804 /* CPUSS external CODE master interface 0 present or not on CODE infrastructure.
805    ('0': no, '1': yes). */
806 #define CPUSS_CODE_MS_0_PRESENT         0u
807 /* CPUSS external SYS master interface 0 present or not on SYS infrastructure.
808    ('0': no, '1': yes). */
809 #define CPUSS_SYS_MS_0_PRESENT          1u
810 /* CPUSS external SYS master interface 1 present or not on SYS infrastructure.
811    ('0': no, '1': yes). */
812 #define CPUSS_SYS_MS_1_PRESENT          0u
813 /* CPUSS external SYS master NVM interface 0 present or not on SYS infrastructure.
814    ('0': no, '1': yes). */
815 #define CPUSS_SYS_MS_0_NVM_PRESENT      0u
816 /* CPUSS external SYS master NVM interface 1 present or not on SYS infrastructure.
817    ('0': no, '1': yes). */
818 #define CPUSS_SYS_MS_1_NVM_PRESENT      0u
819 /* Number of external AHB5 slave interfaces connected to SYSTEM infrastructure.
820    Maximum number of slaves supported is 4. Width of this parameter is 4-bits.
821    1-bit mask for each slave indicating present or not. Example: 4'b0001 - slave
822    0 is present. */
823 #define CPUSS_SYS_SL_PRESENT            1u
824 /* Number of external EXPANSION masters driving the EXP AHB5 infrastructure.
825    Maximum number of masters supported is 8. Width of this parameter is 8-bits.
826    1-bit mask for each master indicating present or not. Example: 8'b0000_0101 -
827    master 0 & master 2 are present. */
828 #define CPUSS_EXP_MS_PRESENT            1u
829 /* The timing de-coupled AHB brdige is present or not on the output of EXP
830    infrastructure. ('0': no, '1':yes) */
831 #define CPUSS_EXP_BRIDGE_PRESENT        1u
832 /* Specifies the CODE interconnect is present or not; 0: Not present; 1: Present; */
833 #define CPUSS_CODE_INFRA_PRESENT        1u
834 /* Specifies the CODE interconnect arbitration type used for generating the RTL.
835    0: ROUND; round insert an extra cycle each time the downstream port selects a
836    new upstream port to service and must be used to avoid timing issues when
837    target frequency is >=100MHz; 1: ROUND_NOLAT; round_nolat have no such
838    latency and can be used when target frequency is <100MHz; Improves the
839    performance by reducing latency; */
840 #define CPUSS_CODE_INFRA_ARB_TYPE       1u
841 /* Specifies the SYSTEM interconnect arbitration type used for generating the RTL.
842    0: ROUND; round insert an extra cycle each time the downstream port selects a
843    new upstream port to service and must be used to avoid timing issues when
844    target frequency is >=100MHz; 1: ROUND_NOLAT; round_nolat have no such
845    latency and can be used when target frequency is <100MHz; Improves the
846    performance by reducing latency; */
847 #define CPUSS_SYSTEM_INFRA_ARB_TYPE     1u
848 /* Specifies the EXPANSION interconnect arbitration type used for generating the
849    RTL. 0: ROUND; round insert an extra cycle each time the downstream port
850    selects a new upstream port to service and must be used to avoid timing
851    issues when target frequency is >=100MHz; 1: ROUND_NOLAT; round_nolat have no
852    such latency and can be used when target frequency is <100MHz; Improves the
853    performance by reducing latency; */
854 #define CPUSS_EXP_INFRA_ARB_TYPE        1u
855 /* CoreSight Part Identification Number */
856 #define CPUSS_JEPID                     52u
857 /* CoreSight Part Identification Number */
858 #define CPUSS_JEPCONTINUATION           0u
859 /* CoreSight Part Identification Number */
860 #define CPUSS_FAMILYID                  272u
861 /* ROM trim register width (for ARM 3, for Synopsys 5, for BRCM 6) */
862 #define CPUSS_ROM_TRIM_WIDTH            5u
863 /* ROM trim register default (for both ARM and Synopsys 0x0000_0002; for BRCM
864    0x0000_0000) */
865 #define CPUSS_ROM_TRIM_DEFAULT          19u
866 /* RAM trim register width (for ARM 8, for SNPS 15, for BRCM 16) For SNPS: SRAM
867    will get its trim value from trim[15:0] and RF from trim [31:16] */
868 #define CPUSS_RAM_TRIM_WIDTH            32u
869 /* RAM trim register default (for ARM 0x0000_0062 and for Synopsys 0x0000_6012,
870    for BRCM 0x0000_0000) */
871 #define CPUSS_RAM_TRIM_DEFAULT          0x00004013u
872 /* RAM Trim control-2 register present or not; 1-present; 0-not present; Place
873    holder for S22 SRAM memories. */
874 #define CPUSS_TRIM_RAM_CTL2_PRESENT     0u
875 /* RAM trim register width Place holder for S22 SRAM memories. */
876 #define CPUSS_RAM_TRIM_WIDTH2           32u
877 /* RAM trim register default. Place holder for S22 SRAM memories. */
878 #define CPUSS_RAM_TRIM_DEFAULT2         0x00006012u
879 /* RAM Trim control-3 register present or not; 1-present; 0-not present; Place
880    holder for S22 SRAM memories. */
881 #define CPUSS_TRIM_RAM_CTL3_PRESENT     0u
882 /* RAM trim register width Place holder for S22 SRAM memories. */
883 #define CPUSS_RAM_TRIM_WIDTH3           32u
884 /* RAM trim register default. Place holder for S22 SRAM memories. */
885 #define CPUSS_RAM_TRIM_DEFAULT3         0x00006012u
886 /* RAM Trim control-4 register present or not; 1-present; 0-not present; Place
887    holder for S22 SRAM memories. */
888 #define CPUSS_TRIM_RAM_CTL4_PRESENT     0u
889 /* RAM trim register width Place holder for S22 SRAM memories. */
890 #define CPUSS_RAM_TRIM_WIDTH4           32u
891 /* RAM trim register default. Place holder for S22 SRAM memories. */
892 #define CPUSS_RAM_TRIM_DEFAULT4         0x00006012u
893 /* Specifies the CM33-0 CACHE SRAM POWER SWITCH is present or not; 0: Not present;
894    1: Present; */
895 #define CPUSS_CM33_0_CACHE_SWITCH_PRESENT 1u
896 /* Specifies the CM33-1 CACHE SRAM POWER SWITCH is present or not; 0: Not present;
897    1: Present; */
898 #define CPUSS_CM33_1_CACHE_SWITCH_PRESENT 0u
899 /* Specifies the DW-0 SRAM POWER SWITCH is present or not; 0: Not present; 1:
900    Present; */
901 #define CPUSS_DW0_SWITCH_PRESENT        0u
902 /* Specifies the DW-1 SRAM POWER SWITCH is present or not; 0: Not present; 1:
903    Present; */
904 #define CPUSS_DW1_SWITCH_PRESENT        0u
905 /* Specifies the MPC SRAM POWER SWITCH is present or not; 0: Not present; 1:
906    Present; */
907 #define CPUSS_MPC_SWITCH_PRESENT        0u
908 /* Specifies the PROMC Patch-SRAM POWER SWITCH is present or not; 0: Not present;
909    1: Present; */
910 #define CPUSS_PROMC_SWITCH_PRESENT      0u
911 /* External Crystal Oscillator is present (high frequency) */
912 #define CPUSS_ECO_PRESENT               0u
913 /* System RAM 0 size in KB */
914 #define CPUSS_CHIP_TOP_RAMC0_SIZE       256u
915 /* System RAM 1 size in kilobytes */
916 #define CPUSS_CHIP_TOP_RAMC1_SIZE       1u
917 /* System RAM 2 size in kilobytes */
918 #define CPUSS_CHIP_TOP_RAMC2_SIZE       1u
919 /* System Patchable ROM size in KB */
920 #define CPUSS_CHIP_TOP_PROMC_SIZE       64u
921 /* Flash main region size in KB */
922 #define CPUSS_CHIP_TOP_FLASH_SIZE       2048u
923 /* Flash work region size in KB (EEPROM emulation, data) */
924 #define CPUSS_CHIP_TOP_WFLASH_SIZE      32u
925 /* Flash supervisory region size in KB */
926 #define CPUSS_CHIP_TOP_SFLASH_SIZE      32u
927 /* CM4 ETB SRAM buffer size in kilobytes. Legal vaules 4, 8 or 16 */
928 #define CPUSS_CHIP_TOP_ETB_SRAM_SIZE    2u
929 /* See MMIO2 instantiation or not */
930 #define CPUSS_CHIP_TOP_PROFILER_PRESENT 0u
931 /* ETAS Calibration support pin out present (automotive only) */
932 #define CPUSS_CHIP_TOP_CAL_SUP_NZ_PRESENT 0u
933 /* TRACE_LVL>0 */
934 #define CPUSS_CHIP_TOP_TRACE_PRESENT    1u
935 /* Number of protection contexts supported. Legal range [3, 4, 6, 8] (CDT-336698) */
936 #define CPUSS_MS_CTL_STRUCT_PC_NR       4u
937 /* IP MMIO registers base address in the system address space (32-bit Byte address
938    at a 64 kB multiple). The IP MMIO registers occupy a 64 kB memory region in
939    the system address space. */
940 #define CRYPTOLITE_ADDR_BASE            0x40230000u
941 /* ECC present or not ('0': no, '1': yes). */
942 #define CRYPTOLITE_ECC_PRESENT          0u
943 /* True random number generation component support ('0': no, '1': yes). */
944 #define CRYPTOLITE_TRNG_PRESENT         1u
945 /* Vector unit component support ('0': no, '1': yes). */
946 #define CRYPTOLITE_VU_PRESENT           1u
947 /* SHA-256 hash component support ('0': no, '1': yes). */
948 #define CRYPTOLITE_SHA_PRESENT          1u
949 /* AES-128 block cipher component support ('0': no, '1': yes). */
950 #define CRYPTOLITE_AES_PRESENT          1u
951 /* Number of HFCLK roots present. Must be > 0. Must be same as set for SRSS */
952 #define DFT_NUM_HFROOT                  4u
953 /* Width of clk_occ_fast output bus (number of external OCCs) */
954 #define DFT_EXT_OCC                     0u
955 /* Number of PLLs usable as struct mode clock source (number of clk_occ_fast
956    clocks). Not expected to be more than 4 */
957 #define DFT_NUM_FASTCLK                 1u
958 /* Number of select signals to control each FASTCLK multiplexer. Not expected to
959    be more than 2 */
960 #define DFT_NUM_FASTCLK_SEL             1u
961 /* Number of MBIST controllers with corresponding mbist(pg)_done and mbist(pg)_go
962    signals. Value defined by CIC during Pass 1. */
963 #define DFT_MBIST_C_NUM                 7u
964 /* Number of LBIST controllers. One LBIST controller on top level and one LBIST
965    controller in each optional HDFT block */
966 #define DFT_LBIST_C_NUM                 1u
967 /* Number of MBISR chains. Separate chains are required for power domains that can
968    be enabled independently */
969 #define DFT_MBISR_CH_NUM                1u
970 /* Defines if (Burn-In) Monitor function is present */
971 #define DFT_MONITOR_PRESENT             1u
972 /* Defines if Mentor BISR controller is present (controls generation of control
973    and status register) */
974 #define DFT_MENTOR_BISR_PRESENT         1u
975 /* Defines if Direct MBIST Access function is present (controls generation of
976    control and status registers) */
977 #define DFT_DIRECT_MBIST_ACCESS_PRESENT 0u
978 /* Defines if DIRECT_MBIST*SEL and DIRECT_MBIST*_RESULT registers are generated
979    (only used for DIRECT_MBIST_ACCESS_PRESENT=1) */
980 #define DFT_DIRECT_MBIST_CTRL_ACCESS_PRESENT 0u
981 /* Controls generation of BIST_STEP_SEL_EN and BIST_STEP_SEL register fields
982    within DIRECT_MBIST_CTL reg (only used for DIRECT_MBIST_ACCESS_PRESENT=1) */
983 #define DFT_DIRECT_MBIST_STEP_ACCESS_PRESENT 0u
984 /* Controls generation of BIST_MEM_SEL_EN and BIST_MEM_SEL register fields within
985    DIRECT_MBIST_CTL reg (only used for DIRECT_MBIST_ACCESS_PRESENT=1) */
986 #define DFT_DIRECT_MBIST_MEM_ACCESS_PRESENT 0u
987 /* Number of HLBs with Direct MBIST Access function (only used for
988    DIRECT_MBIST_ACCESS_PRESENT=1) */
989 #define DFT_DIRECT_MBIST_BAP_NUM        1u
990 /* Maximum value of MBIST controllers connected to single BAP (only used for
991    DIRECT_MBIST_ACCESS_PRESENT=1) */
992 #define DFT_DIRECT_MBIST_CTRL_NUM       1u
993 /* local parameter: Number of MBIST controllers mapped to BISTMON_MBIST0_COMPLETED
994    register */
995 #define DFT_MBIST0_C_NUM                7u
996 /* local parameter: Number of MBIST controllers mapped to BISTMON_MBIST1_COMPLETED
997    register */
998 #define DFT_MBIST1_C_NUM                1u
999 /* local parameter: Number of MBIST controllers mapped to BISTMON_MBIST2_COMPLETED
1000    register */
1001 #define DFT_MBIST2_C_NUM                1u
1002 /* local parameter: Number of MBIST controllers mapped to BISTMON_MBIST3_COMPLETED
1003    register */
1004 #define DFT_MBIST3_C_NUM                1u
1005 /* local parameter: Number of MBIST controllers mapped to DIRECT_MBIST0_SEL and
1006    DIRECT_MBIST0_RESULT registers */
1007 #define DFT_DIRECT_MBIST0_CTRL_NUM      1u
1008 /* local parameter: Number of MBIST controllers mapped to DIRECT_MBIST1_SEL and
1009    DIRECT_MBIST1_RESULT registers */
1010 #define DFT_DIRECT_MBIST1_CTRL_NUM      1u
1011 /* local parameter: Number of MBIST controllers mapped to DIRECT_MBIST2_SEL and
1012    DIRECT_MBIST2_RESULT registers */
1013 #define DFT_DIRECT_MBIST2_CTRL_NUM      1u
1014 /* local parameter: Number of MBIST controllers mapped to DIRECT_MBIST3_SEL and
1015    DIRECT_MBIST3_RESULT registers */
1016 #define DFT_DIRECT_MBIST3_CTRL_NUM      1u
1017 /* Must be set to 1 when using this mxdft version in MXS40Sv2 devices */
1018 #define DFT_PLATFORM_MXS40SV2           1u
1019 /* Defines if VCCRET supply is generated in UPF. Must be set to 1 in MXS40S*
1020    technologies and to 0 in MXS40E */
1021 #define DFT_VCCRET_PRESENT              1u
1022 /* Defines if UPF is generated for S28 technology (1) or S40 technolgy (0) */
1023 #define DFT_TECH_S28                    0u
1024 /* Controls the polulation of the "accessed" monitor bits <IOBSC,0,MBIST,LBIST>.
1025    Default = 4'b1011 */
1026 #define DFT_POP_ACC                     10u
1027 /* Controls the polulation of the "started" monitor bits
1028    <0,FLASH_DBI,MBIST,LBIST>. Default = 4'b0111 */
1029 #define DFT_POP_START                   2u
1030 /* Controls the polulation of the "done" (completed) monitor bits
1031    <0,FLASH_DBI,MBIST,LBIST>. Default = 4'b0111 */
1032 #define DFT_POP_DONE                    2u
1033 /* Controls the polulation of the "failed" monitor bits <0,0,MBIST,LBIST>. Default
1034    = 4'b0011 */
1035 #define DFT_POP_FAIL                    2u
1036 /* Used for mxdft_tap: controls generation of logic for "TDR capture&update via
1037    MMIO" (default value is 1) */
1038 #define DFT_CAP_UP_PRESENT              0u
1039 /* Number of DataWire channels ([1, 512]) */
1040 #define DW_CH_NR                        16u
1041 /* DataWire SRAM ECC present or not ('0': no, '1': yes) */
1042 #define DW_ECC_PRESENT                  0u
1043 /* DataWire SRAM address ECC present or not ('0': no, '1': yes) */
1044 #define DW_ECC_ADDR_PRESENT             0u
1045 #define DW_CH_NR_WIDTH                  1u
1046 #define DW_CH_STRUCT_ECC_PRESENT        0u
1047 /* Number of instantiated eFUSE macros (256 bit macros). Legal range [4,8,12,16] */
1048 #define EFUSE_EFUSE_NR                  4u
1049 /* Enables limiting access to region defined by PROT_MASTER_START/END by
1050    PROT_MASTER */
1051 #define EFUSE_BLOCK_NVM_CRYPTO          0u
1052 /* Begining of region of EFUSE only accessible by master defined by PROT_MASTER. */
1053 #define EFUSE_PROT_MASTER_START         4092u
1054 /* End of region of EFUSE (last address) only accessible by master defined by
1055    PROT_MASTER. */
1056 #define EFUSE_PROT_MASTER_END           4092u
1057 /* The Master with permission to access the region defined by
1058    PROT_MASTER_START/PROT_MASTER_END */
1059 #define EFUSE_PROT_MASTER               255u
1060 /* Cache SRAM ECC present or not ('0': no, '1': yes) */
1061 #define ICACHE_ECC_PRESENT              0u
1062 /* Number of GPIO ports in range 0..31 */
1063 #define IOSS_GPIO_GPIO_PORT_NR_0_31     6u
1064 /* Number of GPIO ports in range 32..63 */
1065 #define IOSS_GPIO_GPIO_PORT_NR_32_63    0u
1066 /* Number of GPIO ports in range 64..95 */
1067 #define IOSS_GPIO_GPIO_PORT_NR_64_95    0u
1068 /* Number of GPIO ports in range 96..127 */
1069 #define IOSS_GPIO_GPIO_PORT_NR_96_127   0u
1070 /* Number of ports in device */
1071 #define IOSS_GPIO_GPIO_PORT_NR          6u
1072 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1073 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_GPIO 1u
1074 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1075 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SIO 0u
1076 /* Indicates port is an HSIO port */
1077 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_HSIO 0u
1078 /* Indicates port is a GPIO_SMC */
1079 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_GPIO_SMC 0u
1080 /* Indicates port is a HSIO_ENH */
1081 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_HSIO_ENH 0u
1082 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1083 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_AUTOLVL 0u
1084 /* Indicates port supports drive select trims */
1085 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_DS_CTRL 0u
1086 /* Indicates port supports slew extension bits */
1087 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLEW_EXT 1u
1088 /* Indicates port supports drive select extension trims */
1089 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_DRIVE_EXT 1u
1090 /* Indicates slew bit width */
1091 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLEW_WIDTH 1u
1092 /* Indicates drive bit width */
1093 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_DRIVE_WIDTH 3u
1094 /* Indicates that pin #0 exists for this port with slew control feature */
1095 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO0 0u
1096 /* Indicates that pin #1 exists for this port with slew control feature */
1097 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO1 0u
1098 /* Indicates that pin #2 exists for this port with slew control feature */
1099 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO2 0u
1100 /* Indicates that pin #3 exists for this port with slew control feature */
1101 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO3 0u
1102 /* Indicates that pin #4 exists for this port with slew control feature */
1103 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO4 0u
1104 /* Indicates that pin #5 exists for this port with slew control feature */
1105 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO5 0u
1106 /* Indicates that pin #6 exists for this port with slew control feature */
1107 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO6 0u
1108 /* Indicates that pin #7 exists for this port with slew control feature */
1109 #define IOSS_GPIO_GPIO_PORT_NR0_GPIO_PRT_SLOW_IO7 0u
1110 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1111 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_GPIO 1u
1112 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1113 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SIO 0u
1114 /* Indicates port is an HSIO port */
1115 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_HSIO 0u
1116 /* Indicates port is a GPIO_SMC */
1117 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_GPIO_SMC 0u
1118 /* Indicates port is a HSIO_ENH */
1119 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_HSIO_ENH 0u
1120 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1121 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_AUTOLVL 0u
1122 /* Indicates port supports drive select trims */
1123 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_DS_CTRL 0u
1124 /* Indicates port supports slew extension bits */
1125 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLEW_EXT 1u
1126 /* Indicates port supports drive select extension trims */
1127 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_DRIVE_EXT 1u
1128 /* Indicates slew bit width */
1129 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLEW_WIDTH 1u
1130 /* Indicates drive bit width */
1131 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_DRIVE_WIDTH 3u
1132 /* Indicates that pin #0 exists for this port with slew control feature */
1133 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO0 0u
1134 /* Indicates that pin #1 exists for this port with slew control feature */
1135 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO1 0u
1136 /* Indicates that pin #2 exists for this port with slew control feature */
1137 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO2 0u
1138 /* Indicates that pin #3 exists for this port with slew control feature */
1139 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO3 0u
1140 /* Indicates that pin #4 exists for this port with slew control feature */
1141 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO4 0u
1142 /* Indicates that pin #5 exists for this port with slew control feature */
1143 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO5 0u
1144 /* Indicates that pin #6 exists for this port with slew control feature */
1145 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO6 0u
1146 /* Indicates that pin #7 exists for this port with slew control feature */
1147 #define IOSS_GPIO_GPIO_PORT_NR1_GPIO_PRT_SLOW_IO7 0u
1148 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1149 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_GPIO 1u
1150 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1151 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SIO 0u
1152 /* Indicates port is an HSIO port */
1153 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_HSIO 1u
1154 /* Indicates port is a GPIO_SMC */
1155 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_GPIO_SMC 0u
1156 /* Indicates port is a HSIO_ENH */
1157 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_HSIO_ENH 0u
1158 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1159 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_AUTOLVL 0u
1160 /* Indicates port supports drive select trims */
1161 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_DS_CTRL 0u
1162 /* Indicates port supports slew extension bits */
1163 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLEW_EXT 1u
1164 /* Indicates port supports drive select extension trims */
1165 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_DRIVE_EXT 1u
1166 /* Indicates slew bit width */
1167 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLEW_WIDTH 1u
1168 /* Indicates drive bit width */
1169 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_DRIVE_WIDTH 3u
1170 /* Indicates that pin #0 exists for this port with slew control feature */
1171 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO0 0u
1172 /* Indicates that pin #1 exists for this port with slew control feature */
1173 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO1 0u
1174 /* Indicates that pin #2 exists for this port with slew control feature */
1175 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO2 0u
1176 /* Indicates that pin #3 exists for this port with slew control feature */
1177 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO3 0u
1178 /* Indicates that pin #4 exists for this port with slew control feature */
1179 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO4 0u
1180 /* Indicates that pin #5 exists for this port with slew control feature */
1181 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO5 0u
1182 /* Indicates that pin #6 exists for this port with slew control feature */
1183 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO6 0u
1184 /* Indicates that pin #7 exists for this port with slew control feature */
1185 #define IOSS_GPIO_GPIO_PORT_NR2_GPIO_PRT_SLOW_IO7 0u
1186 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1187 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_GPIO 1u
1188 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1189 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SIO 0u
1190 /* Indicates port is an HSIO port */
1191 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_HSIO 0u
1192 /* Indicates port is a GPIO_SMC */
1193 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_GPIO_SMC 0u
1194 /* Indicates port is a HSIO_ENH */
1195 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_HSIO_ENH 0u
1196 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1197 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_AUTOLVL 0u
1198 /* Indicates port supports drive select trims */
1199 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_DS_CTRL 0u
1200 /* Indicates port supports slew extension bits */
1201 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLEW_EXT 1u
1202 /* Indicates port supports drive select extension trims */
1203 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_DRIVE_EXT 1u
1204 /* Indicates slew bit width */
1205 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLEW_WIDTH 1u
1206 /* Indicates drive bit width */
1207 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_DRIVE_WIDTH 3u
1208 /* Indicates that pin #0 exists for this port with slew control feature */
1209 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO0 0u
1210 /* Indicates that pin #1 exists for this port with slew control feature */
1211 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO1 0u
1212 /* Indicates that pin #2 exists for this port with slew control feature */
1213 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO2 0u
1214 /* Indicates that pin #3 exists for this port with slew control feature */
1215 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO3 0u
1216 /* Indicates that pin #4 exists for this port with slew control feature */
1217 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO4 0u
1218 /* Indicates that pin #5 exists for this port with slew control feature */
1219 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO5 0u
1220 /* Indicates that pin #6 exists for this port with slew control feature */
1221 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO6 0u
1222 /* Indicates that pin #7 exists for this port with slew control feature */
1223 #define IOSS_GPIO_GPIO_PORT_NR3_GPIO_PRT_SLOW_IO7 0u
1224 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1225 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_GPIO 1u
1226 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1227 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SIO 0u
1228 /* Indicates port is an HSIO port */
1229 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_HSIO 0u
1230 /* Indicates port is a GPIO_SMC */
1231 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_GPIO_SMC 0u
1232 /* Indicates port is a HSIO_ENH */
1233 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_HSIO_ENH 0u
1234 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1235 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_AUTOLVL 0u
1236 /* Indicates port supports drive select trims */
1237 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_DS_CTRL 0u
1238 /* Indicates port supports slew extension bits */
1239 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLEW_EXT 1u
1240 /* Indicates port supports drive select extension trims */
1241 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_DRIVE_EXT 1u
1242 /* Indicates slew bit width */
1243 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLEW_WIDTH 1u
1244 /* Indicates drive bit width */
1245 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_DRIVE_WIDTH 3u
1246 /* Indicates that pin #0 exists for this port with slew control feature */
1247 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO0 1u
1248 /* Indicates that pin #1 exists for this port with slew control feature */
1249 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO1 1u
1250 /* Indicates that pin #2 exists for this port with slew control feature */
1251 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO2 0u
1252 /* Indicates that pin #3 exists for this port with slew control feature */
1253 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO3 0u
1254 /* Indicates that pin #4 exists for this port with slew control feature */
1255 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO4 0u
1256 /* Indicates that pin #5 exists for this port with slew control feature */
1257 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO5 0u
1258 /* Indicates that pin #6 exists for this port with slew control feature */
1259 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO6 0u
1260 /* Indicates that pin #7 exists for this port with slew control feature */
1261 #define IOSS_GPIO_GPIO_PORT_NR4_GPIO_PRT_SLOW_IO7 0u
1262 /* Indicates port is either GPIO or SIO (i.e. all GPIO registers present) */
1263 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_GPIO 1u
1264 /* Indicates port is an SIO port (i.e. both GPIO and SIO registers present) */
1265 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SIO 0u
1266 /* Indicates port is an HSIO port */
1267 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_HSIO 0u
1268 /* Indicates port is a GPIO_SMC */
1269 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_GPIO_SMC 0u
1270 /* Indicates port is a HSIO_ENH */
1271 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_HSIO_ENH 0u
1272 /* Indicates port is a GPIO port including the "AUTO" input threshold */
1273 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_AUTOLVL 0u
1274 /* Indicates port supports drive select trims */
1275 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_DS_CTRL 0u
1276 /* Indicates port supports slew extension bits */
1277 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLEW_EXT 1u
1278 /* Indicates port supports drive select extension trims */
1279 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_DRIVE_EXT 1u
1280 /* Indicates slew bit width */
1281 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLEW_WIDTH 1u
1282 /* Indicates drive bit width */
1283 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_DRIVE_WIDTH 3u
1284 /* Indicates that pin #0 exists for this port with slew control feature */
1285 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO0 0u
1286 /* Indicates that pin #1 exists for this port with slew control feature */
1287 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO1 0u
1288 /* Indicates that pin #2 exists for this port with slew control feature */
1289 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO2 0u
1290 /* Indicates that pin #3 exists for this port with slew control feature */
1291 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO3 0u
1292 /* Indicates that pin #4 exists for this port with slew control feature */
1293 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO4 0u
1294 /* Indicates that pin #5 exists for this port with slew control feature */
1295 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO5 0u
1296 /* Indicates that pin #6 exists for this port with slew control feature */
1297 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO6 0u
1298 /* Indicates that pin #7 exists for this port with slew control feature */
1299 #define IOSS_GPIO_GPIO_PORT_NR5_GPIO_PRT_SLOW_IO7 0u
1300 /* Power Switch exists */
1301 #define IOSS_GPIO_PWRSW                 0u
1302 /* Number of AMUX splitter cells */
1303 #define IOSS_HSIOM_AMUX_SPLIT_NR        0u
1304 /* Number of HSIOM ports in device (same as GPIO.GPIO_PRT_NR) */
1305 #define IOSS_HSIOM_HSIOM_PORT_NR        6u
1306 /* Number of PWR/GND MONITOR CELLs in the device */
1307 #define IOSS_HSIOM_MONITOR_NR           0u
1308 /* Number of PWR/GND MONITOR CELLs in range 0..31 */
1309 #define IOSS_HSIOM_MONITOR_NR_0_31      0u
1310 /* Number of PWR/GND MONITOR CELLs in range 32..63 */
1311 #define IOSS_HSIOM_MONITOR_NR_32_63     0u
1312 /* Number of PWR/GND MONITOR CELLs in range 64..95 */
1313 #define IOSS_HSIOM_MONITOR_NR_64_95     0u
1314 /* Number of PWR/GND MONITOR CELLs in range 96..127 */
1315 #define IOSS_HSIOM_MONITOR_NR_96_127    0u
1316 /* Number of HSIOM ports in device (same as GPIO.GPIO_PRT_NR) */
1317 #define IOSS_HSIOM_HSIOM_SEC_PORT_NR    0u
1318 /* Mask of SMARTIO instances presence */
1319 #define IOSS_SMARTIO_SMARTIO_MASK       8u
1320 /* Page size in # of 32-bit words (1: 4 bytes, 2: 8 bytes, ... */
1321 #define IPC_PA_SIZE                     32u
1322 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
1323 #define IPC_MASTER_WIDTH                6u
1324 #define IPC_IPC_NR                      4u
1325 #define IPC_IPC_IRQ_NR                  2u
1326 /* Number of LIN channels ([2, 32]). For test functionality (two channels are
1327    connected), the minimal number of LIN channels is 2. */
1328 #define LIN_CH_NR                       2u
1329 /* Number of AHB5 "hmaster[]" bits ([1, 8]). */
1330 #define LIN_MASTER_WIDTH                6u
1331 /* 0=ULL65, 1=MXS40-ULP, 2=MXS40E, 3=M0S8, 4=MXS40-HD, 5=F45, 6=MXS40v2, 7=T28HPM,
1332    8=T28HPL, 9=T28HPC */
1333 #define LIN_CHIP_TOP_PLATFORM_VARIANT   6u
1334 /* CM33[0] should be 0, CM33[1] should have 1 */
1335 #define MXCM33_CPU_WAIT_DEFAULT         0u
1336 /* Number of CPU interrupts used when SYSTEM_IRQ_PRESENT is '1'. Legal values 8,
1337    16. */
1338 #define MXCM33_CM33_INT_NR              8u
1339 /* IRQ expander present ('0': no, '1': yes) */
1340 #define MXCM33_SYSTEM_IRQ_PRESENT       0u
1341 /* CM33[0] should be 1, CM33[1] should have 0 */
1342 #define MXCM33_PC_MON_PRESENT           1u
1343 /* Number of system interrupt inputs to CPUSS */
1344 #define MXCM33_SYSTEM_INT_NR            70u
1345 /* TrustZone security extention present or not */
1346 #define MXCM33_SECEXT                   0u
1347 /* FPU extention present or not */
1348 #define MXCM33_FPU_PRESENT              0u
1349 /* DSP extention present or not */
1350 #define MXCM33_DSP_PRESENT              0u
1351 /* AHB5 master bus width */
1352 #define MXKEYSCAN_AHB_MASTER_WIDTH      6u
1353 /* AHB5 data bus width */
1354 #define MXKEYSCAN_AHB_DATA_WIDTH        32u
1355 /* AHB5 address bus width */
1356 #define MXKEYSCAN_AHB_ADDR_WIDTH        12u
1357 /* AHB5 user bus width */
1358 #define MXKEYSCAN_AHB_USER_WIDTH        4u
1359 /* AHB5 prot bus width */
1360 #define MXKEYSCAN_AHB_PROT_WIDTH        7u
1361 /* Number of keyboard rows as input */
1362 #define MXKEYSCAN_NUM_ROWS_IN           8u
1363 /* Number of keyboard columns as output */
1364 #define MXKEYSCAN_NUM_COLS_OUT          18u
1365 /* CELL VT selection for ACTIVE Domain */
1366 #define MXKEYSCAN_CELL_VT_TYPE_ACTIVE   1u
1367 /* CELL VT selection DEEEPSLEEP Domain */
1368 #define MXKEYSCAN_CELL_VT_TYPE_DPSLP    0u
1369 /* Number of PDM structures ({2, 4, 6, 8}]). */
1370 #define PDM_NR                          2u
1371 /* Master interface presence mask (4 bits) */
1372 #define PERI_MS_PRESENT                 3u
1373 /* Clock control functionality present ('0': no, '1': yes) */
1374 #define PERI_GROUP_PRESENT0_PERI_GROUP_CLOCK_PRESENT 0u
1375 /* Default value for SL_CTL register value on POR. Group-0 it is 32'hFFFF_FFFF
1376    Group-1 to Group-15 it is 32'h000_0000 */
1377 #define PERI_GROUP_PRESENT0_PERI_GROUP_SL_CTL_DEFAULT 0xFFFFFFFFu
1378 /* Clock control functionality present ('0': no, '1': yes) */
1379 #define PERI_GROUP_PRESENT1_PERI_GROUP_CLOCK_PRESENT 1u
1380 /* Default value for SL_CTL register value on POR. Group-0 it is 32'hFFFF_FFFF
1381    Group-1 to Group-15 it is 32'h000_0000 */
1382 #define PERI_GROUP_PRESENT1_PERI_GROUP_SL_CTL_DEFAULT 0u
1383 /* Clock control functionality present ('0': no, '1': yes) */
1384 #define PERI_GROUP_PRESENT2_PERI_GROUP_CLOCK_PRESENT 1u
1385 /* Default value for SL_CTL register value on POR. Group-0 it is 32'hFFFF_FFFF
1386    Group-1 to Group-15 it is 32'h000_0000 */
1387 #define PERI_GROUP_PRESENT2_PERI_GROUP_SL_CTL_DEFAULT 0u
1388 /* Clock control functionality present ('0': no, '1': yes) */
1389 #define PERI_GROUP_PRESENT3_PERI_GROUP_CLOCK_PRESENT 0u
1390 /* Default value for SL_CTL register value on POR. Group-0 it is 32'hFFFF_FFFF
1391    Group-1 to Group-15 it is 32'h000_0000 */
1392 #define PERI_GROUP_PRESENT3_PERI_GROUP_SL_CTL_DEFAULT 0u
1393 /* Number of asynchronous PCLK groups */
1394 #define PERI_PCLK_GROUP_NR              7u
1395 /* Defines the width of INTR_AHB_ERROR.AHB_ERROR_VIO register width based on
1396    number of peripheral groups enabled and AHB error reporting is enabled
1397    (AHB_ERROR_PRESENT==1) */
1398 #define PERI_GROUP_AHB_ERROR_WIDTH      4u
1399 /* Defines the width of INTR_AHB_ERROR.TIMEOUT_VIO register width based on number
1400    of peripheral groups present and timeout error reporting logic is present
1401    (TIMEOUT_PRESENT==1). Note that group-0 is excluded from timeout reporting,
1402    so max width is 15 (group-1 to group-15). */
1403 #define PERI_GROUP_TIMEOUT_WIDTH        3u
1404 /* Timeout functionality present ('0': no, '1': yes) */
1405 #define PERI_TIMEOUT_PRESENT            1u
1406 /* AHB ERROR response reporting present ('0': no, '1':yes) */
1407 #define PERI_AHB_ERROR_PRESENT          1u
1408 /* Trigger module present ('0': no, '1': yes) */
1409 #define PERI_TR                         1u
1410 /* Number of trigger groups */
1411 #define PERI_TR_GROUP_NR                10u
1412 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1413 #define PERI_TR_GROUP_NR0_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1414 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1415 #define PERI_TR_GROUP_NR1_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1416 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1417 #define PERI_TR_GROUP_NR2_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1418 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1419 #define PERI_TR_GROUP_NR3_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1420 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1421 #define PERI_TR_GROUP_NR4_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1422 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1423 #define PERI_TR_GROUP_NR5_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1424 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1425 #define PERI_TR_GROUP_NR6_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1426 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1427 #define PERI_TR_GROUP_NR7_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1428 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1429 #define PERI_TR_GROUP_NR8_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1430 /* Trigger group trigger manipulation logic present ('0': no, '1': yes) */
1431 #define PERI_TR_GROUP_NR9_TR_GROUP_TR_MANIPULATION_PRESENT 1u
1432 /* 1-to-1 group trigger manipulation logic present ('0': no, '1': yes) */
1433 #define PERI_TR_1TO1_GROUP_NR0_TR_1TO1_GROUP_TR_1TO1_MANIPULATION_PRESENT 1u
1434 /* 1-to-1 group trigger manipulation logic present ('0': no, '1': yes) */
1435 #define PERI_TR_1TO1_GROUP_NR1_TR_1TO1_GROUP_TR_1TO1_MANIPULATION_PRESENT 1u
1436 /* 1-to-1 group trigger manipulation logic present ('0': no, '1': yes) */
1437 #define PERI_TR_1TO1_GROUP_NR2_TR_1TO1_GROUP_TR_1TO1_MANIPULATION_PRESENT 1u
1438 /* 1-to-1 group trigger manipulation logic present ('0': no, '1': yes) */
1439 #define PERI_TR_1TO1_GROUP_NR3_TR_1TO1_GROUP_TR_1TO1_MANIPULATION_PRESENT 1u
1440 /* 1-to-1 group trigger manipulation logic present ('0': no, '1': yes) */
1441 #define PERI_TR_1TO1_GROUP_NR4_TR_1TO1_GROUP_TR_1TO1_MANIPULATION_PRESENT 1u
1442 /* Divider number width: max(1,roundup(log2(max(DIV_*_NR))) */
1443 #define PERI_GR_DIV_ADDR_WIDTH          4u
1444 /* Number of asynchronous PCLK groups */
1445 #define PERI_PERI_PCLK_PCLK_GROUP_NR    7u
1446 /* Number of 8.0 dividers */
1447 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_8_VECT 0u
1448 /* Number of 16.0 dividers */
1449 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_VECT 0u
1450 /* Number of 16.5 (fractional) dividers */
1451 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_16_5_VECT 0u
1452 /* Number of 24.5 (fractional) dividers */
1453 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_DIV_24_5_VECT 1u
1454 /* Number of programmable clocks [1, 256] */
1455 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_CLOCK_VECT 1u
1456 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1457 #define PERI_PERI_PCLK_PCLK_GROUP_NR0_GR_PCLK_DIV_PRESENT 1u
1458 /* Number of 8.0 dividers */
1459 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_8_VECT 5u
1460 /* Number of 16.0 dividers */
1461 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_VECT 4u
1462 /* Number of 16.5 (fractional) dividers */
1463 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_16_5_VECT 2u
1464 /* Number of 24.5 (fractional) dividers */
1465 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_DIV_24_5_VECT 1u
1466 /* Number of programmable clocks [1, 256] */
1467 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_CLOCK_VECT 16u
1468 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1469 #define PERI_PERI_PCLK_PCLK_GROUP_NR1_GR_PCLK_DIV_PRESENT 1u
1470 /* Number of 8.0 dividers */
1471 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_8_VECT 0u
1472 /* Number of 16.0 dividers */
1473 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_VECT 0u
1474 /* Number of 16.5 (fractional) dividers */
1475 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_16_5_VECT 0u
1476 /* Number of 24.5 (fractional) dividers */
1477 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_DIV_24_5_VECT 0u
1478 /* Number of programmable clocks [1, 256] */
1479 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_CLOCK_VECT 0u
1480 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1481 #define PERI_PERI_PCLK_PCLK_GROUP_NR2_GR_PCLK_DIV_PRESENT 0u
1482 /* Number of 8.0 dividers */
1483 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_8_VECT 0u
1484 /* Number of 16.0 dividers */
1485 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_VECT 0u
1486 /* Number of 16.5 (fractional) dividers */
1487 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_16_5_VECT 2u
1488 /* Number of 24.5 (fractional) dividers */
1489 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_DIV_24_5_VECT 0u
1490 /* Number of programmable clocks [1, 256] */
1491 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_CLOCK_VECT 2u
1492 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1493 #define PERI_PERI_PCLK_PCLK_GROUP_NR3_GR_PCLK_DIV_PRESENT 1u
1494 /* Number of 8.0 dividers */
1495 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_8_VECT 0u
1496 /* Number of 16.0 dividers */
1497 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_VECT 0u
1498 /* Number of 16.5 (fractional) dividers */
1499 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_16_5_VECT 0u
1500 /* Number of 24.5 (fractional) dividers */
1501 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_DIV_24_5_VECT 0u
1502 /* Number of programmable clocks [1, 256] */
1503 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_CLOCK_VECT 0u
1504 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1505 #define PERI_PERI_PCLK_PCLK_GROUP_NR4_GR_PCLK_DIV_PRESENT 0u
1506 /* Number of 8.0 dividers */
1507 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_8_VECT 0u
1508 /* Number of 16.0 dividers */
1509 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_VECT 0u
1510 /* Number of 16.5 (fractional) dividers */
1511 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_16_5_VECT 0u
1512 /* Number of 24.5 (fractional) dividers */
1513 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_DIV_24_5_VECT 0u
1514 /* Number of programmable clocks [1, 256] */
1515 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_CLOCK_VECT 0u
1516 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1517 #define PERI_PERI_PCLK_PCLK_GROUP_NR5_GR_PCLK_DIV_PRESENT 0u
1518 /* Number of 8.0 dividers */
1519 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_8_VECT 0u
1520 /* Number of 16.0 dividers */
1521 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_VECT 0u
1522 /* Number of 16.5 (fractional) dividers */
1523 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_16_5_VECT 0u
1524 /* Number of 24.5 (fractional) dividers */
1525 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_DIV_24_5_VECT 0u
1526 /* Number of programmable clocks [1, 256] */
1527 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_CLOCK_VECT 0u
1528 /* If Direct Clocks PCLK DIVIDER would be zero, other wise 1 */
1529 #define PERI_PERI_PCLK_PCLK_GROUP_NR6_GR_PCLK_DIV_PRESENT 0u
1530 /* Number of protection contexts supported. Legal range [3, 4, 6, 8] (CDT-336698) */
1531 #define PERI_PPC_PC_NR                  4u
1532 /* Security extension present ('0': no, '1': yes) */
1533 #define PERI_PPC_SECEXT                 0u
1534 /* Security Aware */
1535 #define PERI_PPC_PPC_NR0_SECURITY_AWARE 0u
1536 /* Security Aware */
1537 #define PERI_PPC_PPC_NR1_SECURITY_AWARE 0u
1538 /* Security Aware */
1539 #define PERI_PPC_PPC_NR2_SECURITY_AWARE 0u
1540 /* Security Aware */
1541 #define PERI_PPC_PPC_NR3_SECURITY_AWARE 0u
1542 /* Security Aware */
1543 #define PERI_PPC_PPC_NR4_SECURITY_AWARE 0u
1544 /* Security Aware */
1545 #define PERI_PPC_PPC_NR5_SECURITY_AWARE 0u
1546 /* Security Aware */
1547 #define PERI_PPC_PPC_NR6_SECURITY_AWARE 0u
1548 /* Security Aware */
1549 #define PERI_PPC_PPC_NR7_SECURITY_AWARE 0u
1550 /* Security Aware */
1551 #define PERI_PPC_PPC_NR8_SECURITY_AWARE 0u
1552 /* Security Aware */
1553 #define PERI_PPC_PPC_NR9_SECURITY_AWARE 0u
1554 /* Security Aware */
1555 #define PERI_PPC_PPC_NR10_SECURITY_AWARE 0u
1556 /* Security Aware */
1557 #define PERI_PPC_PPC_NR11_SECURITY_AWARE 0u
1558 /* Security Aware */
1559 #define PERI_PPC_PPC_NR12_SECURITY_AWARE 0u
1560 /* Security Aware */
1561 #define PERI_PPC_PPC_NR13_SECURITY_AWARE 0u
1562 /* Security Aware */
1563 #define PERI_PPC_PPC_NR14_SECURITY_AWARE 0u
1564 /* Security Aware */
1565 #define PERI_PPC_PPC_NR15_SECURITY_AWARE 0u
1566 /* Security Aware */
1567 #define PERI_PPC_PPC_NR16_SECURITY_AWARE 0u
1568 /* Security Aware */
1569 #define PERI_PPC_PPC_NR17_SECURITY_AWARE 0u
1570 /* Security Aware */
1571 #define PERI_PPC_PPC_NR18_SECURITY_AWARE 0u
1572 /* Security Aware */
1573 #define PERI_PPC_PPC_NR19_SECURITY_AWARE 0u
1574 /* Security Aware */
1575 #define PERI_PPC_PPC_NR20_SECURITY_AWARE 0u
1576 /* Security Aware */
1577 #define PERI_PPC_PPC_NR21_SECURITY_AWARE 0u
1578 /* Security Aware */
1579 #define PERI_PPC_PPC_NR22_SECURITY_AWARE 0u
1580 /* Security Aware */
1581 #define PERI_PPC_PPC_NR23_SECURITY_AWARE 0u
1582 /* Security Aware */
1583 #define PERI_PPC_PPC_NR24_SECURITY_AWARE 0u
1584 /* Security Aware */
1585 #define PERI_PPC_PPC_NR25_SECURITY_AWARE 0u
1586 /* Security Aware */
1587 #define PERI_PPC_PPC_NR26_SECURITY_AWARE 0u
1588 /* Security Aware */
1589 #define PERI_PPC_PPC_NR27_SECURITY_AWARE 0u
1590 /* Security Aware */
1591 #define PERI_PPC_PPC_NR28_SECURITY_AWARE 0u
1592 /* Security Aware */
1593 #define PERI_PPC_PPC_NR29_SECURITY_AWARE 0u
1594 /* Security Aware */
1595 #define PERI_PPC_PPC_NR30_SECURITY_AWARE 0u
1596 /* Security Aware */
1597 #define PERI_PPC_PPC_NR31_SECURITY_AWARE 0u
1598 /* Security Aware */
1599 #define PERI_PPC_PPC_NR32_SECURITY_AWARE 0u
1600 /* Security Aware */
1601 #define PERI_PPC_PPC_NR33_SECURITY_AWARE 0u
1602 /* Security Aware */
1603 #define PERI_PPC_PPC_NR34_SECURITY_AWARE 0u
1604 /* Security Aware */
1605 #define PERI_PPC_PPC_NR35_SECURITY_AWARE 0u
1606 /* Security Aware */
1607 #define PERI_PPC_PPC_NR36_SECURITY_AWARE 0u
1608 /* Security Aware */
1609 #define PERI_PPC_PPC_NR37_SECURITY_AWARE 0u
1610 /* Security Aware */
1611 #define PERI_PPC_PPC_NR38_SECURITY_AWARE 0u
1612 /* Security Aware */
1613 #define PERI_PPC_PPC_NR39_SECURITY_AWARE 0u
1614 /* Security Aware */
1615 #define PERI_PPC_PPC_NR40_SECURITY_AWARE 0u
1616 /* Security Aware */
1617 #define PERI_PPC_PPC_NR41_SECURITY_AWARE 0u
1618 /* Security Aware */
1619 #define PERI_PPC_PPC_NR42_SECURITY_AWARE 0u
1620 /* Security Aware */
1621 #define PERI_PPC_PPC_NR43_SECURITY_AWARE 0u
1622 /* Security Aware */
1623 #define PERI_PPC_PPC_NR44_SECURITY_AWARE 0u
1624 /* Security Aware */
1625 #define PERI_PPC_PPC_NR45_SECURITY_AWARE 0u
1626 /* Security Aware */
1627 #define PERI_PPC_PPC_NR46_SECURITY_AWARE 0u
1628 /* Security Aware */
1629 #define PERI_PPC_PPC_NR47_SECURITY_AWARE 0u
1630 /* Security Aware */
1631 #define PERI_PPC_PPC_NR48_SECURITY_AWARE 0u
1632 /* Security Aware */
1633 #define PERI_PPC_PPC_NR49_SECURITY_AWARE 0u
1634 /* Security Aware */
1635 #define PERI_PPC_PPC_NR50_SECURITY_AWARE 0u
1636 /* Security Aware */
1637 #define PERI_PPC_PPC_NR51_SECURITY_AWARE 0u
1638 /* Security Aware */
1639 #define PERI_PPC_PPC_NR52_SECURITY_AWARE 0u
1640 /* Security Aware */
1641 #define PERI_PPC_PPC_NR53_SECURITY_AWARE 0u
1642 /* Security Aware */
1643 #define PERI_PPC_PPC_NR54_SECURITY_AWARE 0u
1644 /* Security Aware */
1645 #define PERI_PPC_PPC_NR55_SECURITY_AWARE 0u
1646 /* Security Aware */
1647 #define PERI_PPC_PPC_NR56_SECURITY_AWARE 0u
1648 /* Security Aware */
1649 #define PERI_PPC_PPC_NR57_SECURITY_AWARE 0u
1650 /* Security Aware */
1651 #define PERI_PPC_PPC_NR58_SECURITY_AWARE 0u
1652 /* Security Aware */
1653 #define PERI_PPC_PPC_NR59_SECURITY_AWARE 0u
1654 /* Security Aware */
1655 #define PERI_PPC_PPC_NR60_SECURITY_AWARE 0u
1656 /* Security Aware */
1657 #define PERI_PPC_PPC_NR61_SECURITY_AWARE 0u
1658 /* Security Aware */
1659 #define PERI_PPC_PPC_NR62_SECURITY_AWARE 0u
1660 /* Security Aware */
1661 #define PERI_PPC_PPC_NR63_SECURITY_AWARE 0u
1662 /* Security Aware */
1663 #define PERI_PPC_PPC_NR64_SECURITY_AWARE 0u
1664 /* Security Aware */
1665 #define PERI_PPC_PPC_NR65_SECURITY_AWARE 1u
1666 /* Security Aware */
1667 #define PERI_PPC_PPC_NR66_SECURITY_AWARE 1u
1668 /* Security Aware */
1669 #define PERI_PPC_PPC_NR67_SECURITY_AWARE 1u
1670 /* Security Aware */
1671 #define PERI_PPC_PPC_NR68_SECURITY_AWARE 1u
1672 /* Security Aware */
1673 #define PERI_PPC_PPC_NR69_SECURITY_AWARE 1u
1674 /* Security Aware */
1675 #define PERI_PPC_PPC_NR70_SECURITY_AWARE 1u
1676 /* Security Aware */
1677 #define PERI_PPC_PPC_NR71_SECURITY_AWARE 0u
1678 /* Security Aware */
1679 #define PERI_PPC_PPC_NR72_SECURITY_AWARE 0u
1680 /* Security Aware */
1681 #define PERI_PPC_PPC_NR73_SECURITY_AWARE 0u
1682 /* Security Aware */
1683 #define PERI_PPC_PPC_NR74_SECURITY_AWARE 0u
1684 /* Security Aware */
1685 #define PERI_PPC_PPC_NR75_SECURITY_AWARE 0u
1686 /* Security Aware */
1687 #define PERI_PPC_PPC_NR76_SECURITY_AWARE 0u
1688 /* Security Aware */
1689 #define PERI_PPC_PPC_NR77_SECURITY_AWARE 0u
1690 /* Security Aware */
1691 #define PERI_PPC_PPC_NR78_SECURITY_AWARE 0u
1692 /* Security Aware */
1693 #define PERI_PPC_PPC_NR79_SECURITY_AWARE 0u
1694 /* Security Aware */
1695 #define PERI_PPC_PPC_NR80_SECURITY_AWARE 0u
1696 /* Security Aware */
1697 #define PERI_PPC_PPC_NR81_SECURITY_AWARE 0u
1698 /* Security Aware */
1699 #define PERI_PPC_PPC_NR82_SECURITY_AWARE 0u
1700 /* Security Aware */
1701 #define PERI_PPC_PPC_NR83_SECURITY_AWARE 0u
1702 /* Security Aware */
1703 #define PERI_PPC_PPC_NR84_SECURITY_AWARE 0u
1704 /* Security Aware */
1705 #define PERI_PPC_PPC_NR85_SECURITY_AWARE 0u
1706 /* Security Aware */
1707 #define PERI_PPC_PPC_NR86_SECURITY_AWARE 1u
1708 /* Security Aware */
1709 #define PERI_PPC_PPC_NR87_SECURITY_AWARE 1u
1710 /* Security Aware */
1711 #define PERI_PPC_PPC_NR88_SECURITY_AWARE 1u
1712 /* Security Aware */
1713 #define PERI_PPC_PPC_NR89_SECURITY_AWARE 1u
1714 /* Security Aware */
1715 #define PERI_PPC_PPC_NR90_SECURITY_AWARE 1u
1716 /* Security Aware */
1717 #define PERI_PPC_PPC_NR91_SECURITY_AWARE 1u
1718 /* Security Aware */
1719 #define PERI_PPC_PPC_NR92_SECURITY_AWARE 1u
1720 /* Security Aware */
1721 #define PERI_PPC_PPC_NR93_SECURITY_AWARE 1u
1722 /* Security Aware */
1723 #define PERI_PPC_PPC_NR94_SECURITY_AWARE 1u
1724 /* Security Aware */
1725 #define PERI_PPC_PPC_NR95_SECURITY_AWARE 1u
1726 /* Security Aware */
1727 #define PERI_PPC_PPC_NR96_SECURITY_AWARE 1u
1728 /* Security Aware */
1729 #define PERI_PPC_PPC_NR97_SECURITY_AWARE 1u
1730 /* Security Aware */
1731 #define PERI_PPC_PPC_NR98_SECURITY_AWARE 1u
1732 /* Security Aware */
1733 #define PERI_PPC_PPC_NR99_SECURITY_AWARE 1u
1734 /* Security Aware */
1735 #define PERI_PPC_PPC_NR100_SECURITY_AWARE 1u
1736 /* Security Aware */
1737 #define PERI_PPC_PPC_NR101_SECURITY_AWARE 1u
1738 /* Security Aware */
1739 #define PERI_PPC_PPC_NR102_SECURITY_AWARE 1u
1740 /* Security Aware */
1741 #define PERI_PPC_PPC_NR103_SECURITY_AWARE 1u
1742 /* Security Aware */
1743 #define PERI_PPC_PPC_NR104_SECURITY_AWARE 1u
1744 /* Security Aware */
1745 #define PERI_PPC_PPC_NR105_SECURITY_AWARE 1u
1746 /* Security Aware */
1747 #define PERI_PPC_PPC_NR106_SECURITY_AWARE 1u
1748 /* Security Aware */
1749 #define PERI_PPC_PPC_NR107_SECURITY_AWARE 0u
1750 /* Security Aware */
1751 #define PERI_PPC_PPC_NR108_SECURITY_AWARE 0u
1752 /* Security Aware */
1753 #define PERI_PPC_PPC_NR109_SECURITY_AWARE 0u
1754 /* Security Aware */
1755 #define PERI_PPC_PPC_NR110_SECURITY_AWARE 0u
1756 /* Security Aware */
1757 #define PERI_PPC_PPC_NR111_SECURITY_AWARE 0u
1758 /* Security Aware */
1759 #define PERI_PPC_PPC_NR112_SECURITY_AWARE 0u
1760 /* Security Aware */
1761 #define PERI_PPC_PPC_NR113_SECURITY_AWARE 0u
1762 /* Security Aware */
1763 #define PERI_PPC_PPC_NR114_SECURITY_AWARE 0u
1764 /* Security Aware */
1765 #define PERI_PPC_PPC_NR115_SECURITY_AWARE 0u
1766 /* Security Aware */
1767 #define PERI_PPC_PPC_NR116_SECURITY_AWARE 0u
1768 /* Security Aware */
1769 #define PERI_PPC_PPC_NR117_SECURITY_AWARE 0u
1770 /* Security Aware */
1771 #define PERI_PPC_PPC_NR118_SECURITY_AWARE 0u
1772 /* Security Aware */
1773 #define PERI_PPC_PPC_NR119_SECURITY_AWARE 0u
1774 /* Security Aware */
1775 #define PERI_PPC_PPC_NR120_SECURITY_AWARE 0u
1776 /* Security Aware */
1777 #define PERI_PPC_PPC_NR121_SECURITY_AWARE 0u
1778 /* Security Aware */
1779 #define PERI_PPC_PPC_NR122_SECURITY_AWARE 0u
1780 /* Security Aware */
1781 #define PERI_PPC_PPC_NR123_SECURITY_AWARE 0u
1782 /* Security Aware */
1783 #define PERI_PPC_PPC_NR124_SECURITY_AWARE 0u
1784 /* Security Aware */
1785 #define PERI_PPC_PPC_NR125_SECURITY_AWARE 0u
1786 /* Security Aware */
1787 #define PERI_PPC_PPC_NR126_SECURITY_AWARE 0u
1788 /* Security Aware */
1789 #define PERI_PPC_PPC_NR127_SECURITY_AWARE 0u
1790 /* Security Aware */
1791 #define PERI_PPC_PPC_NR128_SECURITY_AWARE 0u
1792 /* Security Aware */
1793 #define PERI_PPC_PPC_NR129_SECURITY_AWARE 0u
1794 /* Security Aware */
1795 #define PERI_PPC_PPC_NR130_SECURITY_AWARE 0u
1796 /* Security Aware */
1797 #define PERI_PPC_PPC_NR131_SECURITY_AWARE 0u
1798 /* Security Aware */
1799 #define PERI_PPC_PPC_NR132_SECURITY_AWARE 0u
1800 /* Security Aware */
1801 #define PERI_PPC_PPC_NR133_SECURITY_AWARE 0u
1802 /* Security Aware */
1803 #define PERI_PPC_PPC_NR134_SECURITY_AWARE 0u
1804 /* Security Aware */
1805 #define PERI_PPC_PPC_NR135_SECURITY_AWARE 0u
1806 /* Security Aware */
1807 #define PERI_PPC_PPC_NR136_SECURITY_AWARE 0u
1808 /* Security Aware */
1809 #define PERI_PPC_PPC_NR137_SECURITY_AWARE 0u
1810 /* Security Aware */
1811 #define PERI_PPC_PPC_NR138_SECURITY_AWARE 0u
1812 /* Security Aware */
1813 #define PERI_PPC_PPC_NR139_SECURITY_AWARE 0u
1814 /* Security Aware */
1815 #define PERI_PPC_PPC_NR140_SECURITY_AWARE 0u
1816 /* Security Aware */
1817 #define PERI_PPC_PPC_NR141_SECURITY_AWARE 0u
1818 /* Security Aware */
1819 #define PERI_PPC_PPC_NR142_SECURITY_AWARE 0u
1820 /* Security Aware */
1821 #define PERI_PPC_PPC_NR143_SECURITY_AWARE 0u
1822 /* Security Aware */
1823 #define PERI_PPC_PPC_NR144_SECURITY_AWARE 0u
1824 /* Security Aware */
1825 #define PERI_PPC_PPC_NR145_SECURITY_AWARE 0u
1826 /* Security Aware */
1827 #define PERI_PPC_PPC_NR146_SECURITY_AWARE 0u
1828 /* Security Aware */
1829 #define PERI_PPC_PPC_NR147_SECURITY_AWARE 0u
1830 /* Security Aware */
1831 #define PERI_PPC_PPC_NR148_SECURITY_AWARE 0u
1832 /* Security Aware */
1833 #define PERI_PPC_PPC_NR149_SECURITY_AWARE 0u
1834 /* Security Aware */
1835 #define PERI_PPC_PPC_NR150_SECURITY_AWARE 0u
1836 /* Security Aware */
1837 #define PERI_PPC_PPC_NR151_SECURITY_AWARE 0u
1838 /* Security Aware */
1839 #define PERI_PPC_PPC_NR152_SECURITY_AWARE 0u
1840 /* Security Aware */
1841 #define PERI_PPC_PPC_NR153_SECURITY_AWARE 0u
1842 /* Security Aware */
1843 #define PERI_PPC_PPC_NR154_SECURITY_AWARE 0u
1844 /* Security Aware */
1845 #define PERI_PPC_PPC_NR155_SECURITY_AWARE 0u
1846 /* Security Aware */
1847 #define PERI_PPC_PPC_NR156_SECURITY_AWARE 0u
1848 /* Presence of the patch functionality. 0: ROM cannot be patched. 1: ROM can be
1849    patched. */
1850 #define PROMC_PATCH_PRESENT             0u
1851 /* Number of patchable locations (patch entries). Possible range [0,512]. */
1852 #define PROMC_PATCH_NR                  64u
1853 /* Number of patchable locations, qualified by PATCH_PRESENT. Local param to mimic
1854    by product XLS. */
1855 #define PROMC_PATCH_NR_QUAL             0u
1856 /* Patch size selection of a single structure. 0: 8 Bytes. 1: 16 Bytes. **) 2: 32
1857    Bytes. 3: 64 Bytes. **) The patch size should fit to the word size of the
1858    ROM. Thus only PATCH_SIZE=1 is supported for this ROM controller. */
1859 #define PROMC_PATCH_SIZE                1u
1860 /* Width of compared address bits. The LSB is determined by the PATCH_SIZE, for 16
1861    bytes this equals to bit [4]. The MSB is chosen to address the full size of
1862    the ROM in bytes. */
1863 #define PROMC_MATCH_ADDR_SIZE           12u
1864 /* Initial value of the first patchable address in the ROM. This address and the
1865    following higher addresses are patchable if the function is enabled. */
1866 #define PROMC_SROM_BOUNDARY             303u
1867 /* Width of the byte address (2^ROMC_ADDR_WIDTH byte of total SROM region). */
1868 #define PROMC_ROMC_ADDR_WIDTH           16u
1869 /* Number of physical SROM macros used. */
1870 #define PROMC_ROMC_MACRO_NR             1u
1871 /* Width of the byte address per each physical macro. */
1872 #define PROMC_ROMC_MACRO_ADDR_WIDTH     16u
1873 /* Bit width of hrdata and hwdata (AHB5 slave for ROM access). */
1874 #define PROMC_DATA_PATH_WIDTH           128u
1875 /* Number of RAM words for patch data. Local param to mimic by product XLS. */
1876 #define PROMC_PATCH_RAM_WORDS           0u
1877 /* VT type of instantiated tech cells through mxtk. */
1878 #define PROMC_CELL_VT_TYPE              1u
1879 /* Bit width of mmio_trim_ram_ctl_trim. */
1880 #define PROMC_TRIM_WIDTH                32u
1881 /* 0=ULL65, 1=MXS40-ULP, 2=MXS40E, 3=M0S8, 4=MXS40-HD, 5=F45, 6=MXS40v2, 7=T28HPM,
1882    8=T28HPL, 9=T28HPC */
1883 #define PROMC_PLATFORM_VARIANT          6u
1884 /* RAM vendor (0=Cypress, 1=Synopsys, 2=ARM, 3=Broadcom,4=TSMC) */
1885 #define PROMC_RAM_VEND                  1u
1886 /* Security based access checks are valid (1: NS bit is checked, 0: NS bit is
1887    ignored). */
1888 #define PROMC_MPC_SECEXT                0u
1889 /* Bit width of hmaster signal. */
1890 #define PROMC_MPC_MASTER_WIDTH          6u
1891 #define PROMC_MPC_PC_WIDTH              3u
1892 /* Number of supported protection contexts. */
1893 #define PROMC_MPC_PC_NR                 4u
1894 #define PROMC_MPC_BLK_IDX_MAX           0u
1895 #define PROMC_MPC_BLK_IDX_WIDTH         0u
1896 #define PROMC_MPC_EXT_PRESENT           0u
1897 #define PROMC_MPC_BLK_IDX_MAX_TIMES_FOUR_PLUS_THREE 3u
1898 #define PROMC_MPC_BLK_IDX_WIDTH_PLUS_TWO 2u
1899 /* Block size of individually protected blocks (0: 32B, 1: 64B, ...up to 15:1MB) */
1900 #define PROMC_MPC_BLOCK_SIZE            6u
1901 /* Number of AHB5 "huser[]" bits ([1, 8]). */
1902 #define PROMC_MPC_USER_WIDTH            4u
1903 /* Number of System SRAM power partions */
1904 #define RAMC_PWR_GROUP_NR               4u
1905 /* SRAM ECC present or not ('0': no, '1': yes) */
1906 #define RAMC_ECC_PRESENT                0u
1907 #define RAMC_MPC_MASTER_WIDTH           6u
1908 #define RAMC_MPC_PC_WIDTH               3u
1909 #define RAMC_MPC_PC_NR                  4u
1910 #define RAMC_MPC_BLK_IDX_MAX            1u
1911 #define RAMC_MPC_BLK_IDX_WIDTH          1u
1912 #define RAMC_MPC_EXT_PRESENT            0u
1913 #define RAMC_MPC_BLK_IDX_MAX_TIMES_FOUR_PLUS_THREE 7u
1914 #define RAMC_MPC_BLK_IDX_WIDTH_PLUS_TWO 3u
1915 #define RAMC_MPC_BLOCK_SIZE             7u
1916 /* DeepSleep support ('0':no, '1': yes) */
1917 #define SCB0_DEEPSLEEP                  1u
1918 /* Externally clocked support? ('0': no, '1': yes) */
1919 #define SCB0_EC                         1u
1920 /* I2C master support? ('0': no, '1': yes) */
1921 #define SCB0_I2C_M                      1u
1922 /* I2C slave support? ('0': no, '1': yes) */
1923 #define SCB0_I2C_S                      1u
1924 /* I2C support? (I2C_M | I2C_S) */
1925 #define SCB0_I2C                        1u
1926 /* I2C glitch filters present? ('0': no, '1': yes) */
1927 #define SCB0_I2C_GLITCH                 1u
1928 /* Support I2C Hs-mode (3.4Mbps) ('0': no, '1': yes) */
1929 #define SCB0_I2C_HS                     0u
1930 /* I2C externally clocked support? ('0': no, '1': yes) */
1931 #define SCB0_I2C_EC                     1u
1932 /* I2C master and slave support? (I2C_M & I2C_S) */
1933 #define SCB0_I2C_M_S                    1u
1934 /* I2C master and slave support? (I2C_M & I2C_HS) */
1935 #define SCB0_I2C_M_HS                   0u
1936 /* I2C master and slave support? (I2C_S & I2C_HS) */
1937 #define SCB0_I2C_S_HS                   0u
1938 /* I2C slave with EC? (I2C_S & I2C_EC) */
1939 #define SCB0_I2C_S_EC                   1u
1940 /* SPI master support? ('0': no, '1': yes) */
1941 #define SCB0_SPI_M                      1u
1942 /* SPI slave support? ('0': no, '1': yes) */
1943 #define SCB0_SPI_S                      1u
1944 /* SPI support? (SPI_M | SPI_S) */
1945 #define SCB0_SPI                        1u
1946 /* SPI externally clocked support? ('0': no, '1': yes) */
1947 #define SCB0_SPI_EC                     1u
1948 /* SPI slave with EC? (SPI_S & SPI_EC) */
1949 #define SCB0_SPI_S_EC                   1u
1950 /* UART support? ('0': no, '1': yes) */
1951 #define SCB0_UART                       0u
1952 /* SPI or UART (SPI | UART) */
1953 #define SCB0_SPI_UART                   1u
1954 /* Number of EZ memory Bytes ([32, 256, 512]). This memory is used in EZ mode,
1955    CMD_RESP mode and FIFO mode. Note that in EZ mode, if EZ_DATA_NR is 512, only
1956    256 B are used. This is because the EZ mode uses 8-bit addresses. */
1957 #define SCB0_EZ_DATA_NR                 256u
1958 /* Command/response mode support? ('0': no, '1': yes) */
1959 #define SCB0_CMD_RESP                   1u
1960 /* EZ mode support? ('0': no, '1': yes) */
1961 #define SCB0_EZ                         1u
1962 /* Command/response mode or EZ mode support? (CMD_RESP | EZ) */
1963 #define SCB0_EZ_CMD_RESP                1u
1964 /* I2C slave with EZ mode (I2C_S & EZ) */
1965 #define SCB0_I2C_S_EZ                   1u
1966 /* SPI slave with EZ mode (SPI_S & EZ) */
1967 #define SCB0_SPI_S_EZ                   1u
1968 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
1969 #define SCB0_MASTER_WIDTH               8u
1970 /* Number of used spi_select signals (max 4) */
1971 #define SCB0_CHIP_TOP_SPI_SEL_NR        3u
1972 /* Support I2C FM+/1Mbps speed ('0': no, '1': yes) */
1973 #define SCB0_CHIP_TOP_I2C_FAST_PLUS     1u
1974 /* ddft_in[1:0] and ddft_out[1:0] are used (not used on M0S8 platform) */
1975 #define SCB0_CHIP_TOP_DDFT_USED         4u
1976 /* DeepSleep support ('0':no, '1': yes) */
1977 #define SCB1_DEEPSLEEP                  0u
1978 /* Externally clocked support? ('0': no, '1': yes) */
1979 #define SCB1_EC                         0u
1980 /* I2C master support? ('0': no, '1': yes) */
1981 #define SCB1_I2C_M                      0u
1982 /* I2C slave support? ('0': no, '1': yes) */
1983 #define SCB1_I2C_S                      0u
1984 /* I2C support? (I2C_M | I2C_S) */
1985 #define SCB1_I2C                        0u
1986 /* I2C glitch filters present? ('0': no, '1': yes) */
1987 #define SCB1_I2C_GLITCH                 0u
1988 /* Support I2C Hs-mode (3.4Mbps) ('0': no, '1': yes) */
1989 #define SCB1_I2C_HS                     0u
1990 /* I2C externally clocked support? ('0': no, '1': yes) */
1991 #define SCB1_I2C_EC                     0u
1992 /* I2C master and slave support? (I2C_M & I2C_S) */
1993 #define SCB1_I2C_M_S                    0u
1994 /* I2C master and slave support? (I2C_M & I2C_HS) */
1995 #define SCB1_I2C_M_HS                   0u
1996 /* I2C master and slave support? (I2C_S & I2C_HS) */
1997 #define SCB1_I2C_S_HS                   0u
1998 /* I2C slave with EC? (I2C_S & I2C_EC) */
1999 #define SCB1_I2C_S_EC                   0u
2000 /* SPI master support? ('0': no, '1': yes) */
2001 #define SCB1_SPI_M                      1u
2002 /* SPI slave support? ('0': no, '1': yes) */
2003 #define SCB1_SPI_S                      1u
2004 /* SPI support? (SPI_M | SPI_S) */
2005 #define SCB1_SPI                        1u
2006 /* SPI externally clocked support? ('0': no, '1': yes) */
2007 #define SCB1_SPI_EC                     0u
2008 /* SPI slave with EC? (SPI_S & SPI_EC) */
2009 #define SCB1_SPI_S_EC                   0u
2010 /* UART support? ('0': no, '1': yes) */
2011 #define SCB1_UART                       1u
2012 /* SPI or UART (SPI | UART) */
2013 #define SCB1_SPI_UART                   1u
2014 /* Number of EZ memory Bytes ([32, 256, 512]). This memory is used in EZ mode,
2015    CMD_RESP mode and FIFO mode. Note that in EZ mode, if EZ_DATA_NR is 512, only
2016    256 B are used. This is because the EZ mode uses 8-bit addresses. */
2017 #define SCB1_EZ_DATA_NR                 256u
2018 /* Command/response mode support? ('0': no, '1': yes) */
2019 #define SCB1_CMD_RESP                   0u
2020 /* EZ mode support? ('0': no, '1': yes) */
2021 #define SCB1_EZ                         0u
2022 /* Command/response mode or EZ mode support? (CMD_RESP | EZ) */
2023 #define SCB1_EZ_CMD_RESP                0u
2024 /* I2C slave with EZ mode (I2C_S & EZ) */
2025 #define SCB1_I2C_S_EZ                   0u
2026 /* SPI slave with EZ mode (SPI_S & EZ) */
2027 #define SCB1_SPI_S_EZ                   0u
2028 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
2029 #define SCB1_MASTER_WIDTH               8u
2030 /* Number of used spi_select signals (max 4) */
2031 #define SCB1_CHIP_TOP_SPI_SEL_NR        4u
2032 /* Support I2C FM+/1Mbps speed ('0': no, '1': yes) */
2033 #define SCB1_CHIP_TOP_I2C_FAST_PLUS     1u
2034 /* ddft_in[1:0] and ddft_out[1:0] are used (not used on M0S8 platform) */
2035 #define SCB1_CHIP_TOP_DDFT_USED         4u
2036 /* DeepSleep support ('0':no, '1': yes) */
2037 #define SCB2_DEEPSLEEP                  0u
2038 /* Externally clocked support? ('0': no, '1': yes) */
2039 #define SCB2_EC                         0u
2040 /* I2C master support? ('0': no, '1': yes) */
2041 #define SCB2_I2C_M                      1u
2042 /* I2C slave support? ('0': no, '1': yes) */
2043 #define SCB2_I2C_S                      1u
2044 /* I2C support? (I2C_M | I2C_S) */
2045 #define SCB2_I2C                        1u
2046 /* I2C glitch filters present? ('0': no, '1': yes) */
2047 #define SCB2_I2C_GLITCH                 1u
2048 /* Support I2C Hs-mode (3.4Mbps) ('0': no, '1': yes) */
2049 #define SCB2_I2C_HS                     0u
2050 /* I2C externally clocked support? ('0': no, '1': yes) */
2051 #define SCB2_I2C_EC                     0u
2052 /* I2C master and slave support? (I2C_M & I2C_S) */
2053 #define SCB2_I2C_M_S                    1u
2054 /* I2C master and slave support? (I2C_M & I2C_HS) */
2055 #define SCB2_I2C_M_HS                   0u
2056 /* I2C master and slave support? (I2C_S & I2C_HS) */
2057 #define SCB2_I2C_S_HS                   0u
2058 /* I2C slave with EC? (I2C_S & I2C_EC) */
2059 #define SCB2_I2C_S_EC                   0u
2060 /* SPI master support? ('0': no, '1': yes) */
2061 #define SCB2_SPI_M                      0u
2062 /* SPI slave support? ('0': no, '1': yes) */
2063 #define SCB2_SPI_S                      0u
2064 /* SPI support? (SPI_M | SPI_S) */
2065 #define SCB2_SPI                        0u
2066 /* SPI externally clocked support? ('0': no, '1': yes) */
2067 #define SCB2_SPI_EC                     0u
2068 /* SPI slave with EC? (SPI_S & SPI_EC) */
2069 #define SCB2_SPI_S_EC                   0u
2070 /* UART support? ('0': no, '1': yes) */
2071 #define SCB2_UART                       1u
2072 /* SPI or UART (SPI | UART) */
2073 #define SCB2_SPI_UART                   1u
2074 /* Number of EZ memory Bytes ([32, 256, 512]). This memory is used in EZ mode,
2075    CMD_RESP mode and FIFO mode. Note that in EZ mode, if EZ_DATA_NR is 512, only
2076    256 B are used. This is because the EZ mode uses 8-bit addresses. */
2077 #define SCB2_EZ_DATA_NR                 256u
2078 /* Command/response mode support? ('0': no, '1': yes) */
2079 #define SCB2_CMD_RESP                   0u
2080 /* EZ mode support? ('0': no, '1': yes) */
2081 #define SCB2_EZ                         0u
2082 /* Command/response mode or EZ mode support? (CMD_RESP | EZ) */
2083 #define SCB2_EZ_CMD_RESP                0u
2084 /* I2C slave with EZ mode (I2C_S & EZ) */
2085 #define SCB2_I2C_S_EZ                   0u
2086 /* SPI slave with EZ mode (SPI_S & EZ) */
2087 #define SCB2_SPI_S_EZ                   0u
2088 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
2089 #define SCB2_MASTER_WIDTH               8u
2090 /* Number of used spi_select signals (max 4) */
2091 #define SCB2_CHIP_TOP_SPI_SEL_NR        0u
2092 /* Support I2C FM+/1Mbps speed ('0': no, '1': yes) */
2093 #define SCB2_CHIP_TOP_I2C_FAST_PLUS     1u
2094 /* ddft_in[1:0] and ddft_out[1:0] are used (not used on M0S8 platform) */
2095 #define SCB2_CHIP_TOP_DDFT_USED         4u
2096 /* Slow AHB XIP cache is present ([0,1]). If SLOW_AHB_XIP_IF_PRESENT=0 then set
2097    this to 0 as well. */
2098 #define SMIF_SLOW_CACHE_PRESENT         0u
2099 /* Fast AHB XIP cache is present ([0,1]). If FAST_AHB_XIP_IF_PRESENT=0 then set
2100    this to 0 as well. */
2101 #define SMIF_FAST_CACHE_PRESENT         0u
2102 /* Number of Protection Contexts [1..8] for MPC; only valid when SLOW or
2103    FAST_AHB_XIP_IF_IS_AHB5 */
2104 #define SMIF_PC_NR                      4u
2105 /* Granularity of the MPC block size; 0: 32B, 1: 64B, ... 15: 1MB; only valid when
2106    SLOW or FAST_AHB_XIP_IF_IS_AHB5 */
2107 #define SMIF_BLOCK_SIZE                 12u
2108 /* Base address of the SMIF XIP memory region. This address must be a multiple of
2109    the SMIF XIP memory capacity. This address must be a multiple of the SMIF XIP
2110    memory region capacity (see SMIP_XIP_MASK below). The SMIF XIP memory region
2111    should NOT overlap with other memory regions. This adress must be in the
2112    [0x0000:0000, 0xffff:0000] memory region. However, for MXS40 CM4 based
2113    platform variant, this address must be in the [0x0000:0000, 0x1fff:0000]
2114    memory region (to ensure a connection to the ARM CM4 CPU ICode/DCode memory
2115    region [0x0000:0000, 0x1fff:ffff]). The external memory devices are located
2116    within the SMIF XIP memory region. */
2117 #define SMIF_SMIF_XIP_ADDR              0x60000000u
2118 /* Capacity of the SMIF XIP memory region. The capacity must be a power of 2 and
2119    greater or equal than 64 KB). The more significant bits of this parameter are
2120    '1' and the lesser significant bits of this parameter are '0'. E.g.,
2121    0xfff0:0000 specifies a 1 MB memory region. Legal values are {0xffff:0000,
2122    0xfffe:0000, 0xfffc:0000, 0xfff8:0000, 0xfff0:0000, 0xffe0:0000, ...,
2123    0x8000:0000, 0x0000:0000}. */
2124 #define SMIF_SMIF_XIP_MASK              0xF8000000u
2125 /* Cryptography (AES) support. This is a 1-bit parameter: '0' = no support, '1' =
2126    support. */
2127 #define SMIF_CRYPTO                     1u
2128 /* Number of cryptography keys [0,1,2,4,8]; set to 0 if CRYPTO=0 */
2129 #define SMIF_CRYPTO_KEY_NR              1u
2130 /* Hardcoded 8-bit parameter (do NOT override) that allows crypto key 0 to take on
2131    additional registers to support MMIO encryption */
2132 #define SMIF_CRYPTO_KEY_MMIO_CAPABLE    1u
2133 /* Bus CRC support is present ([0,1]) Note: In MXS40 SMIF version 2 this option is
2134    currently not available (BUS_CRC_PRESENT=0). Based on project schedules this
2135    feature may be added already to MXS40 SMIF version 2 or to a later SMIF
2136    version. */
2137 #define SMIF_BUS_CRC_PRESENT            0u
2138 /* Number of external memory devices supported. This parameter is in the range
2139    [1,4]. */
2140 #define SMIF_DEVICE_NR                  2u
2141 /* External memory devices write support. This is a 4-bit field. Each external
2142    memory device has a dedicated bit. E.g., if bit 2 is '1', external device 2
2143    has write support. */
2144 #define SMIF_DEVICE_WR_EN               3u
2145 /* Number of delay lines ([1..8]). */
2146 #define SMIF_DELAY_LINES_NR             4u
2147 /* Number of delay taps in clock delay line. */
2148 #define SMIF_DELAY_TAPS_NR              32u
2149 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
2150 #define SMIF_MASTER_WIDTH               6u
2151 /* AXI ID width. Legal range [11,16] */
2152 #define SMIF_AXIS_ID_WIDTH              16u
2153 /* MPC SECEXT Present */
2154 #define SMIF_MPC_SECEXT                 0u
2155 /* Chip top connect all 8 data pins (0= connect 4 data pins, 1= connect 8 data
2156    pins) */
2157 #define SMIF_CHIP_TOP_DATA8_PRESENT     0u
2158 /* Number of used spi_select signals (max 4) */
2159 #define SMIF_CHIP_TOP_SPI_SEL_NR        2u
2160 /* S40S variant. Must be 1 when targeting S40S and 0 otherwise. */
2161 #define SRSS_S40S_VARIANT               1u
2162 /* S40E variant. Must be 1 when targeting S40E and 0 otherwise. */
2163 #define SRSS_S40E_VARIANT               0u
2164 /* Number of regulator modules instantiated within SRSS. Must be > 0. */
2165 #define SRSS_NUM_ACTREG_PWRMOD          0u
2166 /* Number of shorting switches between vccd and vccact. Must be > 0. */
2167 #define SRSS_NUM_ACTIVE_SWITCH          2u
2168 /* S40S variant. Number of shorting switches between vccd and vccdplsp for S40S
2169    REGSETB. Must be > 0. Has no affect when S40S_REGSETB_PRESENT=0 */
2170 #define SRSS_NUM_DPSLP_SWITCH           6u
2171 /* S40S Regulator Set A system is present */
2172 #define SRSS_S40S_REGSETA_PRESENT       0u
2173 /* S40E Regulator Set A system is present */
2174 #define SRSS_S40E_REGSETA_PRESENT       0u
2175 /* SIMO buck core regulator is present. Only compatible with S40S linear regulator
2176    system (S40S_LINREG_PRESENT==1). */
2177 #define SRSS_S40S_SIMOBUCK_PRESENT      0u
2178 /* Precision ILO (PILO) is present */
2179 #define SRSS_S40S_PILO_PRESENT          1u
2180 /* External Crystal Oscillator is present (high frequency) */
2181 #define SRSS_ECO_PRESENT                0u
2182 /* Number of clock paths. Must be > 0 */
2183 #define SRSS_NUM_CLKPATH                4u
2184 /* Number of PLLs present. Must be <= NUM_CLKPATH */
2185 #define SRSS_NUM_PLL200M                0u
2186 /* Number of HFCLK roots present. Must be > 0 */
2187 #define SRSS_NUM_HFROOT                 4u
2188 /* Number of PWR_HIB_DATA registers, should not be needed if BACKUP_PRESENT */
2189 #define SRSS_NUM_HIBDATA                1u
2190 /* Backup domain is present (includes RTC and WCO) */
2191 #define SRSS_BACKUP_PRESENT             1u
2192 /* CSV present. User must add one NUM_CLKPATH and one NUM_HFROOT to monitor ILO0
2193    with CSV_HF_REF clock. */
2194 #define SRSS_CSV_PRESENT                0u
2195 /* Number of software watchdog timers. */
2196 #define SRSS_NUM_MCWDT                  1u
2197 /* Number of DSI inputs into clock muxes. This is used for logic optimization. */
2198 #define SRSS_NUM_DSI                    0u
2199 /* Alternate high-frequency clock is present. This is used for logic optimization. */
2200 #define SRSS_ALTHF_PRESENT              1u
2201 /* Alternate low-frequency clock is present. This is used for logic optimization. */
2202 #define SRSS_ALTLF_PRESENT              0u
2203 /* Use the hardened clkactfllmux block */
2204 #define SRSS_USE_HARD_CLKACTFLLMUX      1u
2205 /* Number of clock paths, including direct paths in hardened clkactfllmux block
2206    (Must be >= NUM_CLKPATH) */
2207 #define SRSS_HARD_CLKPATH               8u
2208 /* Number of clock paths with muxes in hardened clkactfllmux block (Must be >=
2209    NUM_PLL+1) */
2210 #define SRSS_HARD_CLKPATHMUX            8u
2211 /* Number of HFCLKS present in hardened clkactfllmux block (Must be >= NUM_HFROOT) */
2212 #define SRSS_HARD_HFROOT                8u
2213 /* ECO mux is present in hardened clkactfllmux block (Must be >= ECO_PRESENT) */
2214 #define SRSS_HARD_ECOMUX_PRESENT        1u
2215 /* ALTHF mux is present in hardened clkactfllmux block (Must be >= ALTHF_PRESENT) */
2216 #define SRSS_HARD_ALTHFMUX_PRESENT      1u
2217 /* POR present. */
2218 #define SRSS_POR_PRESENT                0u
2219 /* Low-current buck regulator present. Can be derived from
2220    S40S_SISOBUCKLC_PRESENT, S40S_SISOBUCKMC_PRESENT or S40S_SIMOBUCK_PRESENT. */
2221 #define SRSS_BUCKCTL_PRESENT            0u
2222 /* Low-current SISO buck core regulator is present. Only compatible with S40S
2223    linear regulator system (S40S_LINREG_PRESENT==1). */
2224 #define SRSS_S40S_SISOBUCKLC_PRESENT    0u
2225 /* S40E linear regulator system is present */
2226 #define SRSS_S40E_REGHC_PRESENT         0u
2227 /* LPECO mux is present in hardened clkactfllmux block */
2228 #define SRSS_HARD_LPECOMUX_PRESENT      1u
2229 /* Number of 400MHz PLLs present. */
2230 #define SRSS_NUM_PLL400M                0u
2231 /* Mask of DIRECT_MUX defaults. For each clock root i, if bit[i] is low the
2232    DIRECT_MUX defaults to IMO. If bit[0] is high, the DIRECT_MUX selects the
2233    output of ROOT_MUX. For backward compatibility, M33-only systems can have all
2234    mask bits high. In all cases, must have bit[0]==1 to start the chip. */
2235 #define SRSS_MASK_DIRECTMUX_DEF         0x0000FFFFu
2236 /* Mask of which HFCLK roots are enabled when the debugger requests power up
2237    (CDBGPWRUPREQ). For each clock root i, SRSS enables the clock in response to
2238    CDBGPWRUPREQ, if bit[i] of mask is high. SRSS automatically enables clk_hf0,
2239    regardless of setting of mask bit0. */
2240 #define SRSS_MASK_DEBUG_CLK             1u
2241 /* Total number of PLLs present. */
2242 #define SRSS_NUM_TOTAL_PLL              0u
2243 /* PMIC control of vccd is present (without REGHC). */
2244 #define SRSS_S40E_PMIC_PRESENT          0u
2245 /* Number of multi-counter watchdog timers (type B). Software incompatibility with
2246    type A. */
2247 #define SRSS_NUM_MCWDT_B                0u
2248 /* WDT type A is present (backward compatible version) */
2249 #define SRSS_WDT_A_PRESENT              1u
2250 /* WDT type B is present. Software incompatibility with type A. */
2251 #define SRSS_WDT_B_PRESENT              0u
2252 /* Medium-current SISO buck core regulator is present. Only compatible with S40S
2253    linear regulator system (S40S_LINREG_PRESENT==1). */
2254 #define SRSS_S40S_SISOBUCKMC_PRESENT    0u
2255 /* Mask for whether a PD is present in the PDCM. The zeroth bit is the PD
2256    controlled by the main PPU and must always be set. */
2257 #define SRSS_PDCM_PD_PRESENT            15u
2258 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2259    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2260    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2261    on. For configurable sense bits, this indicates the reset value of the
2262    configuration register. */
2263 #define SRSS_PDCM_PD_PRESENT0_PDCM_PD_DEFAULT_ON 6u
2264 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2265    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2266    PD<k/16> can be configured on when PD<k%16> is on. */
2267 #define SRSS_PDCM_PD_PRESENT0_PDCM_PD_CONFIG_ON 9u
2268 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2269    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2270    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2271    on. For configurable sense bits, this indicates the reset value of the
2272    configuration register. */
2273 #define SRSS_PDCM_PD_PRESENT1_PDCM_PD_DEFAULT_ON 0u
2274 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2275    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2276    PD<k/16> can be configured on when PD<k%16> is on. */
2277 #define SRSS_PDCM_PD_PRESENT1_PDCM_PD_CONFIG_ON 10u
2278 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2279    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2280    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2281    on. For configurable sense bits, this indicates the reset value of the
2282    configuration register. */
2283 #define SRSS_PDCM_PD_PRESENT2_PDCM_PD_DEFAULT_ON 2u
2284 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2285    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2286    PD<k/16> can be configured on when PD<k%16> is on. */
2287 #define SRSS_PDCM_PD_PRESENT2_PDCM_PD_CONFIG_ON 14u
2288 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2289    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2290    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2291    on. For configurable sense bits, this indicates the reset value of the
2292    configuration register. */
2293 #define SRSS_PDCM_PD_PRESENT3_PDCM_PD_DEFAULT_ON 0u
2294 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2295    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2296    PD<k/16> can be configured on when PD<k%16> is on. */
2297 #define SRSS_PDCM_PD_PRESENT3_PDCM_PD_CONFIG_ON 10u
2298 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2299    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2300    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2301    on. For configurable sense bits, this indicates the reset value of the
2302    configuration register. */
2303 #define SRSS_PDCM_PD_PRESENT4_PDCM_PD_DEFAULT_ON 0u
2304 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2305    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2306    PD<k/16> can be configured on when PD<k%16> is on. */
2307 #define SRSS_PDCM_PD_PRESENT4_PDCM_PD_CONFIG_ON 0u
2308 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2309    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2310    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2311    on. For configurable sense bits, this indicates the reset value of the
2312    configuration register. */
2313 #define SRSS_PDCM_PD_PRESENT5_PDCM_PD_DEFAULT_ON 0u
2314 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2315    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2316    PD<k/16> can be configured on when PD<k%16> is on. */
2317 #define SRSS_PDCM_PD_PRESENT5_PDCM_PD_CONFIG_ON 0u
2318 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2319    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2320    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2321    on. For configurable sense bits, this indicates the reset value of the
2322    configuration register. */
2323 #define SRSS_PDCM_PD_PRESENT6_PDCM_PD_DEFAULT_ON 0u
2324 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2325    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2326    PD<k/16> can be configured on when PD<k%16> is on. */
2327 #define SRSS_PDCM_PD_PRESENT6_PDCM_PD_CONFIG_ON 0u
2328 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2329    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2330    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2331    on. For configurable sense bits, this indicates the reset value of the
2332    configuration register. */
2333 #define SRSS_PDCM_PD_PRESENT7_PDCM_PD_DEFAULT_ON 0u
2334 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2335    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2336    PD<k/16> can be configured on when PD<k%16> is on. */
2337 #define SRSS_PDCM_PD_PRESENT7_PDCM_PD_CONFIG_ON 0u
2338 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2339    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2340    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2341    on. For configurable sense bits, this indicates the reset value of the
2342    configuration register. */
2343 #define SRSS_PDCM_PD_PRESENT8_PDCM_PD_DEFAULT_ON 0u
2344 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2345    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2346    PD<k/16> can be configured on when PD<k%16> is on. */
2347 #define SRSS_PDCM_PD_PRESENT8_PDCM_PD_CONFIG_ON 0u
2348 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2349    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2350    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2351    on. For configurable sense bits, this indicates the reset value of the
2352    configuration register. */
2353 #define SRSS_PDCM_PD_PRESENT9_PDCM_PD_DEFAULT_ON 0u
2354 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2355    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2356    PD<k/16> can be configured on when PD<k%16> is on. */
2357 #define SRSS_PDCM_PD_PRESENT9_PDCM_PD_CONFIG_ON 0u
2358 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2359    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2360    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2361    on. For configurable sense bits, this indicates the reset value of the
2362    configuration register. */
2363 #define SRSS_PDCM_PD_PRESENT10_PDCM_PD_DEFAULT_ON 0u
2364 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2365    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2366    PD<k/16> can be configured on when PD<k%16> is on. */
2367 #define SRSS_PDCM_PD_PRESENT10_PDCM_PD_CONFIG_ON 0u
2368 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2369    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2370    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2371    on. For configurable sense bits, this indicates the reset value of the
2372    configuration register. */
2373 #define SRSS_PDCM_PD_PRESENT11_PDCM_PD_DEFAULT_ON 0u
2374 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2375    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2376    PD<k/16> can be configured on when PD<k%16> is on. */
2377 #define SRSS_PDCM_PD_PRESENT11_PDCM_PD_CONFIG_ON 0u
2378 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2379    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2380    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2381    on. For configurable sense bits, this indicates the reset value of the
2382    configuration register. */
2383 #define SRSS_PDCM_PD_PRESENT12_PDCM_PD_DEFAULT_ON 0u
2384 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2385    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2386    PD<k/16> can be configured on when PD<k%16> is on. */
2387 #define SRSS_PDCM_PD_PRESENT12_PDCM_PD_CONFIG_ON 0u
2388 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2389    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2390    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2391    on. For configurable sense bits, this indicates the reset value of the
2392    configuration register. */
2393 #define SRSS_PDCM_PD_PRESENT13_PDCM_PD_DEFAULT_ON 0u
2394 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2395    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2396    PD<k/16> can be configured on when PD<k%16> is on. */
2397 #define SRSS_PDCM_PD_PRESENT13_PDCM_PD_CONFIG_ON 0u
2398 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2399    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2400    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2401    on. For configurable sense bits, this indicates the reset value of the
2402    configuration register. */
2403 #define SRSS_PDCM_PD_PRESENT14_PDCM_PD_DEFAULT_ON 0u
2404 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2405    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2406    PD<k/16> can be configured on when PD<k%16> is on. */
2407 #define SRSS_PDCM_PD_PRESENT14_PDCM_PD_CONFIG_ON 0u
2408 /* Mask of PDCM PD_FORCE_ON bits. Each bit k maps to
2409    PD_SPT[k/16].PD_FORCE_ON[k%16]. For a non-configurable sense bit, a high
2410    value for bit k indicates whether PD<k/16> is always kept on when PD<k%16> is
2411    on. For configurable sense bits, this indicates the reset value of the
2412    configuration register. */
2413 #define SRSS_PDCM_PD_PRESENT15_PDCM_PD_DEFAULT_ON 0u
2414 /* Mask of PDCM PD_CONFIG_ON bits. Each bit k maps to
2415    PD_SPT[k/16].PD_CONFIG_ON[k%16]. A high value for bit k indicates whether
2416    PD<k/16> can be configured on when PD<k%16> is on. */
2417 #define SRSS_PDCM_PD_PRESENT15_PDCM_PD_CONFIG_ON 0u
2418 /* FLL present */
2419 #define SRSS_FLL_PRESENT                1u
2420 /* S40S Regulator Set B system is present */
2421 #define SRSS_S40S_REGSETB_PRESENT       1u
2422 /* S40S Regulator Set B Nwell regulator is present */
2423 #define SRSS_S40S_REGSETB_NW_PRESENT    0u
2424 /* Number of additional HIBERNATE wakeup sources */
2425 #define SRSS_NUM_HIB_WAKE               4u
2426 /* CSV_BAK is present. Monitors clk_bak_hv using clk_ilo0_hv. */
2427 #define SRSS_CSV_BAK_PRESENT            0u
2428 /* HVLDO0 present */
2429 #define SRSS_S40S_REGSETB_HVLDO0_PRESENT 1u
2430 /* Width of the WDT (Type A) counter. For backward compatibility, the minimum
2431    allowed is 16b. */
2432 #define SRSS_NUM_WDT_A_BITS             22u
2433 /* Separate power supply Vbackup is present (only used when BACKUP_PRESENT==1) */
2434 #define SRSS_BACKUP_VBCK_PRESENT        0u
2435 /* Alarm1 present in RTC */
2436 #define SRSS_BACKUP_ALM1_PRESENT        1u
2437 /* Alarm2 present in RTC */
2438 #define SRSS_BACKUP_ALM2_PRESENT        1u
2439 /* Backup memory is present (only used when BACKUP_PRESENT==1) */
2440 #define SRSS_BACKUP_BMEM_PRESENT        0u
2441 /* Number of Backup registers to include (each is 32b). Only used when
2442    BACKUP_PRESENT==1. Approximate size is 850squm per register. */
2443 #define SRSS_BACKUP_NUM_BREG0           4u
2444 /* Number of Backup registers to include (each is 32b). Only used when
2445    BACKUP_PRESENT==1. Approximate size is 850squm per register. */
2446 #define SRSS_BACKUP_NUM_BREG1           4u
2447 /* Number of Backup registers to include (each is 32b). Only used when
2448    BACKUP_PRESENT==1. Approximate size is 850squm per register. */
2449 #define SRSS_BACKUP_NUM_BREG2           8u
2450 /* Number of Backup registers to include (each is 32b). Only used when
2451    BACKUP_PRESENT==1. Approximate size is 850squm per register. */
2452 #define SRSS_BACKUP_NUM_BREG3           0u
2453 /* Low power external crystal oscillator (LPECO) is present. */
2454 #define SRSS_BACKUP_S40E_LPECO_PRESENT  0u
2455 /* CSV_BAK is present. Monitors clk_bak_hv using clk_ilo0_hv. */
2456 #define SRSS_BACKUP_CSV_BAK_PRESENT     0u
2457 /* S40S variant. Must be 1 when targeting S40S and 0 otherwise. */
2458 #define SRSS_CLK_TRIM_PLL400M_S40S_VARIANT 1u
2459 /* Mask of HFCLK root clock supervisors (CSV). For each clock root i, bit[i] of
2460    mask indicates presence of a CSV. */
2461 #define SRSS_CSV_HF_MASK_HFCSV          0u
2462 /* Number of AHB-Lite "hmaster[]" bits ([1, 8]). */
2463 #define TCPWM_MASTER_WIDTH              8u
2464 /* Number of input triggers per counter only routed to one counter (0..8) */
2465 #define TCPWM_TR_ONE_CNT_NR             1u
2466 /* Number of input triggers routed to all counters (0..254),
2467    NR_TR_ONE_CNT+NR_TR_ALL CNT <= 254 */
2468 #define TCPWM_TR_ALL_CNT_NR             28u
2469 /* Number of TCPWM counter groups (1..4) */
2470 #define TCPWM_GRP_NR                    2u
2471 /* Counter width in number of bits per TCPWM group (16: 16-bits, 32: 32-bits) */
2472 #define TCPWM_GRP_NR0_CNT_GRP_CNT_WIDTH 32u
2473 /* Second Capture / Compare Unit is present (0, 1) */
2474 #define TCPWM_GRP_NR0_CNT_GRP_CC1_PRESENT 0u
2475 /* Advanced Motor Control features are present (0, 1). Should only be 1 when
2476    GRP_CC1_PRESENT = 1 */
2477 #define TCPWM_GRP_NR0_CNT_GRP_AMC_PRESENT 0u
2478 /* Stepper Motor Control features are present (0, 1). */
2479 #define TCPWM_GRP_NR0_CNT_GRP_SMC_PRESENT 0u
2480 /* Number of counters per TCPWM group (1..256) */
2481 #define TCPWM_GRP_NR0_GRP_GRP_CNT_NR    2u
2482 /* Counter width in number of bits per TCPWM group (16: 16-bits, 32: 32-bits) */
2483 #define TCPWM_GRP_NR1_CNT_GRP_CNT_WIDTH 16u
2484 /* Second Capture / Compare Unit is present (0, 1) */
2485 #define TCPWM_GRP_NR1_CNT_GRP_CC1_PRESENT 1u
2486 /* Advanced Motor Control features are present (0, 1). Should only be 1 when
2487    GRP_CC1_PRESENT = 1 */
2488 #define TCPWM_GRP_NR1_CNT_GRP_AMC_PRESENT 1u
2489 /* Stepper Motor Control features are present (0, 1). */
2490 #define TCPWM_GRP_NR1_CNT_GRP_SMC_PRESENT 0u
2491 /* Number of counters per TCPWM group (1..256) */
2492 #define TCPWM_GRP_NR1_GRP_GRP_CNT_NR    7u
2493 /* Number of AHB-Lite "hmaster[]" bits ([4, 8]). */
2494 #define TDM_MASTER_WIDTH                8u
2495 /* Number of TDM structures ({1, 2, 3, 4}]). */
2496 #define TDM_NR                          1u
2497 /* Number of channels per TDM structure. */
2498 #define TDM_NR_CH_NR                    2u
2499 /* Number of channels per TDM structure. */
2500 #define TDM_NR_TDM_RX_STRUCT_CH_NR      2u
2501 /* Number of channels per TDM structure. */
2502 #define TDM_NR_TDM_TX_STRUCT_CH_NR      2u
2503 /* Spare Enable 0=no spare, 1=max, 2=min */
2504 #define TDM_SPARE_EN                    1u
2505 /* 0=ULL65, 1=MXS40-ULP, 2=MXS40E, 3=M0S8, 4=MXS40-HD, 5=F45, 6=MXS40v2, 7=T28HPM,
2506    8=T28HPL, 9=T28HPC */
2507 #define TDM_PLATFORM_VARIANT            6u
2508 /* SRAM vendor ({0=Cypress, 1=Synopsys, 2=ARM, 3=BRCM}) */
2509 #define TDM_RAM_VEND                    1u
2510 /* Use mxsramwrap IP */
2511 #define TDM_MXSRAMWRAP_EN               1u
2512 /* Number of connected clocks at the IP's top level ([1, 4]). */
2513 #define TDM_CHIP_TOP_CLK_NR             1u
2514 /* Replay functionality for transmitter. This functionality adds significant
2515    silicon area. */
2516 #define TDM_TDM_TX_STRUCT_REPLAY_PRESENT 0u
2517 
2518 /* MMIO Targets Defines */
2519 /* MMIO0.SRSS */
2520 #define CY_MMIO_SRSS_GROUP_NR           0u
2521 #define CY_MMIO_SRSS_SLAVE_NR           4u
2522 /* MMIO0.PWRMODE */
2523 #define CY_MMIO_PWRMODE_GROUP_NR        0u
2524 #define CY_MMIO_PWRMODE_SLAVE_NR        5u
2525 /* MMIO0.BACKUP */
2526 #define CY_MMIO_BACKUP_GROUP_NR         0u
2527 #define CY_MMIO_BACKUP_SLAVE_NR         6u
2528 /* MMIO0.CRYPTO */
2529 #define CY_MMIO_CRYPTO_GROUP_NR         0u
2530 #define CY_MMIO_CRYPTO_SLAVE_NR         7u
2531 /* MMIO1.HSIOM */
2532 #define CY_MMIO_HSIOM_GROUP_NR          1u
2533 #define CY_MMIO_HSIOM_SLAVE_NR          0u
2534 /* MMIO1.GPIO */
2535 #define CY_MMIO_GPIO_GROUP_NR           1u
2536 #define CY_MMIO_GPIO_SLAVE_NR           1u
2537 /* MMIO1.SMARTIO */
2538 #define CY_MMIO_SMARTIO_GROUP_NR        1u
2539 #define CY_MMIO_SMARTIO_SLAVE_NR        2u
2540 /* MMIO1.LIN0 */
2541 #define CY_MMIO_LIN0_GROUP_NR           1u
2542 #define CY_MMIO_LIN0_SLAVE_NR           3u
2543 /* MMIO1.CANFD0 */
2544 #define CY_MMIO_CANFD0_GROUP_NR         1u
2545 #define CY_MMIO_CANFD0_SLAVE_NR         4u
2546 /* MMIO1.TCPWM0 */
2547 #define CY_MMIO_TCPWM0_GROUP_NR         1u
2548 #define CY_MMIO_TCPWM0_SLAVE_NR         5u
2549 /* MMIO1.MXS40ADCMIC0 */
2550 #define CY_MMIO_MXS40ADCMIC0_GROUP_NR   1u
2551 #define CY_MMIO_MXS40ADCMIC0_SLAVE_NR   6u
2552 /* MMIO1.SCB0 */
2553 #define CY_MMIO_SCB0_GROUP_NR           1u
2554 #define CY_MMIO_SCB0_SLAVE_NR           7u
2555 /* MMIO1.SCB1 */
2556 #define CY_MMIO_SCB1_GROUP_NR           1u
2557 #define CY_MMIO_SCB1_SLAVE_NR           8u
2558 /* MMIO1.SCB2 */
2559 #define CY_MMIO_SCB2_GROUP_NR           1u
2560 #define CY_MMIO_SCB2_SLAVE_NR           9u
2561 /* MMIO2.DFT */
2562 #define CY_MMIO_DFT_GROUP_NR            2u
2563 #define CY_MMIO_DFT_SLAVE_NR            0u
2564 /* MMIO2.EFUSE */
2565 #define CY_MMIO_EFUSE_GROUP_NR          2u
2566 #define CY_MMIO_EFUSE_SLAVE_NR          1u
2567 /* MMIO2.SMIF0 */
2568 #define CY_MMIO_SMIF0_GROUP_NR          2u
2569 #define CY_MMIO_SMIF0_SLAVE_NR          2u
2570 /* MMIO2.TDM0 */
2571 #define CY_MMIO_TDM0_GROUP_NR           2u
2572 #define CY_MMIO_TDM0_SLAVE_NR           3u
2573 /* MMIO2.PDM0 */
2574 #define CY_MMIO_PDM0_GROUP_NR           2u
2575 #define CY_MMIO_PDM0_SLAVE_NR           4u
2576 /* MMIO2.KEYSCAN */
2577 #define CY_MMIO_KEYSCAN_GROUP_NR        2u
2578 #define CY_MMIO_KEYSCAN_SLAVE_NR        5u
2579 /* MMIO3.BTSS */
2580 #define CY_MMIO_BTSS_GROUP_NR           3u
2581 #define CY_MMIO_BTSS_SLAVE_NR           0u
2582 
2583 /* Protection regions */
2584 typedef enum
2585 {
2586     PROT_PERI_MAIN                  =   0,      /* Address 0x40000000, size 0x00004000 */
2587     PROT_PERI_GR0_GROUP             =   1,      /* Address 0x40004010, size 0x00000008 */
2588     PROT_PERI_GR1_GROUP             =   2,      /* Address 0x40004040, size 0x00000020 */
2589     PROT_PERI_GR2_GROUP             =   3,      /* Address 0x40004080, size 0x00000020 */
2590     PROT_PERI_GR3_GROUP             =   4,      /* Address 0x400040d0, size 0x00000010 */
2591     PROT_PERI_GR0_BOOT              =   5,      /* Address 0x40004020, size 0x00000004 */
2592     PROT_PERI_GR1_BOOT              =   6,      /* Address 0x40004060, size 0x00000004 */
2593     PROT_PERI_GR2_BOOT              =   7,      /* Address 0x400040a0, size 0x00000004 */
2594     PROT_PERI_GR3_BOOT              =   8,      /* Address 0x400040e0, size 0x00000004 */
2595     PROT_PERI_TR                    =   9,      /* Address 0x40008000, size 0x00008000 */
2596     PROT_PPC_PPC_SECURE             =  10,      /* Address 0x40020000, size 0x00004000 */
2597     PROT_PPC_PPC_NONSECURE          =  11,      /* Address 0x40024000, size 0x00004000 */
2598     PROT_PERI_PCLK_MAIN             =  12,      /* Address 0x40040000, size 0x00010000 */
2599     PROT_CPUSS                      =  13,      /* Address 0x40100000, size 0x00010000 */
2600     PROT_RAMC0_CM33                 =  14,      /* Address 0x40110000, size 0x00000010 */
2601     PROT_RAMC0_BOOT                 =  15,      /* Address 0x40110100, size 0x00000004 */
2602     PROT_RAMC0_RAM_PWR              =  16,      /* Address 0x40110200, size 0x00000100 */
2603     PROT_RAMC0_MPC0_PPC_MPC_MAIN    =  17,      /* Address 0x40114000, size 0x00000040 */
2604     PROT_RAMC0_MPC0_PPC_MPC_PC      =  18,      /* Address 0x40114100, size 0x00000020 */
2605     PROT_RAMC0_MPC0_PPC_MPC_ROT     =  19,      /* Address 0x40114200, size 0x00000020 */
2606     PROT_PROMC_CM33                 =  20,      /* Address 0x40140000, size 0x00000004 */
2607     PROT_PROMC_MPC0_PPC_MPC_MAIN    =  21,      /* Address 0x40141000, size 0x00000040 */
2608     PROT_PROMC_MPC0_PPC_MPC_PC      =  22,      /* Address 0x40141100, size 0x00000020 */
2609     PROT_PROMC_MPC0_PPC_MPC_ROT     =  23,      /* Address 0x40141200, size 0x00000020 */
2610     PROT_MXCM33_CM33                =  24,      /* Address 0x40160000, size 0x00000100 */
2611     PROT_MXCM33_CM33_NS             =  25,      /* Address 0x40161004, size 0x00000004 */
2612     PROT_MXCM33_BOOT                =  26,      /* Address 0x40162000, size 0x00000100 */
2613     PROT_MXCM33_CM33_INT            =  27,      /* Address 0x40168000, size 0x00000200 */
2614     PROT_DW0_DW                     =  28,      /* Address 0x40180000, size 0x00000080 */
2615     PROT_DW0_DW_CRC                 =  29,      /* Address 0x40180100, size 0x00000080 */
2616     PROT_DW0_CH_STRUCT0_CH          =  30,      /* Address 0x40188000, size 0x00000040 */
2617     PROT_DW0_CH_STRUCT1_CH          =  31,      /* Address 0x40188040, size 0x00000040 */
2618     PROT_DW0_CH_STRUCT2_CH          =  32,      /* Address 0x40188080, size 0x00000040 */
2619     PROT_DW0_CH_STRUCT3_CH          =  33,      /* Address 0x401880c0, size 0x00000040 */
2620     PROT_DW0_CH_STRUCT4_CH          =  34,      /* Address 0x40188100, size 0x00000040 */
2621     PROT_DW0_CH_STRUCT5_CH          =  35,      /* Address 0x40188140, size 0x00000040 */
2622     PROT_DW0_CH_STRUCT6_CH          =  36,      /* Address 0x40188180, size 0x00000040 */
2623     PROT_DW0_CH_STRUCT7_CH          =  37,      /* Address 0x401881c0, size 0x00000040 */
2624     PROT_DW0_CH_STRUCT8_CH          =  38,      /* Address 0x40188200, size 0x00000040 */
2625     PROT_DW0_CH_STRUCT9_CH          =  39,      /* Address 0x40188240, size 0x00000040 */
2626     PROT_DW0_CH_STRUCT10_CH         =  40,      /* Address 0x40188280, size 0x00000040 */
2627     PROT_DW0_CH_STRUCT11_CH         =  41,      /* Address 0x401882c0, size 0x00000040 */
2628     PROT_DW0_CH_STRUCT12_CH         =  42,      /* Address 0x40188300, size 0x00000040 */
2629     PROT_DW0_CH_STRUCT13_CH         =  43,      /* Address 0x40188340, size 0x00000040 */
2630     PROT_DW0_CH_STRUCT14_CH         =  44,      /* Address 0x40188380, size 0x00000040 */
2631     PROT_DW0_CH_STRUCT15_CH         =  45,      /* Address 0x401883c0, size 0x00000040 */
2632     PROT_CPUSS_ALL_PC               =  46,      /* Address 0x401c0000, size 0x00000080 */
2633     PROT_CPUSS_DDFT                 =  47,      /* Address 0x401c0080, size 0x00000004 */
2634     PROT_CPUSS_CM33_NS              =  48,      /* Address 0x401c0120, size 0x00000004 */
2635     PROT_CPUSS_AHB_ERR_INT          =  49,      /* Address 0x401c0200, size 0x00000040 */
2636     PROT_CPUSS_AP                   =  50,      /* Address 0x401c1000, size 0x00000004 */
2637     PROT_CPUSS_BOOT                 =  51,      /* Address 0x401c2000, size 0x00000200 */
2638     PROT_MS0_MAIN                   =  52,      /* Address 0x401c4000, size 0x00000004 */
2639     PROT_MS4_MAIN                   =  53,      /* Address 0x401c4040, size 0x00000004 */
2640     PROT_MS7_MAIN                   =  54,      /* Address 0x401c4070, size 0x00000004 */
2641     PROT_MS9_MAIN                   =  55,      /* Address 0x401c4090, size 0x00000004 */
2642     PROT_MS31_MAIN                  =  56,      /* Address 0x401c41f0, size 0x00000004 */
2643     PROT_MS_PC0_PRIV                =  57,      /* Address 0x401c5000, size 0x00000004 */
2644     PROT_MS_PC9_PRIV                =  58,      /* Address 0x401c5090, size 0x00000004 */
2645     PROT_MS_PC31_PRIV               =  59,      /* Address 0x401c51f0, size 0x00000004 */
2646     PROT_MS_PC0_PRIV_MIR            =  60,      /* Address 0x401c5004, size 0x00000004 */
2647     PROT_MS_PC9_PRIV_MIR            =  61,      /* Address 0x401c5094, size 0x00000004 */
2648     PROT_MS_PC31_PRIV_MIR           =  62,      /* Address 0x401c51f4, size 0x00000004 */
2649     PROT_MSC_ACG                    =  63,      /* Address 0x401c6000, size 0x00000040 */
2650     PROT_CPUSS_SL_CTL_GROUP         =  64,      /* Address 0x401c8000, size 0x00000008 */
2651     PROT_IPC_STRUCT0_IPC            =  65,      /* Address 0x401d0000, size 0x00000020 */
2652     PROT_IPC_STRUCT1_IPC            =  66,      /* Address 0x401d0020, size 0x00000020 */
2653     PROT_IPC_STRUCT2_IPC            =  67,      /* Address 0x401d0040, size 0x00000020 */
2654     PROT_IPC_STRUCT3_IPC            =  68,      /* Address 0x401d0060, size 0x00000020 */
2655     PROT_IPC_INTR_STRUCT0_INTR      =  69,      /* Address 0x401d1000, size 0x00000010 */
2656     PROT_IPC_INTR_STRUCT1_INTR      =  70,      /* Address 0x401d1020, size 0x00000010 */
2657     PROT_SRSS_GENERAL               =  71,      /* Address 0x40200000, size 0x00000400 */
2658     PROT_SRSS_GENERAL2              =  72,      /* Address 0x40200400, size 0x00000020 */
2659     PROT_SRSS_HIB_DATA              =  73,      /* Address 0x40200800, size 0x00000100 */
2660     PROT_SRSS_MAIN                  =  74,      /* Address 0x40201000, size 0x00001000 */
2661     PROT_SRSS_SECURE                =  75,      /* Address 0x40202000, size 0x00002000 */
2662     PROT_SRSS_WDT                   =  76,      /* Address 0x4020c000, size 0x00000010 */
2663     PROT_MAIN                       =  77,      /* Address 0x4020d000, size 0x00000040 */
2664     PROT_PWRMODE_PWRMODE            =  78,      /* Address 0x40210000, size 0x00004000 */
2665     PROT_BACKUP_BACKUP              =  79,      /* Address 0x40220000, size 0x00000100 */
2666     PROT_BACKUP_B_BREG0             =  80,      /* Address 0x40221000, size 0x00000010 */
2667     PROT_BACKUP_B_BREG1             =  81,      /* Address 0x40221010, size 0x00000010 */
2668     PROT_BACKUP_B_BREG2             =  82,      /* Address 0x40221020, size 0x00000020 */
2669     PROT_BACKUP_BACKUP_SECURE       =  83,      /* Address 0x4022ff00, size 0x00000004 */
2670     PROT_CRYPTO_MAIN                =  84,      /* Address 0x40230000, size 0x00000100 */
2671     PROT_CRYPTO_TRNG                =  85,      /* Address 0x40230100, size 0x00000100 */
2672     PROT_HSIOM_PRT0_PRT             =  86,      /* Address 0x40400000, size 0x00000008 */
2673     PROT_HSIOM_PRT1_PRT             =  87,      /* Address 0x40400010, size 0x00000008 */
2674     PROT_HSIOM_PRT2_PRT             =  88,      /* Address 0x40400020, size 0x00000008 */
2675     PROT_HSIOM_PRT3_PRT             =  89,      /* Address 0x40400030, size 0x00000008 */
2676     PROT_HSIOM_PRT4_PRT             =  90,      /* Address 0x40400040, size 0x00000008 */
2677     PROT_HSIOM_PRT5_PRT             =  91,      /* Address 0x40400050, size 0x00000008 */
2678     PROT_HSIOM_MON                  =  92,      /* Address 0x40402200, size 0x00000010 */
2679     PROT_GPIO_PRT0_PRT              =  93,      /* Address 0x40410000, size 0x00000040 */
2680     PROT_GPIO_PRT1_PRT              =  94,      /* Address 0x40410080, size 0x00000040 */
2681     PROT_GPIO_PRT2_PRT              =  95,      /* Address 0x40410100, size 0x00000040 */
2682     PROT_GPIO_PRT3_PRT              =  96,      /* Address 0x40410180, size 0x00000040 */
2683     PROT_GPIO_PRT4_PRT              =  97,      /* Address 0x40410200, size 0x00000040 */
2684     PROT_GPIO_PRT5_PRT              =  98,      /* Address 0x40410280, size 0x00000040 */
2685     PROT_GPIO_PRT0_CFG              =  99,      /* Address 0x40410040, size 0x00000040 */
2686     PROT_GPIO_PRT1_CFG              = 100,      /* Address 0x404100c0, size 0x00000040 */
2687     PROT_GPIO_PRT2_CFG              = 101,      /* Address 0x40410140, size 0x00000040 */
2688     PROT_GPIO_PRT3_CFG              = 102,      /* Address 0x404101c0, size 0x00000040 */
2689     PROT_GPIO_PRT4_CFG              = 103,      /* Address 0x40410240, size 0x00000040 */
2690     PROT_GPIO_PRT5_CFG              = 104,      /* Address 0x404102c0, size 0x00000040 */
2691     PROT_GPIO_GPIO                  = 105,      /* Address 0x40418000, size 0x00000040 */
2692     PROT_GPIO_TEST                  = 106,      /* Address 0x40419000, size 0x00000008 */
2693     PROT_SMARTIO_PRT3_PRT           = 107,      /* Address 0x40420300, size 0x00000100 */
2694     PROT_LIN0_MAIN                  = 108,      /* Address 0x40430000, size 0x00000008 */
2695     PROT_LIN0_CH0_CH                = 109,      /* Address 0x40438000, size 0x00000100 */
2696     PROT_LIN0_CH1_CH                = 110,      /* Address 0x40438100, size 0x00000100 */
2697     PROT_CANFD0_CH0_CH              = 111,      /* Address 0x40440000, size 0x00000200 */
2698     PROT_CANFD0_MAIN                = 112,      /* Address 0x40441000, size 0x00000040 */
2699     PROT_CANFD0_BUF                 = 113,      /* Address 0x40450000, size 0x00010000 */
2700     PROT_TCPWM0_GRP0_CNT0_CNT       = 114,      /* Address 0x404a0000, size 0x00000080 */
2701     PROT_TCPWM0_GRP0_CNT1_CNT       = 115,      /* Address 0x404a0080, size 0x00000080 */
2702     PROT_TCPWM0_GRP1_CNT0_CNT       = 116,      /* Address 0x404a8000, size 0x00000080 */
2703     PROT_TCPWM0_GRP1_CNT1_CNT       = 117,      /* Address 0x404a8080, size 0x00000080 */
2704     PROT_TCPWM0_GRP1_CNT2_CNT       = 118,      /* Address 0x404a8100, size 0x00000080 */
2705     PROT_TCPWM0_GRP1_CNT3_CNT       = 119,      /* Address 0x404a8180, size 0x00000080 */
2706     PROT_TCPWM0_GRP1_CNT4_CNT       = 120,      /* Address 0x404a8200, size 0x00000080 */
2707     PROT_TCPWM0_GRP1_CNT5_CNT       = 121,      /* Address 0x404a8280, size 0x00000080 */
2708     PROT_TCPWM0_GRP1_CNT6_CNT       = 122,      /* Address 0x404a8300, size 0x00000080 */
2709     PROT_MXS40ADCMIC0_MAIN          = 123,      /* Address 0x40520000, size 0x00000400 */
2710     PROT_SCB0                       = 124,      /* Address 0x40590000, size 0x00010000 */
2711     PROT_SCB1                       = 125,      /* Address 0x405a0000, size 0x00010000 */
2712     PROT_SCB2                       = 126,      /* Address 0x405b0000, size 0x00010000 */
2713     PROT_DFT                        = 127,      /* Address 0x40800000, size 0x00001000 */
2714     PROT_EFUSE_CTL1                 = 128,      /* Address 0x40810000, size 0x00000004 */
2715     PROT_EFUSE_CTL2                 = 129,      /* Address 0x40810100, size 0x00000080 */
2716     PROT_EFUSE_CTL3                 = 130,      /* Address 0x40810180, size 0x00000004 */
2717     PROT_EFUSE_DATA_BOOT1           = 131,      /* Address 0x40810800, size 0x00000020 */
2718     PROT_EFUSE_DATA_BOOT2           = 132,      /* Address 0x40810820, size 0x00000010 */
2719     PROT_EFUSE_DATA_BOOT3           = 133,      /* Address 0x40810830, size 0x00000004 */
2720     PROT_EFUSE_DATA_BLESS1          = 134,      /* Address 0x40810834, size 0x00000004 */
2721     PROT_EFUSE_DATA_BLESS2          = 135,      /* Address 0x40810838, size 0x00000004 */
2722     PROT_EFUSE_DATA_BLESS3          = 136,      /* Address 0x4081083c, size 0x00000004 */
2723     PROT_EFUSE_DATA_APP1            = 137,      /* Address 0x40810840, size 0x00000010 */
2724     PROT_EFUSE_DATA_APP2            = 138,      /* Address 0x40810850, size 0x00000010 */
2725     PROT_EFUSE_DATA_APP3            = 139,      /* Address 0x40810860, size 0x00000010 */
2726     PROT_EFUSE_DATA_ALL             = 140,      /* Address 0x40810870, size 0x00000010 */
2727     PROT_SMIF0_MAIN                 = 141,      /* Address 0x40890000, size 0x00001000 */
2728     PROT_SMIF0_MPC0_PPC_MPC_MAIN    = 142,      /* Address 0x40891000, size 0x00000040 */
2729     PROT_SMIF0_MPC0_PPC_MPC_PC      = 143,      /* Address 0x40891100, size 0x00000020 */
2730     PROT_SMIF0_MPC0_PPC_MPC_ROT     = 144,      /* Address 0x40891200, size 0x00000020 */
2731     PROT_TDM0_TDM_STRUCT0_TDM_TX_STRUCT_TX = 145, /* Address 0x408c8000, size 0x00000100 */
2732     PROT_TDM0_TDM_STRUCT0_TDM_RX_STRUCT_RX = 146, /* Address 0x408c8100, size 0x00000100 */
2733     PROT_PDM0_MAIN                  = 147,      /* Address 0x408d0000, size 0x00000200 */
2734     PROT_PDM0_CH0_RX                = 148,      /* Address 0x408d8000, size 0x00000100 */
2735     PROT_PDM0_CH1_RX                = 149,      /* Address 0x408d8100, size 0x00000100 */
2736     PROT_MXKEYSCAN_MAIN             = 150,      /* Address 0x40920000, size 0x00000040 */
2737     PROT_BTSS_ROM                   = 151,      /* Address 0x42000000, size 0x00400000 */
2738     PROT_BTSS_SYSRAM                = 152,      /* Address 0x42400000, size 0x00004000 */
2739     PROT_BTSS_DATA_RAM_IPC          = 153,      /* Address 0x42600000, size 0x00100000 */
2740     PROT_BTSS_DRIVER                = 154,      /* Address 0x42a00000, size 0x00100000 */
2741     PROT_BTSS_FWONLY                = 155,      /* Address 0x42b00000, size 0x00100000 */
2742     PROT_BTSS_SECURE                = 156       /* Address 0x42f00000, size 0x00100000 */
2743 } cy_en_prot_region_t;
2744 
2745 #endif /* _CYW20829B0_CONFIG_H_ */
2746 
2747 
2748 /* [] END OF FILE */
2749