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