/** ****************************************************************************** * @file cks_reg.h * @version V1.2 * @date 2020-03-30 * @brief This file is the description of.IP register ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2019 Bouffalo Lab

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of Bouffalo Lab nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ #ifndef __CKS_REG_H__ #define __CKS_REG_H__ #include "bl702.h" /* 0x0 : cks_config */ #define CKS_CONFIG_OFFSET (0x0) #define CKS_CR_CKS_CLR CKS_CR_CKS_CLR #define CKS_CR_CKS_CLR_POS (0U) #define CKS_CR_CKS_CLR_LEN (1U) #define CKS_CR_CKS_CLR_MSK (((1U << CKS_CR_CKS_CLR_LEN) - 1) << CKS_CR_CKS_CLR_POS) #define CKS_CR_CKS_CLR_UMSK (~(((1U << CKS_CR_CKS_CLR_LEN) - 1) << CKS_CR_CKS_CLR_POS)) #define CKS_CR_CKS_BYTE_SWAP CKS_CR_CKS_BYTE_SWAP #define CKS_CR_CKS_BYTE_SWAP_POS (1U) #define CKS_CR_CKS_BYTE_SWAP_LEN (1U) #define CKS_CR_CKS_BYTE_SWAP_MSK (((1U << CKS_CR_CKS_BYTE_SWAP_LEN) - 1) << CKS_CR_CKS_BYTE_SWAP_POS) #define CKS_CR_CKS_BYTE_SWAP_UMSK (~(((1U << CKS_CR_CKS_BYTE_SWAP_LEN) - 1) << CKS_CR_CKS_BYTE_SWAP_POS)) /* 0x4 : data_in */ #define CKS_DATA_IN_OFFSET (0x4) #define CKS_DATA_IN CKS_DATA_IN #define CKS_DATA_IN_POS (0U) #define CKS_DATA_IN_LEN (8U) #define CKS_DATA_IN_MSK (((1U << CKS_DATA_IN_LEN) - 1) << CKS_DATA_IN_POS) #define CKS_DATA_IN_UMSK (~(((1U << CKS_DATA_IN_LEN) - 1) << CKS_DATA_IN_POS)) /* 0x8 : cks_out */ #define CKS_OUT_OFFSET (0x8) #define CKS_OUT CKS_OUT #define CKS_OUT_POS (0U) #define CKS_OUT_LEN (16U) #define CKS_OUT_MSK (((1U << CKS_OUT_LEN) - 1) << CKS_OUT_POS) #define CKS_OUT_UMSK (~(((1U << CKS_OUT_LEN) - 1) << CKS_OUT_POS)) struct cks_reg { /* 0x0 : cks_config */ union { struct { uint32_t cr_cks_clr : 1; /* [ 0], w1c, 0x0 */ uint32_t cr_cks_byte_swap : 1; /* [ 1], r/w, 0x0 */ uint32_t reserved_2_31 : 30; /* [31: 2], rsvd, 0x0 */ } BF; uint32_t WORD; } cks_config; /* 0x4 : data_in */ union { struct { uint32_t data_in : 8; /* [ 7: 0], w, x */ uint32_t reserved_8_31 : 24; /* [31: 8], rsvd, 0x0 */ } BF; uint32_t WORD; } data_in; /* 0x8 : cks_out */ union { struct { uint32_t cks_out : 16; /* [15: 0], r, 0xffff */ uint32_t reserved_16_31 : 16; /* [31:16], rsvd, 0x0 */ } BF; uint32_t WORD; } cks_out; }; typedef volatile struct cks_reg cks_reg_t; #endif /* __CKS_REG_H__ */