1 /* 2 * Component description for DSU 3 * 4 * Copyright (c) 2024 Microchip Technology Inc. and its subsidiaries. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 */ 19 20 /* file generated from device description file (ATDF) version 2023-03-17T09:48:34Z */ 21 #ifndef _PIC32CXSG41_DSU_COMPONENT_H_ 22 #define _PIC32CXSG41_DSU_COMPONENT_H_ 23 24 /* ************************************************************************** */ 25 /* SOFTWARE API DEFINITION FOR DSU */ 26 /* ************************************************************************** */ 27 28 /* -------- DSU_CTRL : (DSU Offset: 0x00) ( /W 8) Control -------- */ 29 #define DSU_CTRL_RESETVALUE _UINT8_(0x00) /* (DSU_CTRL) Control Reset Value */ 30 31 #define DSU_CTRL_SWRST_Pos _UINT8_(0) /* (DSU_CTRL) Software Reset Position */ 32 #define DSU_CTRL_SWRST_Msk (_UINT8_(0x1) << DSU_CTRL_SWRST_Pos) /* (DSU_CTRL) Software Reset Mask */ 33 #define DSU_CTRL_SWRST(value) (DSU_CTRL_SWRST_Msk & (_UINT8_(value) << DSU_CTRL_SWRST_Pos)) /* Assignment of value for SWRST in the DSU_CTRL register */ 34 #define DSU_CTRL_CRC_Pos _UINT8_(2) /* (DSU_CTRL) 32-bit Cyclic Redundancy Code Position */ 35 #define DSU_CTRL_CRC_Msk (_UINT8_(0x1) << DSU_CTRL_CRC_Pos) /* (DSU_CTRL) 32-bit Cyclic Redundancy Code Mask */ 36 #define DSU_CTRL_CRC(value) (DSU_CTRL_CRC_Msk & (_UINT8_(value) << DSU_CTRL_CRC_Pos)) /* Assignment of value for CRC in the DSU_CTRL register */ 37 #define DSU_CTRL_MBIST_Pos _UINT8_(3) /* (DSU_CTRL) Memory built-in self-test Position */ 38 #define DSU_CTRL_MBIST_Msk (_UINT8_(0x1) << DSU_CTRL_MBIST_Pos) /* (DSU_CTRL) Memory built-in self-test Mask */ 39 #define DSU_CTRL_MBIST(value) (DSU_CTRL_MBIST_Msk & (_UINT8_(value) << DSU_CTRL_MBIST_Pos)) /* Assignment of value for MBIST in the DSU_CTRL register */ 40 #define DSU_CTRL_CE_Pos _UINT8_(4) /* (DSU_CTRL) Chip-Erase Position */ 41 #define DSU_CTRL_CE_Msk (_UINT8_(0x1) << DSU_CTRL_CE_Pos) /* (DSU_CTRL) Chip-Erase Mask */ 42 #define DSU_CTRL_CE(value) (DSU_CTRL_CE_Msk & (_UINT8_(value) << DSU_CTRL_CE_Pos)) /* Assignment of value for CE in the DSU_CTRL register */ 43 #define DSU_CTRL_Msk _UINT8_(0x1D) /* (DSU_CTRL) Register Mask */ 44 45 46 /* -------- DSU_STATUSA : (DSU Offset: 0x01) (R/W 8) Status A -------- */ 47 #define DSU_STATUSA_RESETVALUE _UINT8_(0x00) /* (DSU_STATUSA) Status A Reset Value */ 48 49 #define DSU_STATUSA_DONE_Pos _UINT8_(0) /* (DSU_STATUSA) Done Position */ 50 #define DSU_STATUSA_DONE_Msk (_UINT8_(0x1) << DSU_STATUSA_DONE_Pos) /* (DSU_STATUSA) Done Mask */ 51 #define DSU_STATUSA_DONE(value) (DSU_STATUSA_DONE_Msk & (_UINT8_(value) << DSU_STATUSA_DONE_Pos)) /* Assignment of value for DONE in the DSU_STATUSA register */ 52 #define DSU_STATUSA_CRSTEXT_Pos _UINT8_(1) /* (DSU_STATUSA) CPU Reset Phase Extension Position */ 53 #define DSU_STATUSA_CRSTEXT_Msk (_UINT8_(0x1) << DSU_STATUSA_CRSTEXT_Pos) /* (DSU_STATUSA) CPU Reset Phase Extension Mask */ 54 #define DSU_STATUSA_CRSTEXT(value) (DSU_STATUSA_CRSTEXT_Msk & (_UINT8_(value) << DSU_STATUSA_CRSTEXT_Pos)) /* Assignment of value for CRSTEXT in the DSU_STATUSA register */ 55 #define DSU_STATUSA_BERR_Pos _UINT8_(2) /* (DSU_STATUSA) Bus Error Position */ 56 #define DSU_STATUSA_BERR_Msk (_UINT8_(0x1) << DSU_STATUSA_BERR_Pos) /* (DSU_STATUSA) Bus Error Mask */ 57 #define DSU_STATUSA_BERR(value) (DSU_STATUSA_BERR_Msk & (_UINT8_(value) << DSU_STATUSA_BERR_Pos)) /* Assignment of value for BERR in the DSU_STATUSA register */ 58 #define DSU_STATUSA_FAIL_Pos _UINT8_(3) /* (DSU_STATUSA) Failure Position */ 59 #define DSU_STATUSA_FAIL_Msk (_UINT8_(0x1) << DSU_STATUSA_FAIL_Pos) /* (DSU_STATUSA) Failure Mask */ 60 #define DSU_STATUSA_FAIL(value) (DSU_STATUSA_FAIL_Msk & (_UINT8_(value) << DSU_STATUSA_FAIL_Pos)) /* Assignment of value for FAIL in the DSU_STATUSA register */ 61 #define DSU_STATUSA_PERR_Pos _UINT8_(4) /* (DSU_STATUSA) Protection Error Position */ 62 #define DSU_STATUSA_PERR_Msk (_UINT8_(0x1) << DSU_STATUSA_PERR_Pos) /* (DSU_STATUSA) Protection Error Mask */ 63 #define DSU_STATUSA_PERR(value) (DSU_STATUSA_PERR_Msk & (_UINT8_(value) << DSU_STATUSA_PERR_Pos)) /* Assignment of value for PERR in the DSU_STATUSA register */ 64 #define DSU_STATUSA_Msk _UINT8_(0x1F) /* (DSU_STATUSA) Register Mask */ 65 66 67 /* -------- DSU_STATUSB : (DSU Offset: 0x02) ( R/ 8) Status B -------- */ 68 #define DSU_STATUSB_RESETVALUE _UINT8_(0x00) /* (DSU_STATUSB) Status B Reset Value */ 69 70 #define DSU_STATUSB_PROT_Pos _UINT8_(0) /* (DSU_STATUSB) Protected Position */ 71 #define DSU_STATUSB_PROT_Msk (_UINT8_(0x1) << DSU_STATUSB_PROT_Pos) /* (DSU_STATUSB) Protected Mask */ 72 #define DSU_STATUSB_PROT(value) (DSU_STATUSB_PROT_Msk & (_UINT8_(value) << DSU_STATUSB_PROT_Pos)) /* Assignment of value for PROT in the DSU_STATUSB register */ 73 #define DSU_STATUSB_DBGPRES_Pos _UINT8_(1) /* (DSU_STATUSB) Debugger Present Position */ 74 #define DSU_STATUSB_DBGPRES_Msk (_UINT8_(0x1) << DSU_STATUSB_DBGPRES_Pos) /* (DSU_STATUSB) Debugger Present Mask */ 75 #define DSU_STATUSB_DBGPRES(value) (DSU_STATUSB_DBGPRES_Msk & (_UINT8_(value) << DSU_STATUSB_DBGPRES_Pos)) /* Assignment of value for DBGPRES in the DSU_STATUSB register */ 76 #define DSU_STATUSB_DCCD0_Pos _UINT8_(2) /* (DSU_STATUSB) Debug Communication Channel 0 Dirty Position */ 77 #define DSU_STATUSB_DCCD0_Msk (_UINT8_(0x1) << DSU_STATUSB_DCCD0_Pos) /* (DSU_STATUSB) Debug Communication Channel 0 Dirty Mask */ 78 #define DSU_STATUSB_DCCD0(value) (DSU_STATUSB_DCCD0_Msk & (_UINT8_(value) << DSU_STATUSB_DCCD0_Pos)) /* Assignment of value for DCCD0 in the DSU_STATUSB register */ 79 #define DSU_STATUSB_DCCD1_Pos _UINT8_(3) /* (DSU_STATUSB) Debug Communication Channel 1 Dirty Position */ 80 #define DSU_STATUSB_DCCD1_Msk (_UINT8_(0x1) << DSU_STATUSB_DCCD1_Pos) /* (DSU_STATUSB) Debug Communication Channel 1 Dirty Mask */ 81 #define DSU_STATUSB_DCCD1(value) (DSU_STATUSB_DCCD1_Msk & (_UINT8_(value) << DSU_STATUSB_DCCD1_Pos)) /* Assignment of value for DCCD1 in the DSU_STATUSB register */ 82 #define DSU_STATUSB_HPE_Pos _UINT8_(4) /* (DSU_STATUSB) Hot-Plugging Enable Position */ 83 #define DSU_STATUSB_HPE_Msk (_UINT8_(0x1) << DSU_STATUSB_HPE_Pos) /* (DSU_STATUSB) Hot-Plugging Enable Mask */ 84 #define DSU_STATUSB_HPE(value) (DSU_STATUSB_HPE_Msk & (_UINT8_(value) << DSU_STATUSB_HPE_Pos)) /* Assignment of value for HPE in the DSU_STATUSB register */ 85 #define DSU_STATUSB_CELCK_Pos _UINT8_(5) /* (DSU_STATUSB) Chip Erase Locked Position */ 86 #define DSU_STATUSB_CELCK_Msk (_UINT8_(0x1) << DSU_STATUSB_CELCK_Pos) /* (DSU_STATUSB) Chip Erase Locked Mask */ 87 #define DSU_STATUSB_CELCK(value) (DSU_STATUSB_CELCK_Msk & (_UINT8_(value) << DSU_STATUSB_CELCK_Pos)) /* Assignment of value for CELCK in the DSU_STATUSB register */ 88 #define DSU_STATUSB_CEHL_Pos _UINT8_(6) /* (DSU_STATUSB) Chip Erase Hard Locked Position */ 89 #define DSU_STATUSB_CEHL_Msk (_UINT8_(0x1) << DSU_STATUSB_CEHL_Pos) /* (DSU_STATUSB) Chip Erase Hard Locked Mask */ 90 #define DSU_STATUSB_CEHL(value) (DSU_STATUSB_CEHL_Msk & (_UINT8_(value) << DSU_STATUSB_CEHL_Pos)) /* Assignment of value for CEHL in the DSU_STATUSB register */ 91 #define DSU_STATUSB_Msk _UINT8_(0x7F) /* (DSU_STATUSB) Register Mask */ 92 93 #define DSU_STATUSB_DCCD_Pos _UINT8_(2) /* (DSU_STATUSB Position) Debug Communication Channel x Dirty */ 94 #define DSU_STATUSB_DCCD_Msk (_UINT8_(0x3) << DSU_STATUSB_DCCD_Pos) /* (DSU_STATUSB Mask) DCCD */ 95 #define DSU_STATUSB_DCCD(value) (DSU_STATUSB_DCCD_Msk & (_UINT8_(value) << DSU_STATUSB_DCCD_Pos)) 96 97 /* -------- DSU_ADDR : (DSU Offset: 0x04) (R/W 32) Address -------- */ 98 #define DSU_ADDR_RESETVALUE _UINT32_(0x00) /* (DSU_ADDR) Address Reset Value */ 99 100 #define DSU_ADDR_AMOD_Pos _UINT32_(0) /* (DSU_ADDR) Access Mode Position */ 101 #define DSU_ADDR_AMOD_Msk (_UINT32_(0x3) << DSU_ADDR_AMOD_Pos) /* (DSU_ADDR) Access Mode Mask */ 102 #define DSU_ADDR_AMOD(value) (DSU_ADDR_AMOD_Msk & (_UINT32_(value) << DSU_ADDR_AMOD_Pos)) /* Assignment of value for AMOD in the DSU_ADDR register */ 103 #define DSU_ADDR_ADDR_Pos _UINT32_(2) /* (DSU_ADDR) Address Position */ 104 #define DSU_ADDR_ADDR_Msk (_UINT32_(0x3FFFFFFF) << DSU_ADDR_ADDR_Pos) /* (DSU_ADDR) Address Mask */ 105 #define DSU_ADDR_ADDR(value) (DSU_ADDR_ADDR_Msk & (_UINT32_(value) << DSU_ADDR_ADDR_Pos)) /* Assignment of value for ADDR in the DSU_ADDR register */ 106 #define DSU_ADDR_Msk _UINT32_(0xFFFFFFFF) /* (DSU_ADDR) Register Mask */ 107 108 109 /* -------- DSU_LENGTH : (DSU Offset: 0x08) (R/W 32) Length -------- */ 110 #define DSU_LENGTH_RESETVALUE _UINT32_(0x00) /* (DSU_LENGTH) Length Reset Value */ 111 112 #define DSU_LENGTH_LENGTH_Pos _UINT32_(2) /* (DSU_LENGTH) Length Position */ 113 #define DSU_LENGTH_LENGTH_Msk (_UINT32_(0x3FFFFFFF) << DSU_LENGTH_LENGTH_Pos) /* (DSU_LENGTH) Length Mask */ 114 #define DSU_LENGTH_LENGTH(value) (DSU_LENGTH_LENGTH_Msk & (_UINT32_(value) << DSU_LENGTH_LENGTH_Pos)) /* Assignment of value for LENGTH in the DSU_LENGTH register */ 115 #define DSU_LENGTH_Msk _UINT32_(0xFFFFFFFC) /* (DSU_LENGTH) Register Mask */ 116 117 118 /* -------- DSU_DATA : (DSU Offset: 0x0C) (R/W 32) Data -------- */ 119 #define DSU_DATA_RESETVALUE _UINT32_(0x00) /* (DSU_DATA) Data Reset Value */ 120 121 #define DSU_DATA_DATA_Pos _UINT32_(0) /* (DSU_DATA) Data Position */ 122 #define DSU_DATA_DATA_Msk (_UINT32_(0xFFFFFFFF) << DSU_DATA_DATA_Pos) /* (DSU_DATA) Data Mask */ 123 #define DSU_DATA_DATA(value) (DSU_DATA_DATA_Msk & (_UINT32_(value) << DSU_DATA_DATA_Pos)) /* Assignment of value for DATA in the DSU_DATA register */ 124 #define DSU_DATA_Msk _UINT32_(0xFFFFFFFF) /* (DSU_DATA) Register Mask */ 125 126 127 /* -------- DSU_DCC : (DSU Offset: 0x10) (R/W 32) Debug Communication Channel n -------- */ 128 #define DSU_DCC_RESETVALUE _UINT32_(0x00) /* (DSU_DCC) Debug Communication Channel n Reset Value */ 129 130 #define DSU_DCC_DATA_Pos _UINT32_(0) /* (DSU_DCC) Data Position */ 131 #define DSU_DCC_DATA_Msk (_UINT32_(0xFFFFFFFF) << DSU_DCC_DATA_Pos) /* (DSU_DCC) Data Mask */ 132 #define DSU_DCC_DATA(value) (DSU_DCC_DATA_Msk & (_UINT32_(value) << DSU_DCC_DATA_Pos)) /* Assignment of value for DATA in the DSU_DCC register */ 133 #define DSU_DCC_Msk _UINT32_(0xFFFFFFFF) /* (DSU_DCC) Register Mask */ 134 135 136 /* -------- DSU_DID : (DSU Offset: 0x18) ( R/ 32) Device Identification -------- */ 137 #define DSU_DID_RESETVALUE _UINT32_(0x61870500) /* (DSU_DID) Device Identification Reset Value */ 138 139 #define DSU_DID_DEVSEL_Pos _UINT32_(0) /* (DSU_DID) Device Select Position */ 140 #define DSU_DID_DEVSEL_Msk (_UINT32_(0xFF) << DSU_DID_DEVSEL_Pos) /* (DSU_DID) Device Select Mask */ 141 #define DSU_DID_DEVSEL(value) (DSU_DID_DEVSEL_Msk & (_UINT32_(value) << DSU_DID_DEVSEL_Pos)) /* Assignment of value for DEVSEL in the DSU_DID register */ 142 #define DSU_DID_DEVSEL_1MB_256KB_128PIN_Val _UINT32_(0x0) /* (DSU_DID) 1 MB Flash / 256 KB SRAM / 128-pin */ 143 #define DSU_DID_DEVSEL_1MB_256KB_100PIN_Val _UINT32_(0x1) /* (DSU_DID) 1 MB Flash / 256 KB SRAM / 100-pin */ 144 #define DSU_DID_DEVSEL_1MB_256KB_128PIN (DSU_DID_DEVSEL_1MB_256KB_128PIN_Val << DSU_DID_DEVSEL_Pos) /* (DSU_DID) 1 MB Flash / 256 KB SRAM / 128-pin Position */ 145 #define DSU_DID_DEVSEL_1MB_256KB_100PIN (DSU_DID_DEVSEL_1MB_256KB_100PIN_Val << DSU_DID_DEVSEL_Pos) /* (DSU_DID) 1 MB Flash / 256 KB SRAM / 100-pin Position */ 146 #define DSU_DID_REVISION_Pos _UINT32_(8) /* (DSU_DID) Revision Number Position */ 147 #define DSU_DID_REVISION_Msk (_UINT32_(0xF) << DSU_DID_REVISION_Pos) /* (DSU_DID) Revision Number Mask */ 148 #define DSU_DID_REVISION(value) (DSU_DID_REVISION_Msk & (_UINT32_(value) << DSU_DID_REVISION_Pos)) /* Assignment of value for REVISION in the DSU_DID register */ 149 #define DSU_DID_DIE_Pos _UINT32_(12) /* (DSU_DID) Die Number Position */ 150 #define DSU_DID_DIE_Msk (_UINT32_(0xF) << DSU_DID_DIE_Pos) /* (DSU_DID) Die Number Mask */ 151 #define DSU_DID_DIE(value) (DSU_DID_DIE_Msk & (_UINT32_(value) << DSU_DID_DIE_Pos)) /* Assignment of value for DIE in the DSU_DID register */ 152 #define DSU_DID_SERIES_Pos _UINT32_(16) /* (DSU_DID) Series Position */ 153 #define DSU_DID_SERIES_Msk (_UINT32_(0x3F) << DSU_DID_SERIES_Pos) /* (DSU_DID) Series Mask */ 154 #define DSU_DID_SERIES(value) (DSU_DID_SERIES_Msk & (_UINT32_(value) << DSU_DID_SERIES_Pos)) /* Assignment of value for SERIES in the DSU_DID register */ 155 #define DSU_DID_SERIES_PIC32CX_SG60_Val _UINT32_(0x0) /* (DSU_DID) PIC32CX SG Without Immutable Boot, With HSM */ 156 #define DSU_DID_SERIES_PIC32CX_SG61_Val _UINT32_(0x2) /* (DSU_DID) PIC32CX SG With Immutable Boot and HSM */ 157 #define DSU_DID_SERIES_PIC32CX_SG41_Val _UINT32_(0x7) /* (DSU_DID) PIC32CX SG With Immutable Boot, No HSM */ 158 #define DSU_DID_SERIES_PIC32CX_SG60 (DSU_DID_SERIES_PIC32CX_SG60_Val << DSU_DID_SERIES_Pos) /* (DSU_DID) PIC32CX SG Without Immutable Boot, With HSM Position */ 159 #define DSU_DID_SERIES_PIC32CX_SG61 (DSU_DID_SERIES_PIC32CX_SG61_Val << DSU_DID_SERIES_Pos) /* (DSU_DID) PIC32CX SG With Immutable Boot and HSM Position */ 160 #define DSU_DID_SERIES_PIC32CX_SG41 (DSU_DID_SERIES_PIC32CX_SG41_Val << DSU_DID_SERIES_Pos) /* (DSU_DID) PIC32CX SG With Immutable Boot, No HSM Position */ 161 #define DSU_DID_FAMILY_Pos _UINT32_(23) /* (DSU_DID) Family Position */ 162 #define DSU_DID_FAMILY_Msk (_UINT32_(0x1F) << DSU_DID_FAMILY_Pos) /* (DSU_DID) Family Mask */ 163 #define DSU_DID_FAMILY(value) (DSU_DID_FAMILY_Msk & (_UINT32_(value) << DSU_DID_FAMILY_Pos)) /* Assignment of value for FAMILY in the DSU_DID register */ 164 #define DSU_DID_FAMILY_1_Val _UINT32_(0x3) /* (DSU_DID) PIC32CX Advanced Feature Set Microcontrollers */ 165 #define DSU_DID_FAMILY_1 (DSU_DID_FAMILY_1_Val << DSU_DID_FAMILY_Pos) /* (DSU_DID) PIC32CX Advanced Feature Set Microcontrollers Position */ 166 #define DSU_DID_PROCESSOR_Pos _UINT32_(28) /* (DSU_DID) Processor Position */ 167 #define DSU_DID_PROCESSOR_Msk (_UINT32_(0xF) << DSU_DID_PROCESSOR_Pos) /* (DSU_DID) Processor Mask */ 168 #define DSU_DID_PROCESSOR(value) (DSU_DID_PROCESSOR_Msk & (_UINT32_(value) << DSU_DID_PROCESSOR_Pos)) /* Assignment of value for PROCESSOR in the DSU_DID register */ 169 #define DSU_DID_PROCESSOR_CM4F_Val _UINT32_(0x6) /* (DSU_DID) Cortex-M4 with FPU */ 170 #define DSU_DID_PROCESSOR_CM4F (DSU_DID_PROCESSOR_CM4F_Val << DSU_DID_PROCESSOR_Pos) /* (DSU_DID) Cortex-M4 with FPU Position */ 171 #define DSU_DID_Msk _UINT32_(0xFFBFFFFF) /* (DSU_DID) Register Mask */ 172 173 174 /* -------- DSU_CFG : (DSU Offset: 0x1C) (R/W 32) Configuration -------- */ 175 #define DSU_CFG_RESETVALUE _UINT32_(0x02) /* (DSU_CFG) Configuration Reset Value */ 176 177 #define DSU_CFG_LQOS_Pos _UINT32_(0) /* (DSU_CFG) Latency Quality Of Service Position */ 178 #define DSU_CFG_LQOS_Msk (_UINT32_(0x3) << DSU_CFG_LQOS_Pos) /* (DSU_CFG) Latency Quality Of Service Mask */ 179 #define DSU_CFG_LQOS(value) (DSU_CFG_LQOS_Msk & (_UINT32_(value) << DSU_CFG_LQOS_Pos)) /* Assignment of value for LQOS in the DSU_CFG register */ 180 #define DSU_CFG_DCCDMALEVEL_Pos _UINT32_(2) /* (DSU_CFG) DMA Trigger Level Position */ 181 #define DSU_CFG_DCCDMALEVEL_Msk (_UINT32_(0x3) << DSU_CFG_DCCDMALEVEL_Pos) /* (DSU_CFG) DMA Trigger Level Mask */ 182 #define DSU_CFG_DCCDMALEVEL(value) (DSU_CFG_DCCDMALEVEL_Msk & (_UINT32_(value) << DSU_CFG_DCCDMALEVEL_Pos)) /* Assignment of value for DCCDMALEVEL in the DSU_CFG register */ 183 #define DSU_CFG_DCCDMALEVEL_EMPTY_Val _UINT32_(0x0) /* (DSU_CFG) Trigger rises when DCC is empty */ 184 #define DSU_CFG_DCCDMALEVEL_FULL_Val _UINT32_(0x1) /* (DSU_CFG) Trigger rises when DCC is full */ 185 #define DSU_CFG_DCCDMALEVEL_EMPTY (DSU_CFG_DCCDMALEVEL_EMPTY_Val << DSU_CFG_DCCDMALEVEL_Pos) /* (DSU_CFG) Trigger rises when DCC is empty Position */ 186 #define DSU_CFG_DCCDMALEVEL_FULL (DSU_CFG_DCCDMALEVEL_FULL_Val << DSU_CFG_DCCDMALEVEL_Pos) /* (DSU_CFG) Trigger rises when DCC is full Position */ 187 #define DSU_CFG_ETBRAMEN_Pos _UINT32_(4) /* (DSU_CFG) Trace Control Position */ 188 #define DSU_CFG_ETBRAMEN_Msk (_UINT32_(0x1) << DSU_CFG_ETBRAMEN_Pos) /* (DSU_CFG) Trace Control Mask */ 189 #define DSU_CFG_ETBRAMEN(value) (DSU_CFG_ETBRAMEN_Msk & (_UINT32_(value) << DSU_CFG_ETBRAMEN_Pos)) /* Assignment of value for ETBRAMEN in the DSU_CFG register */ 190 #define DSU_CFG_Msk _UINT32_(0x0000001F) /* (DSU_CFG) Register Mask */ 191 192 193 /* -------- DSU_DCFG : (DSU Offset: 0xF0) (R/W 32) Device Configuration -------- */ 194 #define DSU_DCFG_RESETVALUE _UINT32_(0x00) /* (DSU_DCFG) Device Configuration Reset Value */ 195 196 #define DSU_DCFG_DCFG_Pos _UINT32_(0) /* (DSU_DCFG) Device Configuration Position */ 197 #define DSU_DCFG_DCFG_Msk (_UINT32_(0xFFFFFFFF) << DSU_DCFG_DCFG_Pos) /* (DSU_DCFG) Device Configuration Mask */ 198 #define DSU_DCFG_DCFG(value) (DSU_DCFG_DCFG_Msk & (_UINT32_(value) << DSU_DCFG_DCFG_Pos)) /* Assignment of value for DCFG in the DSU_DCFG register */ 199 #define DSU_DCFG_Msk _UINT32_(0xFFFFFFFF) /* (DSU_DCFG) Register Mask */ 200 201 202 /* -------- DSU_ENTRY0 : (DSU Offset: 0x1000) ( R/ 32) CoreSight ROM Table Entry 0 -------- */ 203 #define DSU_ENTRY0_RESETVALUE _UINT32_(0x9F0FC002) /* (DSU_ENTRY0) CoreSight ROM Table Entry 0 Reset Value */ 204 205 #define DSU_ENTRY0_EPRES_Pos _UINT32_(0) /* (DSU_ENTRY0) Entry Present Position */ 206 #define DSU_ENTRY0_EPRES_Msk (_UINT32_(0x1) << DSU_ENTRY0_EPRES_Pos) /* (DSU_ENTRY0) Entry Present Mask */ 207 #define DSU_ENTRY0_EPRES(value) (DSU_ENTRY0_EPRES_Msk & (_UINT32_(value) << DSU_ENTRY0_EPRES_Pos)) /* Assignment of value for EPRES in the DSU_ENTRY0 register */ 208 #define DSU_ENTRY0_FMT_Pos _UINT32_(1) /* (DSU_ENTRY0) Format Position */ 209 #define DSU_ENTRY0_FMT_Msk (_UINT32_(0x1) << DSU_ENTRY0_FMT_Pos) /* (DSU_ENTRY0) Format Mask */ 210 #define DSU_ENTRY0_FMT(value) (DSU_ENTRY0_FMT_Msk & (_UINT32_(value) << DSU_ENTRY0_FMT_Pos)) /* Assignment of value for FMT in the DSU_ENTRY0 register */ 211 #define DSU_ENTRY0_ADDOFF_Pos _UINT32_(12) /* (DSU_ENTRY0) Address Offset Position */ 212 #define DSU_ENTRY0_ADDOFF_Msk (_UINT32_(0xFFFFF) << DSU_ENTRY0_ADDOFF_Pos) /* (DSU_ENTRY0) Address Offset Mask */ 213 #define DSU_ENTRY0_ADDOFF(value) (DSU_ENTRY0_ADDOFF_Msk & (_UINT32_(value) << DSU_ENTRY0_ADDOFF_Pos)) /* Assignment of value for ADDOFF in the DSU_ENTRY0 register */ 214 #define DSU_ENTRY0_Msk _UINT32_(0xFFFFF003) /* (DSU_ENTRY0) Register Mask */ 215 216 217 /* -------- DSU_ENTRY1 : (DSU Offset: 0x1004) ( R/ 32) CoreSight ROM Table Entry 1 -------- */ 218 #define DSU_ENTRY1_RESETVALUE _UINT32_(0x00) /* (DSU_ENTRY1) CoreSight ROM Table Entry 1 Reset Value */ 219 220 #define DSU_ENTRY1_Msk _UINT32_(0x00000000) /* (DSU_ENTRY1) Register Mask */ 221 222 223 /* -------- DSU_END : (DSU Offset: 0x1008) ( R/ 32) CoreSight ROM Table End -------- */ 224 #define DSU_END_RESETVALUE _UINT32_(0x00) /* (DSU_END) CoreSight ROM Table End Reset Value */ 225 226 #define DSU_END_END_Pos _UINT32_(0) /* (DSU_END) End Marker Position */ 227 #define DSU_END_END_Msk (_UINT32_(0xFFFFFFFF) << DSU_END_END_Pos) /* (DSU_END) End Marker Mask */ 228 #define DSU_END_END(value) (DSU_END_END_Msk & (_UINT32_(value) << DSU_END_END_Pos)) /* Assignment of value for END in the DSU_END register */ 229 #define DSU_END_Msk _UINT32_(0xFFFFFFFF) /* (DSU_END) Register Mask */ 230 231 232 /* -------- DSU_MEMTYPE : (DSU Offset: 0x1FCC) ( R/ 32) CoreSight ROM Table Memory Type -------- */ 233 #define DSU_MEMTYPE_RESETVALUE _UINT32_(0x00) /* (DSU_MEMTYPE) CoreSight ROM Table Memory Type Reset Value */ 234 235 #define DSU_MEMTYPE_SMEMP_Pos _UINT32_(0) /* (DSU_MEMTYPE) System Memory Present Position */ 236 #define DSU_MEMTYPE_SMEMP_Msk (_UINT32_(0x1) << DSU_MEMTYPE_SMEMP_Pos) /* (DSU_MEMTYPE) System Memory Present Mask */ 237 #define DSU_MEMTYPE_SMEMP(value) (DSU_MEMTYPE_SMEMP_Msk & (_UINT32_(value) << DSU_MEMTYPE_SMEMP_Pos)) /* Assignment of value for SMEMP in the DSU_MEMTYPE register */ 238 #define DSU_MEMTYPE_Msk _UINT32_(0x00000001) /* (DSU_MEMTYPE) Register Mask */ 239 240 241 /* -------- DSU_PID4 : (DSU Offset: 0x1FD0) ( R/ 32) Peripheral Identification 4 -------- */ 242 #define DSU_PID4_RESETVALUE _UINT32_(0x00) /* (DSU_PID4) Peripheral Identification 4 Reset Value */ 243 244 #define DSU_PID4_JEPCC_Pos _UINT32_(0) /* (DSU_PID4) JEP-106 Continuation Code Position */ 245 #define DSU_PID4_JEPCC_Msk (_UINT32_(0xF) << DSU_PID4_JEPCC_Pos) /* (DSU_PID4) JEP-106 Continuation Code Mask */ 246 #define DSU_PID4_JEPCC(value) (DSU_PID4_JEPCC_Msk & (_UINT32_(value) << DSU_PID4_JEPCC_Pos)) /* Assignment of value for JEPCC in the DSU_PID4 register */ 247 #define DSU_PID4_FKBC_Pos _UINT32_(4) /* (DSU_PID4) 4KB count Position */ 248 #define DSU_PID4_FKBC_Msk (_UINT32_(0xF) << DSU_PID4_FKBC_Pos) /* (DSU_PID4) 4KB count Mask */ 249 #define DSU_PID4_FKBC(value) (DSU_PID4_FKBC_Msk & (_UINT32_(value) << DSU_PID4_FKBC_Pos)) /* Assignment of value for FKBC in the DSU_PID4 register */ 250 #define DSU_PID4_Msk _UINT32_(0x000000FF) /* (DSU_PID4) Register Mask */ 251 252 253 /* -------- DSU_PID5 : (DSU Offset: 0x1FD4) ( R/ 32) Peripheral Identification 5 -------- */ 254 #define DSU_PID5_RESETVALUE _UINT32_(0x00) /* (DSU_PID5) Peripheral Identification 5 Reset Value */ 255 256 #define DSU_PID5_Msk _UINT32_(0x00000000) /* (DSU_PID5) Register Mask */ 257 258 259 /* -------- DSU_PID6 : (DSU Offset: 0x1FD8) ( R/ 32) Peripheral Identification 6 -------- */ 260 #define DSU_PID6_RESETVALUE _UINT32_(0x00) /* (DSU_PID6) Peripheral Identification 6 Reset Value */ 261 262 #define DSU_PID6_Msk _UINT32_(0x00000000) /* (DSU_PID6) Register Mask */ 263 264 265 /* -------- DSU_PID7 : (DSU Offset: 0x1FDC) ( R/ 32) Peripheral Identification 7 -------- */ 266 #define DSU_PID7_RESETVALUE _UINT32_(0x00) /* (DSU_PID7) Peripheral Identification 7 Reset Value */ 267 268 #define DSU_PID7_Msk _UINT32_(0x00000000) /* (DSU_PID7) Register Mask */ 269 270 271 /* -------- DSU_PID0 : (DSU Offset: 0x1FE0) ( R/ 32) Peripheral Identification 0 -------- */ 272 #define DSU_PID0_RESETVALUE _UINT32_(0xD0) /* (DSU_PID0) Peripheral Identification 0 Reset Value */ 273 274 #define DSU_PID0_PARTNBL_Pos _UINT32_(0) /* (DSU_PID0) Part Number Low Position */ 275 #define DSU_PID0_PARTNBL_Msk (_UINT32_(0xFF) << DSU_PID0_PARTNBL_Pos) /* (DSU_PID0) Part Number Low Mask */ 276 #define DSU_PID0_PARTNBL(value) (DSU_PID0_PARTNBL_Msk & (_UINT32_(value) << DSU_PID0_PARTNBL_Pos)) /* Assignment of value for PARTNBL in the DSU_PID0 register */ 277 #define DSU_PID0_Msk _UINT32_(0x000000FF) /* (DSU_PID0) Register Mask */ 278 279 280 /* -------- DSU_PID1 : (DSU Offset: 0x1FE4) ( R/ 32) Peripheral Identification 1 -------- */ 281 #define DSU_PID1_RESETVALUE _UINT32_(0xFC) /* (DSU_PID1) Peripheral Identification 1 Reset Value */ 282 283 #define DSU_PID1_PARTNBH_Pos _UINT32_(0) /* (DSU_PID1) Part Number High Position */ 284 #define DSU_PID1_PARTNBH_Msk (_UINT32_(0xF) << DSU_PID1_PARTNBH_Pos) /* (DSU_PID1) Part Number High Mask */ 285 #define DSU_PID1_PARTNBH(value) (DSU_PID1_PARTNBH_Msk & (_UINT32_(value) << DSU_PID1_PARTNBH_Pos)) /* Assignment of value for PARTNBH in the DSU_PID1 register */ 286 #define DSU_PID1_JEPIDCL_Pos _UINT32_(4) /* (DSU_PID1) Low part of the JEP-106 Identity Code Position */ 287 #define DSU_PID1_JEPIDCL_Msk (_UINT32_(0xF) << DSU_PID1_JEPIDCL_Pos) /* (DSU_PID1) Low part of the JEP-106 Identity Code Mask */ 288 #define DSU_PID1_JEPIDCL(value) (DSU_PID1_JEPIDCL_Msk & (_UINT32_(value) << DSU_PID1_JEPIDCL_Pos)) /* Assignment of value for JEPIDCL in the DSU_PID1 register */ 289 #define DSU_PID1_Msk _UINT32_(0x000000FF) /* (DSU_PID1) Register Mask */ 290 291 292 /* -------- DSU_PID2 : (DSU Offset: 0x1FE8) ( R/ 32) Peripheral Identification 2 -------- */ 293 #define DSU_PID2_RESETVALUE _UINT32_(0x09) /* (DSU_PID2) Peripheral Identification 2 Reset Value */ 294 295 #define DSU_PID2_JEPIDCH_Pos _UINT32_(0) /* (DSU_PID2) JEP-106 Identity Code High Position */ 296 #define DSU_PID2_JEPIDCH_Msk (_UINT32_(0x7) << DSU_PID2_JEPIDCH_Pos) /* (DSU_PID2) JEP-106 Identity Code High Mask */ 297 #define DSU_PID2_JEPIDCH(value) (DSU_PID2_JEPIDCH_Msk & (_UINT32_(value) << DSU_PID2_JEPIDCH_Pos)) /* Assignment of value for JEPIDCH in the DSU_PID2 register */ 298 #define DSU_PID2_JEPU_Pos _UINT32_(3) /* (DSU_PID2) JEP-106 Identity Code is used Position */ 299 #define DSU_PID2_JEPU_Msk (_UINT32_(0x1) << DSU_PID2_JEPU_Pos) /* (DSU_PID2) JEP-106 Identity Code is used Mask */ 300 #define DSU_PID2_JEPU(value) (DSU_PID2_JEPU_Msk & (_UINT32_(value) << DSU_PID2_JEPU_Pos)) /* Assignment of value for JEPU in the DSU_PID2 register */ 301 #define DSU_PID2_REVISION_Pos _UINT32_(4) /* (DSU_PID2) Revision Number Position */ 302 #define DSU_PID2_REVISION_Msk (_UINT32_(0xF) << DSU_PID2_REVISION_Pos) /* (DSU_PID2) Revision Number Mask */ 303 #define DSU_PID2_REVISION(value) (DSU_PID2_REVISION_Msk & (_UINT32_(value) << DSU_PID2_REVISION_Pos)) /* Assignment of value for REVISION in the DSU_PID2 register */ 304 #define DSU_PID2_Msk _UINT32_(0x000000FF) /* (DSU_PID2) Register Mask */ 305 306 307 /* -------- DSU_PID3 : (DSU Offset: 0x1FEC) ( R/ 32) Peripheral Identification 3 -------- */ 308 #define DSU_PID3_RESETVALUE _UINT32_(0x00) /* (DSU_PID3) Peripheral Identification 3 Reset Value */ 309 310 #define DSU_PID3_CUSMOD_Pos _UINT32_(0) /* (DSU_PID3) ARM CUSMOD Position */ 311 #define DSU_PID3_CUSMOD_Msk (_UINT32_(0xF) << DSU_PID3_CUSMOD_Pos) /* (DSU_PID3) ARM CUSMOD Mask */ 312 #define DSU_PID3_CUSMOD(value) (DSU_PID3_CUSMOD_Msk & (_UINT32_(value) << DSU_PID3_CUSMOD_Pos)) /* Assignment of value for CUSMOD in the DSU_PID3 register */ 313 #define DSU_PID3_REVAND_Pos _UINT32_(4) /* (DSU_PID3) Revision Number Position */ 314 #define DSU_PID3_REVAND_Msk (_UINT32_(0xF) << DSU_PID3_REVAND_Pos) /* (DSU_PID3) Revision Number Mask */ 315 #define DSU_PID3_REVAND(value) (DSU_PID3_REVAND_Msk & (_UINT32_(value) << DSU_PID3_REVAND_Pos)) /* Assignment of value for REVAND in the DSU_PID3 register */ 316 #define DSU_PID3_Msk _UINT32_(0x000000FF) /* (DSU_PID3) Register Mask */ 317 318 319 /* -------- DSU_CID0 : (DSU Offset: 0x1FF0) ( R/ 32) Component Identification 0 -------- */ 320 #define DSU_CID0_RESETVALUE _UINT32_(0x0D) /* (DSU_CID0) Component Identification 0 Reset Value */ 321 322 #define DSU_CID0_PREAMBLEB0_Pos _UINT32_(0) /* (DSU_CID0) Preamble Byte 0 Position */ 323 #define DSU_CID0_PREAMBLEB0_Msk (_UINT32_(0xFF) << DSU_CID0_PREAMBLEB0_Pos) /* (DSU_CID0) Preamble Byte 0 Mask */ 324 #define DSU_CID0_PREAMBLEB0(value) (DSU_CID0_PREAMBLEB0_Msk & (_UINT32_(value) << DSU_CID0_PREAMBLEB0_Pos)) /* Assignment of value for PREAMBLEB0 in the DSU_CID0 register */ 325 #define DSU_CID0_Msk _UINT32_(0x000000FF) /* (DSU_CID0) Register Mask */ 326 327 328 /* -------- DSU_CID1 : (DSU Offset: 0x1FF4) ( R/ 32) Component Identification 1 -------- */ 329 #define DSU_CID1_RESETVALUE _UINT32_(0x10) /* (DSU_CID1) Component Identification 1 Reset Value */ 330 331 #define DSU_CID1_PREAMBLE_Pos _UINT32_(0) /* (DSU_CID1) Preamble Position */ 332 #define DSU_CID1_PREAMBLE_Msk (_UINT32_(0xF) << DSU_CID1_PREAMBLE_Pos) /* (DSU_CID1) Preamble Mask */ 333 #define DSU_CID1_PREAMBLE(value) (DSU_CID1_PREAMBLE_Msk & (_UINT32_(value) << DSU_CID1_PREAMBLE_Pos)) /* Assignment of value for PREAMBLE in the DSU_CID1 register */ 334 #define DSU_CID1_CCLASS_Pos _UINT32_(4) /* (DSU_CID1) Component Class Position */ 335 #define DSU_CID1_CCLASS_Msk (_UINT32_(0xF) << DSU_CID1_CCLASS_Pos) /* (DSU_CID1) Component Class Mask */ 336 #define DSU_CID1_CCLASS(value) (DSU_CID1_CCLASS_Msk & (_UINT32_(value) << DSU_CID1_CCLASS_Pos)) /* Assignment of value for CCLASS in the DSU_CID1 register */ 337 #define DSU_CID1_Msk _UINT32_(0x000000FF) /* (DSU_CID1) Register Mask */ 338 339 340 /* -------- DSU_CID2 : (DSU Offset: 0x1FF8) ( R/ 32) Component Identification 2 -------- */ 341 #define DSU_CID2_RESETVALUE _UINT32_(0x05) /* (DSU_CID2) Component Identification 2 Reset Value */ 342 343 #define DSU_CID2_PREAMBLEB2_Pos _UINT32_(0) /* (DSU_CID2) Preamble Byte 2 Position */ 344 #define DSU_CID2_PREAMBLEB2_Msk (_UINT32_(0xFF) << DSU_CID2_PREAMBLEB2_Pos) /* (DSU_CID2) Preamble Byte 2 Mask */ 345 #define DSU_CID2_PREAMBLEB2(value) (DSU_CID2_PREAMBLEB2_Msk & (_UINT32_(value) << DSU_CID2_PREAMBLEB2_Pos)) /* Assignment of value for PREAMBLEB2 in the DSU_CID2 register */ 346 #define DSU_CID2_Msk _UINT32_(0x000000FF) /* (DSU_CID2) Register Mask */ 347 348 349 /* -------- DSU_CID3 : (DSU Offset: 0x1FFC) ( R/ 32) Component Identification 3 -------- */ 350 #define DSU_CID3_RESETVALUE _UINT32_(0xB1) /* (DSU_CID3) Component Identification 3 Reset Value */ 351 352 #define DSU_CID3_PREAMBLEB3_Pos _UINT32_(0) /* (DSU_CID3) Preamble Byte 3 Position */ 353 #define DSU_CID3_PREAMBLEB3_Msk (_UINT32_(0xFF) << DSU_CID3_PREAMBLEB3_Pos) /* (DSU_CID3) Preamble Byte 3 Mask */ 354 #define DSU_CID3_PREAMBLEB3(value) (DSU_CID3_PREAMBLEB3_Msk & (_UINT32_(value) << DSU_CID3_PREAMBLEB3_Pos)) /* Assignment of value for PREAMBLEB3 in the DSU_CID3 register */ 355 #define DSU_CID3_Msk _UINT32_(0x000000FF) /* (DSU_CID3) Register Mask */ 356 357 358 /* DSU register offsets definitions */ 359 #define DSU_CTRL_REG_OFST _UINT32_(0x00) /* (DSU_CTRL) Control Offset */ 360 #define DSU_STATUSA_REG_OFST _UINT32_(0x01) /* (DSU_STATUSA) Status A Offset */ 361 #define DSU_STATUSB_REG_OFST _UINT32_(0x02) /* (DSU_STATUSB) Status B Offset */ 362 #define DSU_ADDR_REG_OFST _UINT32_(0x04) /* (DSU_ADDR) Address Offset */ 363 #define DSU_LENGTH_REG_OFST _UINT32_(0x08) /* (DSU_LENGTH) Length Offset */ 364 #define DSU_DATA_REG_OFST _UINT32_(0x0C) /* (DSU_DATA) Data Offset */ 365 #define DSU_DCC_REG_OFST _UINT32_(0x10) /* (DSU_DCC) Debug Communication Channel n Offset */ 366 #define DSU_DCC0_REG_OFST _UINT32_(0x10) /* (DSU_DCC0) Debug Communication Channel n Offset */ 367 #define DSU_DCC1_REG_OFST _UINT32_(0x14) /* (DSU_DCC1) Debug Communication Channel n Offset */ 368 #define DSU_DID_REG_OFST _UINT32_(0x18) /* (DSU_DID) Device Identification Offset */ 369 #define DSU_CFG_REG_OFST _UINT32_(0x1C) /* (DSU_CFG) Configuration Offset */ 370 #define DSU_DCFG_REG_OFST _UINT32_(0xF0) /* (DSU_DCFG) Device Configuration Offset */ 371 #define DSU_DCFG0_REG_OFST _UINT32_(0xF0) /* (DSU_DCFG0) Device Configuration Offset */ 372 #define DSU_DCFG1_REG_OFST _UINT32_(0xF4) /* (DSU_DCFG1) Device Configuration Offset */ 373 #define DSU_ENTRY0_REG_OFST _UINT32_(0x1000) /* (DSU_ENTRY0) CoreSight ROM Table Entry 0 Offset */ 374 #define DSU_ENTRY1_REG_OFST _UINT32_(0x1004) /* (DSU_ENTRY1) CoreSight ROM Table Entry 1 Offset */ 375 #define DSU_END_REG_OFST _UINT32_(0x1008) /* (DSU_END) CoreSight ROM Table End Offset */ 376 #define DSU_MEMTYPE_REG_OFST _UINT32_(0x1FCC) /* (DSU_MEMTYPE) CoreSight ROM Table Memory Type Offset */ 377 #define DSU_PID4_REG_OFST _UINT32_(0x1FD0) /* (DSU_PID4) Peripheral Identification 4 Offset */ 378 #define DSU_PID5_REG_OFST _UINT32_(0x1FD4) /* (DSU_PID5) Peripheral Identification 5 Offset */ 379 #define DSU_PID6_REG_OFST _UINT32_(0x1FD8) /* (DSU_PID6) Peripheral Identification 6 Offset */ 380 #define DSU_PID7_REG_OFST _UINT32_(0x1FDC) /* (DSU_PID7) Peripheral Identification 7 Offset */ 381 #define DSU_PID0_REG_OFST _UINT32_(0x1FE0) /* (DSU_PID0) Peripheral Identification 0 Offset */ 382 #define DSU_PID1_REG_OFST _UINT32_(0x1FE4) /* (DSU_PID1) Peripheral Identification 1 Offset */ 383 #define DSU_PID2_REG_OFST _UINT32_(0x1FE8) /* (DSU_PID2) Peripheral Identification 2 Offset */ 384 #define DSU_PID3_REG_OFST _UINT32_(0x1FEC) /* (DSU_PID3) Peripheral Identification 3 Offset */ 385 #define DSU_CID0_REG_OFST _UINT32_(0x1FF0) /* (DSU_CID0) Component Identification 0 Offset */ 386 #define DSU_CID1_REG_OFST _UINT32_(0x1FF4) /* (DSU_CID1) Component Identification 1 Offset */ 387 #define DSU_CID2_REG_OFST _UINT32_(0x1FF8) /* (DSU_CID2) Component Identification 2 Offset */ 388 #define DSU_CID3_REG_OFST _UINT32_(0x1FFC) /* (DSU_CID3) Component Identification 3 Offset */ 389 390 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 391 /* DSU register API structure */ 392 typedef struct 393 { /* Device Service Unit */ 394 __O uint8_t DSU_CTRL; /* Offset: 0x00 ( /W 8) Control */ 395 __IO uint8_t DSU_STATUSA; /* Offset: 0x01 (R/W 8) Status A */ 396 __I uint8_t DSU_STATUSB; /* Offset: 0x02 (R/ 8) Status B */ 397 __I uint8_t Reserved1[0x01]; 398 __IO uint32_t DSU_ADDR; /* Offset: 0x04 (R/W 32) Address */ 399 __IO uint32_t DSU_LENGTH; /* Offset: 0x08 (R/W 32) Length */ 400 __IO uint32_t DSU_DATA; /* Offset: 0x0C (R/W 32) Data */ 401 __IO uint32_t DSU_DCC[2]; /* Offset: 0x10 (R/W 32) Debug Communication Channel n */ 402 __I uint32_t DSU_DID; /* Offset: 0x18 (R/ 32) Device Identification */ 403 __IO uint32_t DSU_CFG; /* Offset: 0x1C (R/W 32) Configuration */ 404 __I uint8_t Reserved2[0xD0]; 405 __IO uint32_t DSU_DCFG[2]; /* Offset: 0xF0 (R/W 32) Device Configuration */ 406 __I uint8_t Reserved3[0xF08]; 407 __I uint32_t DSU_ENTRY0; /* Offset: 0x1000 (R/ 32) CoreSight ROM Table Entry 0 */ 408 __I uint32_t DSU_ENTRY1; /* Offset: 0x1004 (R/ 32) CoreSight ROM Table Entry 1 */ 409 __I uint32_t DSU_END; /* Offset: 0x1008 (R/ 32) CoreSight ROM Table End */ 410 __I uint8_t Reserved4[0xFC0]; 411 __I uint32_t DSU_MEMTYPE; /* Offset: 0x1FCC (R/ 32) CoreSight ROM Table Memory Type */ 412 __I uint32_t DSU_PID4; /* Offset: 0x1FD0 (R/ 32) Peripheral Identification 4 */ 413 __I uint32_t DSU_PID5; /* Offset: 0x1FD4 (R/ 32) Peripheral Identification 5 */ 414 __I uint32_t DSU_PID6; /* Offset: 0x1FD8 (R/ 32) Peripheral Identification 6 */ 415 __I uint32_t DSU_PID7; /* Offset: 0x1FDC (R/ 32) Peripheral Identification 7 */ 416 __I uint32_t DSU_PID0; /* Offset: 0x1FE0 (R/ 32) Peripheral Identification 0 */ 417 __I uint32_t DSU_PID1; /* Offset: 0x1FE4 (R/ 32) Peripheral Identification 1 */ 418 __I uint32_t DSU_PID2; /* Offset: 0x1FE8 (R/ 32) Peripheral Identification 2 */ 419 __I uint32_t DSU_PID3; /* Offset: 0x1FEC (R/ 32) Peripheral Identification 3 */ 420 __I uint32_t DSU_CID0; /* Offset: 0x1FF0 (R/ 32) Component Identification 0 */ 421 __I uint32_t DSU_CID1; /* Offset: 0x1FF4 (R/ 32) Component Identification 1 */ 422 __I uint32_t DSU_CID2; /* Offset: 0x1FF8 (R/ 32) Component Identification 2 */ 423 __I uint32_t DSU_CID3; /* Offset: 0x1FFC (R/ 32) Component Identification 3 */ 424 } dsu_registers_t; 425 426 427 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 428 #endif /* _PIC32CXSG41_DSU_COMPONENT_H_ */ 429