1 /*
2  * Copyright 1997-2016 Freescale Semiconductor, Inc.
3  * Copyright 2016-2021 NXP
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 /*!
9  * @file S32K344_LPCMP.h
10  * @version 1.9
11  * @date 2021-10-27
12  * @brief Peripheral Access Layer for S32K344_LPCMP
13  *
14  * This file contains register definitions and macros for easy access to their
15  * bit fields.
16  *
17  * This file assumes LITTLE endian system.
18  */
19 
20 /**
21 * @page misra_violations MISRA-C:2012 violations
22 *
23 * @section [global]
24 * Violates MISRA 2012 Advisory Rule 2.3, local typedef not referenced
25 * The SoC header defines typedef for all modules.
26 *
27 * @section [global]
28 * Violates MISRA 2012 Advisory Rule 2.5, local macro not referenced
29 * The SoC header defines macros for all modules and registers.
30 *
31 * @section [global]
32 * Violates MISRA 2012 Advisory Directive 4.9, Function-like macro
33 * These are generated macros used for accessing the bit-fields from registers.
34 *
35 * @section [global]
36 * Violates MISRA 2012 Required Rule 5.1, identifier clash
37 * The supported compilers use more than 31 significant characters for identifiers.
38 *
39 * @section [global]
40 * Violates MISRA 2012 Required Rule 5.2, identifier clash
41 * The supported compilers use more than 31 significant characters for identifiers.
42 *
43 * @section [global]
44 * Violates MISRA 2012 Required Rule 5.4, identifier clash
45 * The supported compilers use more than 31 significant characters for identifiers.
46 *
47 * @section [global]
48 * Violates MISRA 2012 Required Rule 5.5, identifier clash
49 * The supported compilers use more than 31 significant characters for identifiers.
50 *
51 * @section [global]
52 * Violates MISRA 2012 Required Rule 21.1, defined macro '__I' is reserved to the compiler
53 * This type qualifier is needed to ensure correct I/O access and addressing.
54 */
55 
56 /* Prevention from multiple including the same memory map */
57 #if !defined(S32K344_LPCMP_H_)  /* Check if memory map has not been already included */
58 #define S32K344_LPCMP_H_
59 
60 #include "S32K344_COMMON.h"
61 
62 /* ----------------------------------------------------------------------------
63    -- LPCMP Peripheral Access Layer
64    ---------------------------------------------------------------------------- */
65 
66 /*!
67  * @addtogroup LPCMP_Peripheral_Access_Layer LPCMP Peripheral Access Layer
68  * @{
69  */
70 
71 /** LPCMP - Register Layout Typedef */
72 typedef struct {
73   __I  uint32_t VERID;                             /**< Version ID Register, offset: 0x0 */
74   __I  uint32_t PARAM;                             /**< Parameter Register, offset: 0x4 */
75   __IO uint32_t CCR0;                              /**< Comparator Control Register 0, offset: 0x8 */
76   __IO uint32_t CCR1;                              /**< Comparator Control Register 1, offset: 0xC */
77   __IO uint32_t CCR2;                              /**< Comparator Control Register 2, offset: 0x10 */
78   uint8_t RESERVED_0[4];
79   __IO uint32_t DCR;                               /**< DAC Control Register, offset: 0x18 */
80   __IO uint32_t IER;                               /**< Interrupt Enable Register, offset: 0x1C */
81   __IO uint32_t CSR;                               /**< Comparator Status Register, offset: 0x20 */
82   __IO uint32_t RRCR0;                             /**< Round Robin Control Register 0, offset: 0x24 */
83   __IO uint32_t RRCR1;                             /**< Round Robin Control Register 1, offset: 0x28 */
84   __IO uint32_t RRCSR;                             /**< Round Robin Control and Status Register, offset: 0x2C */
85   __IO uint32_t RRSR;                              /**< Round Robin Status Register, offset: 0x30 */
86 } LPCMP_Type, *LPCMP_MemMapPtr;
87 
88 /** Number of instances of the LPCMP module. */
89 #define LPCMP_INSTANCE_COUNT                     (3u)
90 
91 /* LPCMP - Peripheral instance base addresses */
92 /** Peripheral LPCMP_0 base address */
93 #define IP_LPCMP_0_BASE                          (0x40370000u)
94 /** Peripheral LPCMP_0 base pointer */
95 #define IP_LPCMP_0                               ((LPCMP_Type *)IP_LPCMP_0_BASE)
96 /** Peripheral LPCMP_1 base address */
97 #define IP_LPCMP_1_BASE                          (0x40374000u)
98 /** Peripheral LPCMP_1 base pointer */
99 #define IP_LPCMP_1                               ((LPCMP_Type *)IP_LPCMP_1_BASE)
100 /** Peripheral LPCMP_2 base address */
101 #define IP_LPCMP_2_BASE                          (0x404E8000u)
102 /** Peripheral LPCMP_2 base pointer */
103 #define IP_LPCMP_2                               ((LPCMP_Type *)IP_LPCMP_2_BASE)
104 /** Array initializer of LPCMP peripheral base addresses */
105 #define IP_LPCMP_BASE_ADDRS                      { IP_LPCMP_0_BASE, IP_LPCMP_1_BASE, IP_LPCMP_2_BASE }
106 /** Array initializer of LPCMP peripheral base pointers */
107 #define IP_LPCMP_BASE_PTRS                       { IP_LPCMP_0, IP_LPCMP_1, IP_LPCMP_2 }
108 
109 /* ----------------------------------------------------------------------------
110    -- LPCMP Register Masks
111    ---------------------------------------------------------------------------- */
112 
113 /*!
114  * @addtogroup LPCMP_Register_Masks LPCMP Register Masks
115  * @{
116  */
117 
118 /*! @name VERID - Version ID Register */
119 /*! @{ */
120 
121 #define LPCMP_VERID_FEATURE_MASK                 (0xFFFFU)
122 #define LPCMP_VERID_FEATURE_SHIFT                (0U)
123 #define LPCMP_VERID_FEATURE_WIDTH                (16U)
124 #define LPCMP_VERID_FEATURE(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_FEATURE_SHIFT)) & LPCMP_VERID_FEATURE_MASK)
125 
126 #define LPCMP_VERID_MINOR_MASK                   (0xFF0000U)
127 #define LPCMP_VERID_MINOR_SHIFT                  (16U)
128 #define LPCMP_VERID_MINOR_WIDTH                  (8U)
129 #define LPCMP_VERID_MINOR(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MINOR_SHIFT)) & LPCMP_VERID_MINOR_MASK)
130 
131 #define LPCMP_VERID_MAJOR_MASK                   (0xFF000000U)
132 #define LPCMP_VERID_MAJOR_SHIFT                  (24U)
133 #define LPCMP_VERID_MAJOR_WIDTH                  (8U)
134 #define LPCMP_VERID_MAJOR(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MAJOR_SHIFT)) & LPCMP_VERID_MAJOR_MASK)
135 /*! @} */
136 
137 /*! @name PARAM - Parameter Register */
138 /*! @{ */
139 
140 #define LPCMP_PARAM_DAC_RES_MASK                 (0xFU)
141 #define LPCMP_PARAM_DAC_RES_SHIFT                (0U)
142 #define LPCMP_PARAM_DAC_RES_WIDTH                (4U)
143 #define LPCMP_PARAM_DAC_RES(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_PARAM_DAC_RES_SHIFT)) & LPCMP_PARAM_DAC_RES_MASK)
144 /*! @} */
145 
146 /*! @name CCR0 - Comparator Control Register 0 */
147 /*! @{ */
148 
149 #define LPCMP_CCR0_CMP_EN_MASK                   (0x1U)
150 #define LPCMP_CCR0_CMP_EN_SHIFT                  (0U)
151 #define LPCMP_CCR0_CMP_EN_WIDTH                  (1U)
152 #define LPCMP_CCR0_CMP_EN(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_EN_SHIFT)) & LPCMP_CCR0_CMP_EN_MASK)
153 
154 #define LPCMP_CCR0_CMP_STOP_EN_MASK              (0x2U)
155 #define LPCMP_CCR0_CMP_STOP_EN_SHIFT             (1U)
156 #define LPCMP_CCR0_CMP_STOP_EN_WIDTH             (1U)
157 #define LPCMP_CCR0_CMP_STOP_EN(x)                (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_STOP_EN_SHIFT)) & LPCMP_CCR0_CMP_STOP_EN_MASK)
158 
159 #define LPCMP_CCR0_LINKEN_MASK                   (0x4U)
160 #define LPCMP_CCR0_LINKEN_SHIFT                  (2U)
161 #define LPCMP_CCR0_LINKEN_WIDTH                  (1U)
162 #define LPCMP_CCR0_LINKEN(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_LINKEN_SHIFT)) & LPCMP_CCR0_LINKEN_MASK)
163 /*! @} */
164 
165 /*! @name CCR1 - Comparator Control Register 1 */
166 /*! @{ */
167 
168 #define LPCMP_CCR1_WINDOW_EN_MASK                (0x1U)
169 #define LPCMP_CCR1_WINDOW_EN_SHIFT               (0U)
170 #define LPCMP_CCR1_WINDOW_EN_WIDTH               (1U)
171 #define LPCMP_CCR1_WINDOW_EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_WINDOW_EN_SHIFT)) & LPCMP_CCR1_WINDOW_EN_MASK)
172 
173 #define LPCMP_CCR1_SAMPLE_EN_MASK                (0x2U)
174 #define LPCMP_CCR1_SAMPLE_EN_SHIFT               (1U)
175 #define LPCMP_CCR1_SAMPLE_EN_WIDTH               (1U)
176 #define LPCMP_CCR1_SAMPLE_EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_SAMPLE_EN_SHIFT)) & LPCMP_CCR1_SAMPLE_EN_MASK)
177 
178 #define LPCMP_CCR1_DMA_EN_MASK                   (0x4U)
179 #define LPCMP_CCR1_DMA_EN_SHIFT                  (2U)
180 #define LPCMP_CCR1_DMA_EN_WIDTH                  (1U)
181 #define LPCMP_CCR1_DMA_EN(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_DMA_EN_SHIFT)) & LPCMP_CCR1_DMA_EN_MASK)
182 
183 #define LPCMP_CCR1_COUT_INV_MASK                 (0x8U)
184 #define LPCMP_CCR1_COUT_INV_SHIFT                (3U)
185 #define LPCMP_CCR1_COUT_INV_WIDTH                (1U)
186 #define LPCMP_CCR1_COUT_INV(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_INV_SHIFT)) & LPCMP_CCR1_COUT_INV_MASK)
187 
188 #define LPCMP_CCR1_COUT_SEL_MASK                 (0x10U)
189 #define LPCMP_CCR1_COUT_SEL_SHIFT                (4U)
190 #define LPCMP_CCR1_COUT_SEL_WIDTH                (1U)
191 #define LPCMP_CCR1_COUT_SEL(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_SEL_SHIFT)) & LPCMP_CCR1_COUT_SEL_MASK)
192 
193 #define LPCMP_CCR1_COUT_PEN_MASK                 (0x20U)
194 #define LPCMP_CCR1_COUT_PEN_SHIFT                (5U)
195 #define LPCMP_CCR1_COUT_PEN_WIDTH                (1U)
196 #define LPCMP_CCR1_COUT_PEN(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_PEN_SHIFT)) & LPCMP_CCR1_COUT_PEN_MASK)
197 
198 #define LPCMP_CCR1_COUTA_OWEN_MASK               (0x40U)
199 #define LPCMP_CCR1_COUTA_OWEN_SHIFT              (6U)
200 #define LPCMP_CCR1_COUTA_OWEN_WIDTH              (1U)
201 #define LPCMP_CCR1_COUTA_OWEN(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUTA_OWEN_SHIFT)) & LPCMP_CCR1_COUTA_OWEN_MASK)
202 
203 #define LPCMP_CCR1_COUTA_OW_MASK                 (0x80U)
204 #define LPCMP_CCR1_COUTA_OW_SHIFT                (7U)
205 #define LPCMP_CCR1_COUTA_OW_WIDTH                (1U)
206 #define LPCMP_CCR1_COUTA_OW(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUTA_OW_SHIFT)) & LPCMP_CCR1_COUTA_OW_MASK)
207 
208 #define LPCMP_CCR1_WINDOW_INV_MASK               (0x100U)
209 #define LPCMP_CCR1_WINDOW_INV_SHIFT              (8U)
210 #define LPCMP_CCR1_WINDOW_INV_WIDTH              (1U)
211 #define LPCMP_CCR1_WINDOW_INV(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_WINDOW_INV_SHIFT)) & LPCMP_CCR1_WINDOW_INV_MASK)
212 
213 #define LPCMP_CCR1_WINDOW_CLS_MASK               (0x200U)
214 #define LPCMP_CCR1_WINDOW_CLS_SHIFT              (9U)
215 #define LPCMP_CCR1_WINDOW_CLS_WIDTH              (1U)
216 #define LPCMP_CCR1_WINDOW_CLS(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_WINDOW_CLS_SHIFT)) & LPCMP_CCR1_WINDOW_CLS_MASK)
217 
218 #define LPCMP_CCR1_EVT_SEL_MASK                  (0xC00U)
219 #define LPCMP_CCR1_EVT_SEL_SHIFT                 (10U)
220 #define LPCMP_CCR1_EVT_SEL_WIDTH                 (2U)
221 #define LPCMP_CCR1_EVT_SEL(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_EVT_SEL_SHIFT)) & LPCMP_CCR1_EVT_SEL_MASK)
222 
223 #define LPCMP_CCR1_FILT_CNT_MASK                 (0x70000U)
224 #define LPCMP_CCR1_FILT_CNT_SHIFT                (16U)
225 #define LPCMP_CCR1_FILT_CNT_WIDTH                (3U)
226 #define LPCMP_CCR1_FILT_CNT(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_CNT_SHIFT)) & LPCMP_CCR1_FILT_CNT_MASK)
227 
228 #define LPCMP_CCR1_FILT_PER_MASK                 (0xFF000000U)
229 #define LPCMP_CCR1_FILT_PER_SHIFT                (24U)
230 #define LPCMP_CCR1_FILT_PER_WIDTH                (8U)
231 #define LPCMP_CCR1_FILT_PER(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_PER_SHIFT)) & LPCMP_CCR1_FILT_PER_MASK)
232 /*! @} */
233 
234 /*! @name CCR2 - Comparator Control Register 2 */
235 /*! @{ */
236 
237 #define LPCMP_CCR2_CMP_HPMD_MASK                 (0x1U)
238 #define LPCMP_CCR2_CMP_HPMD_SHIFT                (0U)
239 #define LPCMP_CCR2_CMP_HPMD_WIDTH                (1U)
240 #define LPCMP_CCR2_CMP_HPMD(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_CMP_HPMD_SHIFT)) & LPCMP_CCR2_CMP_HPMD_MASK)
241 
242 #define LPCMP_CCR2_OFFSET_MASK                   (0x4U)
243 #define LPCMP_CCR2_OFFSET_SHIFT                  (2U)
244 #define LPCMP_CCR2_OFFSET_WIDTH                  (1U)
245 #define LPCMP_CCR2_OFFSET(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_OFFSET_SHIFT)) & LPCMP_CCR2_OFFSET_MASK)
246 
247 #define LPCMP_CCR2_HYSTCTR_MASK                  (0x30U)
248 #define LPCMP_CCR2_HYSTCTR_SHIFT                 (4U)
249 #define LPCMP_CCR2_HYSTCTR_WIDTH                 (2U)
250 #define LPCMP_CCR2_HYSTCTR(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_HYSTCTR_SHIFT)) & LPCMP_CCR2_HYSTCTR_MASK)
251 
252 #define LPCMP_CCR2_PSEL_MASK                     (0x70000U)
253 #define LPCMP_CCR2_PSEL_SHIFT                    (16U)
254 #define LPCMP_CCR2_PSEL_WIDTH                    (3U)
255 #define LPCMP_CCR2_PSEL(x)                       (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_PSEL_SHIFT)) & LPCMP_CCR2_PSEL_MASK)
256 
257 #define LPCMP_CCR2_MSEL_MASK                     (0x700000U)
258 #define LPCMP_CCR2_MSEL_SHIFT                    (20U)
259 #define LPCMP_CCR2_MSEL_WIDTH                    (3U)
260 #define LPCMP_CCR2_MSEL(x)                       (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_MSEL_SHIFT)) & LPCMP_CCR2_MSEL_MASK)
261 
262 #define LPCMP_CCR2_INPSEL_MASK                   (0x3000000U)
263 #define LPCMP_CCR2_INPSEL_SHIFT                  (24U)
264 #define LPCMP_CCR2_INPSEL_WIDTH                  (2U)
265 #define LPCMP_CCR2_INPSEL(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_INPSEL_SHIFT)) & LPCMP_CCR2_INPSEL_MASK)
266 
267 #define LPCMP_CCR2_INMSEL_MASK                   (0x30000000U)
268 #define LPCMP_CCR2_INMSEL_SHIFT                  (28U)
269 #define LPCMP_CCR2_INMSEL_WIDTH                  (2U)
270 #define LPCMP_CCR2_INMSEL(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_INMSEL_SHIFT)) & LPCMP_CCR2_INMSEL_MASK)
271 /*! @} */
272 
273 /*! @name DCR - DAC Control Register */
274 /*! @{ */
275 
276 #define LPCMP_DCR_DAC_EN_MASK                    (0x1U)
277 #define LPCMP_DCR_DAC_EN_SHIFT                   (0U)
278 #define LPCMP_DCR_DAC_EN_WIDTH                   (1U)
279 #define LPCMP_DCR_DAC_EN(x)                      (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_EN_SHIFT)) & LPCMP_DCR_DAC_EN_MASK)
280 
281 #define LPCMP_DCR_VRSEL_MASK                     (0x100U)
282 #define LPCMP_DCR_VRSEL_SHIFT                    (8U)
283 #define LPCMP_DCR_VRSEL_WIDTH                    (1U)
284 #define LPCMP_DCR_VRSEL(x)                       (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_VRSEL_SHIFT)) & LPCMP_DCR_VRSEL_MASK)
285 
286 #define LPCMP_DCR_DAC_DATA_MASK                  (0xFF0000U)
287 #define LPCMP_DCR_DAC_DATA_SHIFT                 (16U)
288 #define LPCMP_DCR_DAC_DATA_WIDTH                 (8U)
289 #define LPCMP_DCR_DAC_DATA(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_DATA_SHIFT)) & LPCMP_DCR_DAC_DATA_MASK)
290 /*! @} */
291 
292 /*! @name IER - Interrupt Enable Register */
293 /*! @{ */
294 
295 #define LPCMP_IER_CFR_IE_MASK                    (0x1U)
296 #define LPCMP_IER_CFR_IE_SHIFT                   (0U)
297 #define LPCMP_IER_CFR_IE_WIDTH                   (1U)
298 #define LPCMP_IER_CFR_IE(x)                      (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFR_IE_SHIFT)) & LPCMP_IER_CFR_IE_MASK)
299 
300 #define LPCMP_IER_CFF_IE_MASK                    (0x2U)
301 #define LPCMP_IER_CFF_IE_SHIFT                   (1U)
302 #define LPCMP_IER_CFF_IE_WIDTH                   (1U)
303 #define LPCMP_IER_CFF_IE(x)                      (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFF_IE_SHIFT)) & LPCMP_IER_CFF_IE_MASK)
304 
305 #define LPCMP_IER_RRF_IE_MASK                    (0x4U)
306 #define LPCMP_IER_RRF_IE_SHIFT                   (2U)
307 #define LPCMP_IER_RRF_IE_WIDTH                   (1U)
308 #define LPCMP_IER_RRF_IE(x)                      (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_RRF_IE_SHIFT)) & LPCMP_IER_RRF_IE_MASK)
309 /*! @} */
310 
311 /*! @name CSR - Comparator Status Register */
312 /*! @{ */
313 
314 #define LPCMP_CSR_CFR_MASK                       (0x1U)
315 #define LPCMP_CSR_CFR_SHIFT                      (0U)
316 #define LPCMP_CSR_CFR_WIDTH                      (1U)
317 #define LPCMP_CSR_CFR(x)                         (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFR_SHIFT)) & LPCMP_CSR_CFR_MASK)
318 
319 #define LPCMP_CSR_CFF_MASK                       (0x2U)
320 #define LPCMP_CSR_CFF_SHIFT                      (1U)
321 #define LPCMP_CSR_CFF_WIDTH                      (1U)
322 #define LPCMP_CSR_CFF(x)                         (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFF_SHIFT)) & LPCMP_CSR_CFF_MASK)
323 
324 #define LPCMP_CSR_RRF_MASK                       (0x4U)
325 #define LPCMP_CSR_RRF_SHIFT                      (2U)
326 #define LPCMP_CSR_RRF_WIDTH                      (1U)
327 #define LPCMP_CSR_RRF(x)                         (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_RRF_SHIFT)) & LPCMP_CSR_RRF_MASK)
328 
329 #define LPCMP_CSR_COUT_MASK                      (0x100U)
330 #define LPCMP_CSR_COUT_SHIFT                     (8U)
331 #define LPCMP_CSR_COUT_WIDTH                     (1U)
332 #define LPCMP_CSR_COUT(x)                        (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_COUT_SHIFT)) & LPCMP_CSR_COUT_MASK)
333 /*! @} */
334 
335 /*! @name RRCR0 - Round Robin Control Register 0 */
336 /*! @{ */
337 
338 #define LPCMP_RRCR0_RR_EN_MASK                   (0x1U)
339 #define LPCMP_RRCR0_RR_EN_SHIFT                  (0U)
340 #define LPCMP_RRCR0_RR_EN_WIDTH                  (1U)
341 #define LPCMP_RRCR0_RR_EN(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR0_RR_EN_SHIFT)) & LPCMP_RRCR0_RR_EN_MASK)
342 
343 #define LPCMP_RRCR0_RR_NSAM_MASK                 (0x300U)
344 #define LPCMP_RRCR0_RR_NSAM_SHIFT                (8U)
345 #define LPCMP_RRCR0_RR_NSAM_WIDTH                (2U)
346 #define LPCMP_RRCR0_RR_NSAM(x)                   (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR0_RR_NSAM_SHIFT)) & LPCMP_RRCR0_RR_NSAM_MASK)
347 
348 #define LPCMP_RRCR0_RR_INITMOD_MASK              (0x3F0000U)
349 #define LPCMP_RRCR0_RR_INITMOD_SHIFT             (16U)
350 #define LPCMP_RRCR0_RR_INITMOD_WIDTH             (6U)
351 #define LPCMP_RRCR0_RR_INITMOD(x)                (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR0_RR_INITMOD_SHIFT)) & LPCMP_RRCR0_RR_INITMOD_MASK)
352 /*! @} */
353 
354 /*! @name RRCR1 - Round Robin Control Register 1 */
355 /*! @{ */
356 
357 #define LPCMP_RRCR1_RR_CH0EN_MASK                (0x1U)
358 #define LPCMP_RRCR1_RR_CH0EN_SHIFT               (0U)
359 #define LPCMP_RRCR1_RR_CH0EN_WIDTH               (1U)
360 #define LPCMP_RRCR1_RR_CH0EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH0EN_SHIFT)) & LPCMP_RRCR1_RR_CH0EN_MASK)
361 
362 #define LPCMP_RRCR1_RR_CH1EN_MASK                (0x2U)
363 #define LPCMP_RRCR1_RR_CH1EN_SHIFT               (1U)
364 #define LPCMP_RRCR1_RR_CH1EN_WIDTH               (1U)
365 #define LPCMP_RRCR1_RR_CH1EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH1EN_SHIFT)) & LPCMP_RRCR1_RR_CH1EN_MASK)
366 
367 #define LPCMP_RRCR1_RR_CH2EN_MASK                (0x4U)
368 #define LPCMP_RRCR1_RR_CH2EN_SHIFT               (2U)
369 #define LPCMP_RRCR1_RR_CH2EN_WIDTH               (1U)
370 #define LPCMP_RRCR1_RR_CH2EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH2EN_SHIFT)) & LPCMP_RRCR1_RR_CH2EN_MASK)
371 
372 #define LPCMP_RRCR1_RR_CH3EN_MASK                (0x8U)
373 #define LPCMP_RRCR1_RR_CH3EN_SHIFT               (3U)
374 #define LPCMP_RRCR1_RR_CH3EN_WIDTH               (1U)
375 #define LPCMP_RRCR1_RR_CH3EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH3EN_SHIFT)) & LPCMP_RRCR1_RR_CH3EN_MASK)
376 
377 #define LPCMP_RRCR1_RR_CH4EN_MASK                (0x10U)
378 #define LPCMP_RRCR1_RR_CH4EN_SHIFT               (4U)
379 #define LPCMP_RRCR1_RR_CH4EN_WIDTH               (1U)
380 #define LPCMP_RRCR1_RR_CH4EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH4EN_SHIFT)) & LPCMP_RRCR1_RR_CH4EN_MASK)
381 
382 #define LPCMP_RRCR1_RR_CH5EN_MASK                (0x20U)
383 #define LPCMP_RRCR1_RR_CH5EN_SHIFT               (5U)
384 #define LPCMP_RRCR1_RR_CH5EN_WIDTH               (1U)
385 #define LPCMP_RRCR1_RR_CH5EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH5EN_SHIFT)) & LPCMP_RRCR1_RR_CH5EN_MASK)
386 
387 #define LPCMP_RRCR1_RR_CH6EN_MASK                (0x40U)
388 #define LPCMP_RRCR1_RR_CH6EN_SHIFT               (6U)
389 #define LPCMP_RRCR1_RR_CH6EN_WIDTH               (1U)
390 #define LPCMP_RRCR1_RR_CH6EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH6EN_SHIFT)) & LPCMP_RRCR1_RR_CH6EN_MASK)
391 
392 #define LPCMP_RRCR1_RR_CH7EN_MASK                (0x80U)
393 #define LPCMP_RRCR1_RR_CH7EN_SHIFT               (7U)
394 #define LPCMP_RRCR1_RR_CH7EN_WIDTH               (1U)
395 #define LPCMP_RRCR1_RR_CH7EN(x)                  (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_RR_CH7EN_SHIFT)) & LPCMP_RRCR1_RR_CH7EN_MASK)
396 
397 #define LPCMP_RRCR1_FIXP_MASK                    (0x10000U)
398 #define LPCMP_RRCR1_FIXP_SHIFT                   (16U)
399 #define LPCMP_RRCR1_FIXP_WIDTH                   (1U)
400 #define LPCMP_RRCR1_FIXP(x)                      (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_FIXP_SHIFT)) & LPCMP_RRCR1_FIXP_MASK)
401 
402 #define LPCMP_RRCR1_FIXCH_MASK                   (0x700000U)
403 #define LPCMP_RRCR1_FIXCH_SHIFT                  (20U)
404 #define LPCMP_RRCR1_FIXCH_WIDTH                  (3U)
405 #define LPCMP_RRCR1_FIXCH(x)                     (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCR1_FIXCH_SHIFT)) & LPCMP_RRCR1_FIXCH_MASK)
406 /*! @} */
407 
408 /*! @name RRCSR - Round Robin Control and Status Register */
409 /*! @{ */
410 
411 #define LPCMP_RRCSR_RR_CH0OUT_MASK               (0x1U)
412 #define LPCMP_RRCSR_RR_CH0OUT_SHIFT              (0U)
413 #define LPCMP_RRCSR_RR_CH0OUT_WIDTH              (1U)
414 #define LPCMP_RRCSR_RR_CH0OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH0OUT_SHIFT)) & LPCMP_RRCSR_RR_CH0OUT_MASK)
415 
416 #define LPCMP_RRCSR_RR_CH1OUT_MASK               (0x2U)
417 #define LPCMP_RRCSR_RR_CH1OUT_SHIFT              (1U)
418 #define LPCMP_RRCSR_RR_CH1OUT_WIDTH              (1U)
419 #define LPCMP_RRCSR_RR_CH1OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH1OUT_SHIFT)) & LPCMP_RRCSR_RR_CH1OUT_MASK)
420 
421 #define LPCMP_RRCSR_RR_CH2OUT_MASK               (0x4U)
422 #define LPCMP_RRCSR_RR_CH2OUT_SHIFT              (2U)
423 #define LPCMP_RRCSR_RR_CH2OUT_WIDTH              (1U)
424 #define LPCMP_RRCSR_RR_CH2OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH2OUT_SHIFT)) & LPCMP_RRCSR_RR_CH2OUT_MASK)
425 
426 #define LPCMP_RRCSR_RR_CH3OUT_MASK               (0x8U)
427 #define LPCMP_RRCSR_RR_CH3OUT_SHIFT              (3U)
428 #define LPCMP_RRCSR_RR_CH3OUT_WIDTH              (1U)
429 #define LPCMP_RRCSR_RR_CH3OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH3OUT_SHIFT)) & LPCMP_RRCSR_RR_CH3OUT_MASK)
430 
431 #define LPCMP_RRCSR_RR_CH4OUT_MASK               (0x10U)
432 #define LPCMP_RRCSR_RR_CH4OUT_SHIFT              (4U)
433 #define LPCMP_RRCSR_RR_CH4OUT_WIDTH              (1U)
434 #define LPCMP_RRCSR_RR_CH4OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH4OUT_SHIFT)) & LPCMP_RRCSR_RR_CH4OUT_MASK)
435 
436 #define LPCMP_RRCSR_RR_CH5OUT_MASK               (0x20U)
437 #define LPCMP_RRCSR_RR_CH5OUT_SHIFT              (5U)
438 #define LPCMP_RRCSR_RR_CH5OUT_WIDTH              (1U)
439 #define LPCMP_RRCSR_RR_CH5OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH5OUT_SHIFT)) & LPCMP_RRCSR_RR_CH5OUT_MASK)
440 
441 #define LPCMP_RRCSR_RR_CH6OUT_MASK               (0x40U)
442 #define LPCMP_RRCSR_RR_CH6OUT_SHIFT              (6U)
443 #define LPCMP_RRCSR_RR_CH6OUT_WIDTH              (1U)
444 #define LPCMP_RRCSR_RR_CH6OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH6OUT_SHIFT)) & LPCMP_RRCSR_RR_CH6OUT_MASK)
445 
446 #define LPCMP_RRCSR_RR_CH7OUT_MASK               (0x80U)
447 #define LPCMP_RRCSR_RR_CH7OUT_SHIFT              (7U)
448 #define LPCMP_RRCSR_RR_CH7OUT_WIDTH              (1U)
449 #define LPCMP_RRCSR_RR_CH7OUT(x)                 (((uint32_t)(((uint32_t)(x)) << LPCMP_RRCSR_RR_CH7OUT_SHIFT)) & LPCMP_RRCSR_RR_CH7OUT_MASK)
450 /*! @} */
451 
452 /*! @name RRSR - Round Robin Status Register */
453 /*! @{ */
454 
455 #define LPCMP_RRSR_RR_CH0F_MASK                  (0x1U)
456 #define LPCMP_RRSR_RR_CH0F_SHIFT                 (0U)
457 #define LPCMP_RRSR_RR_CH0F_WIDTH                 (1U)
458 #define LPCMP_RRSR_RR_CH0F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH0F_SHIFT)) & LPCMP_RRSR_RR_CH0F_MASK)
459 
460 #define LPCMP_RRSR_RR_CH1F_MASK                  (0x2U)
461 #define LPCMP_RRSR_RR_CH1F_SHIFT                 (1U)
462 #define LPCMP_RRSR_RR_CH1F_WIDTH                 (1U)
463 #define LPCMP_RRSR_RR_CH1F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH1F_SHIFT)) & LPCMP_RRSR_RR_CH1F_MASK)
464 
465 #define LPCMP_RRSR_RR_CH2F_MASK                  (0x4U)
466 #define LPCMP_RRSR_RR_CH2F_SHIFT                 (2U)
467 #define LPCMP_RRSR_RR_CH2F_WIDTH                 (1U)
468 #define LPCMP_RRSR_RR_CH2F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH2F_SHIFT)) & LPCMP_RRSR_RR_CH2F_MASK)
469 
470 #define LPCMP_RRSR_RR_CH3F_MASK                  (0x8U)
471 #define LPCMP_RRSR_RR_CH3F_SHIFT                 (3U)
472 #define LPCMP_RRSR_RR_CH3F_WIDTH                 (1U)
473 #define LPCMP_RRSR_RR_CH3F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH3F_SHIFT)) & LPCMP_RRSR_RR_CH3F_MASK)
474 
475 #define LPCMP_RRSR_RR_CH4F_MASK                  (0x10U)
476 #define LPCMP_RRSR_RR_CH4F_SHIFT                 (4U)
477 #define LPCMP_RRSR_RR_CH4F_WIDTH                 (1U)
478 #define LPCMP_RRSR_RR_CH4F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH4F_SHIFT)) & LPCMP_RRSR_RR_CH4F_MASK)
479 
480 #define LPCMP_RRSR_RR_CH5F_MASK                  (0x20U)
481 #define LPCMP_RRSR_RR_CH5F_SHIFT                 (5U)
482 #define LPCMP_RRSR_RR_CH5F_WIDTH                 (1U)
483 #define LPCMP_RRSR_RR_CH5F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH5F_SHIFT)) & LPCMP_RRSR_RR_CH5F_MASK)
484 
485 #define LPCMP_RRSR_RR_CH6F_MASK                  (0x40U)
486 #define LPCMP_RRSR_RR_CH6F_SHIFT                 (6U)
487 #define LPCMP_RRSR_RR_CH6F_WIDTH                 (1U)
488 #define LPCMP_RRSR_RR_CH6F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH6F_SHIFT)) & LPCMP_RRSR_RR_CH6F_MASK)
489 
490 #define LPCMP_RRSR_RR_CH7F_MASK                  (0x80U)
491 #define LPCMP_RRSR_RR_CH7F_SHIFT                 (7U)
492 #define LPCMP_RRSR_RR_CH7F_WIDTH                 (1U)
493 #define LPCMP_RRSR_RR_CH7F(x)                    (((uint32_t)(((uint32_t)(x)) << LPCMP_RRSR_RR_CH7F_SHIFT)) & LPCMP_RRSR_RR_CH7F_MASK)
494 /*! @} */
495 
496 /*!
497  * @}
498  */ /* end of group LPCMP_Register_Masks */
499 
500 /*!
501  * @}
502  */ /* end of group LPCMP_Peripheral_Access_Layer */
503 
504 #endif  /* #if !defined(S32K344_LPCMP_H_) */
505