MAX32675 Peripheral Driver API
Peripheral Driver API for the MAX32675
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules
crc_regs.h
Go to the documentation of this file.
1
8/******************************************************************************
9 *
10 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
11 * Analog Devices, Inc.),
12 * Copyright (C) 2023-2024 Analog Devices, Inc.
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
28#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32675_INCLUDE_CRC_REGS_H_
29#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32675_INCLUDE_CRC_REGS_H_
30
31/* **** Includes **** */
32#include <stdint.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#if defined (__ICCARM__)
39 #pragma system_include
40#endif
41
42#if defined (__CC_ARM)
43 #pragma anon_unions
44#endif
46/*
47 If types are not defined elsewhere (CMSIS) define them here
48*/
49#ifndef __IO
50#define __IO volatile
51#endif
52#ifndef __I
53#define __I volatile const
54#endif
55#ifndef __O
56#define __O volatile
57#endif
58#ifndef __R
59#define __R volatile const
60#endif
62
63/* **** Definitions **** */
64
76typedef struct {
77 __IO uint32_t ctrl;
78 union {
79 __IO uint32_t datain32;
80 __IO uint16_t datain16;
81 __IO uint8_t datain8;
82 };
83 __IO uint32_t poly;
84 __IO uint32_t val;
86
87/* Register offsets for module CRC */
94#define MXC_R_CRC_CTRL ((uint32_t)0x00000000UL)
95#define MXC_R_CRC_DATAIN32 ((uint32_t)0x00000004UL)
96#define MXC_R_CRC_DATAIN16 ((uint32_t)0x00000004UL)
97#define MXC_R_CRC_DATAIN8 ((uint32_t)0x00000004UL)
98#define MXC_R_CRC_POLY ((uint32_t)0x00000008UL)
99#define MXC_R_CRC_VAL ((uint32_t)0x0000000CUL)
108#define MXC_F_CRC_CTRL_EN_POS 0
109#define MXC_F_CRC_CTRL_EN ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_EN_POS))
111#define MXC_F_CRC_CTRL_DMA_EN_POS 1
112#define MXC_F_CRC_CTRL_DMA_EN ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_DMA_EN_POS))
114#define MXC_F_CRC_CTRL_MSB_POS 2
115#define MXC_F_CRC_CTRL_MSB ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_MSB_POS))
117#define MXC_F_CRC_CTRL_BYTE_SWAP_IN_POS 3
118#define MXC_F_CRC_CTRL_BYTE_SWAP_IN ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_BYTE_SWAP_IN_POS))
120#define MXC_F_CRC_CTRL_BYTE_SWAP_OUT_POS 4
121#define MXC_F_CRC_CTRL_BYTE_SWAP_OUT ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_BYTE_SWAP_OUT_POS))
123#define MXC_F_CRC_CTRL_BUSY_POS 16
124#define MXC_F_CRC_CTRL_BUSY ((uint32_t)(0x1UL << MXC_F_CRC_CTRL_BUSY_POS))
134#define MXC_F_CRC_DATAIN32_DATA_POS 0
135#define MXC_F_CRC_DATAIN32_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_CRC_DATAIN32_DATA_POS))
145#define MXC_F_CRC_DATAIN16_DATA_POS 0
146#define MXC_F_CRC_DATAIN16_DATA ((uint16_t)(0xFFFFUL << MXC_F_CRC_DATAIN16_DATA_POS))
156#define MXC_F_CRC_DATAIN8_DATA_POS 0
157#define MXC_F_CRC_DATAIN8_DATA ((uint8_t)(0xFFUL << MXC_F_CRC_DATAIN8_DATA_POS))
167#define MXC_F_CRC_POLY_POLY_POS 0
168#define MXC_F_CRC_POLY_POLY ((uint32_t)(0xFFFFFFFFUL << MXC_F_CRC_POLY_POLY_POS))
178#define MXC_F_CRC_VAL_VALUE_POS 0
179#define MXC_F_CRC_VAL_VALUE ((uint32_t)(0xFFFFFFFFUL << MXC_F_CRC_VAL_VALUE_POS))
183#ifdef __cplusplus
184}
185#endif
186
187#endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32675_INCLUDE_CRC_REGS_H_
__IO uint32_t ctrl
Definition: crc_regs.h:77
__IO uint8_t datain8
Definition: crc_regs.h:81
__IO uint32_t poly
Definition: crc_regs.h:83
__IO uint16_t datain16
Definition: crc_regs.h:80
__IO uint32_t datain32
Definition: crc_regs.h:79
__IO uint32_t val
Definition: crc_regs.h:84
Definition: crc_regs.h:76