1 /***************************************************************************//** 2 * \file cyip_dac.h 3 * 4 * \brief 5 * DAC IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2024), 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 _CYIP_DAC_H_ 28 #define _CYIP_DAC_H_ 29 30 #include "cyip_headers.h" 31 32 /******************************************************************************* 33 * DAC 34 *******************************************************************************/ 35 36 #define DAC_SECTION_SIZE 0x00000100UL 37 38 /** 39 * \brief DAC (DAC) 40 */ 41 typedef struct { 42 __IOM uint32_t CTL; /*!< 0x00000000 Control */ 43 __IOM uint32_t IF_CTL; /*!< 0x00000004 Interface Control */ 44 __IOM uint32_t COUNT; /*!< 0x00000008 Count */ 45 __IM uint32_t RESERVED; 46 __IM uint32_t STATUS; /*!< 0x00000010 Status */ 47 __IM uint32_t RESERVED1[27]; 48 __IOM uint32_t TX_FIFO_CTL; /*!< 0x00000080 TX FIFO control */ 49 __IM uint32_t TX_FIFO_STATUS; /*!< 0x00000084 TX FIFO status */ 50 __OM uint32_t TX_FIFO_WR; /*!< 0x00000088 TX FIFO write */ 51 __IM uint32_t RESERVED2[13]; 52 __IOM uint32_t INTR_TX; /*!< 0x000000C0 Interrupt */ 53 __IOM uint32_t INTR_TX_SET; /*!< 0x000000C4 Interrupt set */ 54 __IOM uint32_t INTR_TX_MASK; /*!< 0x000000C8 Interrupt mask */ 55 __IM uint32_t INTR_TX_MASKED; /*!< 0x000000CC Interrupt masked */ 56 } DAC_Type; /*!< Size = 208 (0xD0) */ 57 58 59 /* DAC.CTL */ 60 #define DAC_CTL_ENABLED_Pos 31UL 61 #define DAC_CTL_ENABLED_Msk 0x80000000UL 62 /* DAC.IF_CTL */ 63 #define DAC_IF_CTL_CLOCK_DIV_Pos 0UL 64 #define DAC_IF_CTL_CLOCK_DIV_Msk 0xFFUL 65 #define DAC_IF_CTL_CLOCK_SEL_Pos 8UL 66 #define DAC_IF_CTL_CLOCK_SEL_Msk 0x700UL 67 #define DAC_IF_CTL_FS_SEL_Pos 16UL 68 #define DAC_IF_CTL_FS_SEL_Msk 0x30000UL 69 #define DAC_IF_CTL_LDATA_POLARITY_Pos 24UL 70 #define DAC_IF_CTL_LDATA_POLARITY_Msk 0x1000000UL 71 #define DAC_IF_CTL_RDATA_POLARITY_Pos 25UL 72 #define DAC_IF_CTL_RDATA_POLARITY_Msk 0x2000000UL 73 #define DAC_IF_CTL_LDATA_SEL_Pos 26UL 74 #define DAC_IF_CTL_LDATA_SEL_Msk 0x4000000UL 75 #define DAC_IF_CTL_RDATA_SEL_Pos 27UL 76 #define DAC_IF_CTL_RDATA_SEL_Msk 0x8000000UL 77 #define DAC_IF_CTL_SW_OVERRIDE_FAST_RAMP_EN_Pos 30UL 78 #define DAC_IF_CTL_SW_OVERRIDE_FAST_RAMP_EN_Msk 0x40000000UL 79 #define DAC_IF_CTL_DAC_EN_Pos 31UL 80 #define DAC_IF_CTL_DAC_EN_Msk 0x80000000UL 81 /* DAC.COUNT */ 82 #define DAC_COUNT_COUNT_1MS_Pos 0UL 83 #define DAC_COUNT_COUNT_1MS_Msk 0xFFFFUL 84 #define DAC_COUNT_FAST_RAMP_COUNT_IN_MS_Pos 16UL 85 #define DAC_COUNT_FAST_RAMP_COUNT_IN_MS_Msk 0xFF0000UL 86 #define DAC_COUNT_COMP_RAMP_COUNT_IN_MS_Pos 24UL 87 #define DAC_COUNT_COMP_RAMP_COUNT_IN_MS_Msk 0xFF000000UL 88 /* DAC.STATUS */ 89 #define DAC_STATUS_DAC_BUSY_Pos 0UL 90 #define DAC_STATUS_DAC_BUSY_Msk 0x1UL 91 #define DAC_STATUS_FAST_RAMP_DONE_Pos 16UL 92 #define DAC_STATUS_FAST_RAMP_DONE_Msk 0x10000UL 93 #define DAC_STATUS_COMP_RAMP_DONE_Pos 17UL 94 #define DAC_STATUS_COMP_RAMP_DONE_Msk 0x20000UL 95 /* DAC.TX_FIFO_CTL */ 96 #define DAC_TX_FIFO_CTL_TRIGGER_LEVEL_Pos 0UL 97 #define DAC_TX_FIFO_CTL_TRIGGER_LEVEL_Msk 0x3FUL 98 #define DAC_TX_FIFO_CTL_MUTE_Pos 16UL 99 #define DAC_TX_FIFO_CTL_MUTE_Msk 0x10000UL 100 #define DAC_TX_FIFO_CTL_FREEZE_Pos 17UL 101 #define DAC_TX_FIFO_CTL_FREEZE_Msk 0x20000UL 102 #define DAC_TX_FIFO_CTL_ACTIVE_Pos 18UL 103 #define DAC_TX_FIFO_CTL_ACTIVE_Msk 0x40000UL 104 /* DAC.TX_FIFO_STATUS */ 105 #define DAC_TX_FIFO_STATUS_USED_Pos 0UL 106 #define DAC_TX_FIFO_STATUS_USED_Msk 0x7FUL 107 #define DAC_TX_FIFO_STATUS_RD_PTR_Pos 16UL 108 #define DAC_TX_FIFO_STATUS_RD_PTR_Msk 0x3F0000UL 109 #define DAC_TX_FIFO_STATUS_WR_PTR_Pos 24UL 110 #define DAC_TX_FIFO_STATUS_WR_PTR_Msk 0x3F000000UL 111 /* DAC.TX_FIFO_WR */ 112 #define DAC_TX_FIFO_WR_DATA_Pos 0UL 113 #define DAC_TX_FIFO_WR_DATA_Msk 0xFFFFFFFFUL 114 /* DAC.INTR_TX */ 115 #define DAC_INTR_TX_FIFO_TRIGGER_Pos 0UL 116 #define DAC_INTR_TX_FIFO_TRIGGER_Msk 0x1UL 117 #define DAC_INTR_TX_FIFO_OVERFLOW_Pos 1UL 118 #define DAC_INTR_TX_FIFO_OVERFLOW_Msk 0x2UL 119 #define DAC_INTR_TX_FIFO_UNDERFLOW_Pos 2UL 120 #define DAC_INTR_TX_FIFO_UNDERFLOW_Msk 0x4UL 121 #define DAC_INTR_TX_FAST_RAMP_COMPLETE_Pos 16UL 122 #define DAC_INTR_TX_FAST_RAMP_COMPLETE_Msk 0x10000UL 123 #define DAC_INTR_TX_RAMP_COMPLETE_Pos 17UL 124 #define DAC_INTR_TX_RAMP_COMPLETE_Msk 0x20000UL 125 /* DAC.INTR_TX_SET */ 126 #define DAC_INTR_TX_SET_FIFO_TRIGGER_Pos 0UL 127 #define DAC_INTR_TX_SET_FIFO_TRIGGER_Msk 0x1UL 128 #define DAC_INTR_TX_SET_FIFO_OVERFLOW_Pos 1UL 129 #define DAC_INTR_TX_SET_FIFO_OVERFLOW_Msk 0x2UL 130 #define DAC_INTR_TX_SET_FIFO_UNDERFLOW_Pos 2UL 131 #define DAC_INTR_TX_SET_FIFO_UNDERFLOW_Msk 0x4UL 132 #define DAC_INTR_TX_SET_FAST_RAMP_COMPLETE_Pos 16UL 133 #define DAC_INTR_TX_SET_FAST_RAMP_COMPLETE_Msk 0x10000UL 134 #define DAC_INTR_TX_SET_RAMP_COMPLETE_Pos 17UL 135 #define DAC_INTR_TX_SET_RAMP_COMPLETE_Msk 0x20000UL 136 /* DAC.INTR_TX_MASK */ 137 #define DAC_INTR_TX_MASK_FIFO_TRIGGER_Pos 0UL 138 #define DAC_INTR_TX_MASK_FIFO_TRIGGER_Msk 0x1UL 139 #define DAC_INTR_TX_MASK_FIFO_OVERFLOW_Pos 1UL 140 #define DAC_INTR_TX_MASK_FIFO_OVERFLOW_Msk 0x2UL 141 #define DAC_INTR_TX_MASK_FIFO_UNDERFLOW_Pos 2UL 142 #define DAC_INTR_TX_MASK_FIFO_UNDERFLOW_Msk 0x4UL 143 #define DAC_INTR_TX_MASK_FAST_RAMP_COMPLETE_Pos 16UL 144 #define DAC_INTR_TX_MASK_FAST_RAMP_COMPLETE_Msk 0x10000UL 145 #define DAC_INTR_TX_MASK_RAMP_COMPLETE_Pos 17UL 146 #define DAC_INTR_TX_MASK_RAMP_COMPLETE_Msk 0x20000UL 147 /* DAC.INTR_TX_MASKED */ 148 #define DAC_INTR_TX_MASKED_FIFO_TRIGGER_Pos 0UL 149 #define DAC_INTR_TX_MASKED_FIFO_TRIGGER_Msk 0x1UL 150 #define DAC_INTR_TX_MASKED_FIFO_OVERFLOW_Pos 1UL 151 #define DAC_INTR_TX_MASKED_FIFO_OVERFLOW_Msk 0x2UL 152 #define DAC_INTR_TX_MASKED_FIFO_UNDERFLOW_Pos 2UL 153 #define DAC_INTR_TX_MASKED_FIFO_UNDERFLOW_Msk 0x4UL 154 #define DAC_INTR_TX_MASKED_FAST_RAMP_COMPLETE_Pos 16UL 155 #define DAC_INTR_TX_MASKED_FAST_RAMP_COMPLETE_Msk 0x10000UL 156 #define DAC_INTR_TX_MASKED_RAMP_COMPLETE_Pos 17UL 157 #define DAC_INTR_TX_MASKED_RAMP_COMPLETE_Msk 0x20000UL 158 159 160 #endif /* _CYIP_DAC_H_ */ 161 162 163 /* [] END OF FILE */ 164