mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Apr 03 11:45:06 2014 +0100
Revision:
149:1fb5f62b92bd
Parent:
targets/hal/TARGET_Freescale/TARGET_KSDK_MCUS/TARGET_K64F/device/MK64F12/MK64F12_sdhc.h@146:f64d43ff0c18
Synchronized with git revision 220c0bb39ceee40016e1e86350c058963d01ed42

Full URL: https://github.com/mbedmicro/mbed/commit/220c0bb39ceee40016e1e86350c058963d01ed42/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 146:f64d43ff0c18 1 /*
mbed_official 146:f64d43ff0c18 2 * Copyright (c) 2014, Freescale Semiconductor, Inc.
mbed_official 146:f64d43ff0c18 3 * All rights reserved.
mbed_official 146:f64d43ff0c18 4 *
mbed_official 146:f64d43ff0c18 5 * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
mbed_official 146:f64d43ff0c18 6 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbed_official 146:f64d43ff0c18 7 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
mbed_official 146:f64d43ff0c18 8 * SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mbed_official 146:f64d43ff0c18 9 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
mbed_official 146:f64d43ff0c18 10 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbed_official 146:f64d43ff0c18 11 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbed_official 146:f64d43ff0c18 12 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
mbed_official 146:f64d43ff0c18 13 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
mbed_official 146:f64d43ff0c18 14 * OF SUCH DAMAGE.
mbed_official 146:f64d43ff0c18 15 */
mbed_official 146:f64d43ff0c18 16 /*
mbed_official 146:f64d43ff0c18 17 * WARNING! DO NOT EDIT THIS FILE DIRECTLY!
mbed_official 146:f64d43ff0c18 18 *
mbed_official 146:f64d43ff0c18 19 * This file was generated automatically and any changes may be lost.
mbed_official 146:f64d43ff0c18 20 */
mbed_official 146:f64d43ff0c18 21 #ifndef __HW_SDHC_REGISTERS_H__
mbed_official 146:f64d43ff0c18 22 #define __HW_SDHC_REGISTERS_H__
mbed_official 146:f64d43ff0c18 23
mbed_official 146:f64d43ff0c18 24 #include "regs.h"
mbed_official 146:f64d43ff0c18 25
mbed_official 146:f64d43ff0c18 26 /*
mbed_official 146:f64d43ff0c18 27 * MK64F12 SDHC
mbed_official 146:f64d43ff0c18 28 *
mbed_official 146:f64d43ff0c18 29 * Secured Digital Host Controller
mbed_official 146:f64d43ff0c18 30 *
mbed_official 146:f64d43ff0c18 31 * Registers defined in this header file:
mbed_official 146:f64d43ff0c18 32 * - HW_SDHC_DSADDR - DMA System Address register
mbed_official 146:f64d43ff0c18 33 * - HW_SDHC_BLKATTR - Block Attributes register
mbed_official 146:f64d43ff0c18 34 * - HW_SDHC_CMDARG - Command Argument register
mbed_official 146:f64d43ff0c18 35 * - HW_SDHC_XFERTYP - Transfer Type register
mbed_official 146:f64d43ff0c18 36 * - HW_SDHC_CMDRSP0 - Command Response 0
mbed_official 146:f64d43ff0c18 37 * - HW_SDHC_CMDRSP1 - Command Response 1
mbed_official 146:f64d43ff0c18 38 * - HW_SDHC_CMDRSP2 - Command Response 2
mbed_official 146:f64d43ff0c18 39 * - HW_SDHC_CMDRSP3 - Command Response 3
mbed_official 146:f64d43ff0c18 40 * - HW_SDHC_DATPORT - Buffer Data Port register
mbed_official 146:f64d43ff0c18 41 * - HW_SDHC_PRSSTAT - Present State register
mbed_official 146:f64d43ff0c18 42 * - HW_SDHC_PROCTL - Protocol Control register
mbed_official 146:f64d43ff0c18 43 * - HW_SDHC_SYSCTL - System Control register
mbed_official 146:f64d43ff0c18 44 * - HW_SDHC_IRQSTAT - Interrupt Status register
mbed_official 146:f64d43ff0c18 45 * - HW_SDHC_IRQSTATEN - Interrupt Status Enable register
mbed_official 146:f64d43ff0c18 46 * - HW_SDHC_IRQSIGEN - Interrupt Signal Enable register
mbed_official 146:f64d43ff0c18 47 * - HW_SDHC_AC12ERR - Auto CMD12 Error Status Register
mbed_official 146:f64d43ff0c18 48 * - HW_SDHC_HTCAPBLT - Host Controller Capabilities
mbed_official 146:f64d43ff0c18 49 * - HW_SDHC_WML - Watermark Level Register
mbed_official 146:f64d43ff0c18 50 * - HW_SDHC_FEVT - Force Event register
mbed_official 146:f64d43ff0c18 51 * - HW_SDHC_ADMAES - ADMA Error Status register
mbed_official 146:f64d43ff0c18 52 * - HW_SDHC_ADSADDR - ADMA System Addressregister
mbed_official 146:f64d43ff0c18 53 * - HW_SDHC_VENDOR - Vendor Specific register
mbed_official 146:f64d43ff0c18 54 * - HW_SDHC_MMCBOOT - MMC Boot register
mbed_official 146:f64d43ff0c18 55 * - HW_SDHC_HOSTVER - Host Controller Version
mbed_official 146:f64d43ff0c18 56 *
mbed_official 146:f64d43ff0c18 57 * - hw_sdhc_t - Struct containing all module registers.
mbed_official 146:f64d43ff0c18 58 */
mbed_official 146:f64d43ff0c18 59
mbed_official 146:f64d43ff0c18 60 //! @name Module base addresses
mbed_official 146:f64d43ff0c18 61 //@{
mbed_official 146:f64d43ff0c18 62 #ifndef REGS_SDHC_BASE
mbed_official 146:f64d43ff0c18 63 #define HW_SDHC_INSTANCE_COUNT (1U) //!< Number of instances of the SDHC module.
mbed_official 146:f64d43ff0c18 64 #define REGS_SDHC_BASE (0x400B1000U) //!< Base address for SDHC.
mbed_official 146:f64d43ff0c18 65 #endif
mbed_official 146:f64d43ff0c18 66 //@}
mbed_official 146:f64d43ff0c18 67
mbed_official 146:f64d43ff0c18 68 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 69 // HW_SDHC_DSADDR - DMA System Address register
mbed_official 146:f64d43ff0c18 70 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 71
mbed_official 146:f64d43ff0c18 72 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 73 /*!
mbed_official 146:f64d43ff0c18 74 * @brief HW_SDHC_DSADDR - DMA System Address register (RW)
mbed_official 146:f64d43ff0c18 75 *
mbed_official 146:f64d43ff0c18 76 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 77 *
mbed_official 146:f64d43ff0c18 78 * This register contains the physical system memory address used for DMA
mbed_official 146:f64d43ff0c18 79 * transfers.
mbed_official 146:f64d43ff0c18 80 */
mbed_official 146:f64d43ff0c18 81 typedef union _hw_sdhc_dsaddr
mbed_official 146:f64d43ff0c18 82 {
mbed_official 146:f64d43ff0c18 83 uint32_t U;
mbed_official 146:f64d43ff0c18 84 struct _hw_sdhc_dsaddr_bitfields
mbed_official 146:f64d43ff0c18 85 {
mbed_official 146:f64d43ff0c18 86 uint32_t RESERVED0 : 2; //!< [1:0]
mbed_official 146:f64d43ff0c18 87 uint32_t DSADDR : 30; //!< [31:2] DMA System Address
mbed_official 146:f64d43ff0c18 88 } B;
mbed_official 146:f64d43ff0c18 89 } hw_sdhc_dsaddr_t;
mbed_official 146:f64d43ff0c18 90 #endif
mbed_official 146:f64d43ff0c18 91
mbed_official 146:f64d43ff0c18 92 /*!
mbed_official 146:f64d43ff0c18 93 * @name Constants and macros for entire SDHC_DSADDR register
mbed_official 146:f64d43ff0c18 94 */
mbed_official 146:f64d43ff0c18 95 //@{
mbed_official 146:f64d43ff0c18 96 #define HW_SDHC_DSADDR_ADDR (REGS_SDHC_BASE + 0x0U)
mbed_official 146:f64d43ff0c18 97
mbed_official 146:f64d43ff0c18 98 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 99 #define HW_SDHC_DSADDR (*(__IO hw_sdhc_dsaddr_t *) HW_SDHC_DSADDR_ADDR)
mbed_official 146:f64d43ff0c18 100 #define HW_SDHC_DSADDR_RD() (HW_SDHC_DSADDR.U)
mbed_official 146:f64d43ff0c18 101 #define HW_SDHC_DSADDR_WR(v) (HW_SDHC_DSADDR.U = (v))
mbed_official 146:f64d43ff0c18 102 #define HW_SDHC_DSADDR_SET(v) (HW_SDHC_DSADDR_WR(HW_SDHC_DSADDR_RD() | (v)))
mbed_official 146:f64d43ff0c18 103 #define HW_SDHC_DSADDR_CLR(v) (HW_SDHC_DSADDR_WR(HW_SDHC_DSADDR_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 104 #define HW_SDHC_DSADDR_TOG(v) (HW_SDHC_DSADDR_WR(HW_SDHC_DSADDR_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 105 #endif
mbed_official 146:f64d43ff0c18 106 //@}
mbed_official 146:f64d43ff0c18 107
mbed_official 146:f64d43ff0c18 108 /*
mbed_official 146:f64d43ff0c18 109 * Constants & macros for individual SDHC_DSADDR bitfields
mbed_official 146:f64d43ff0c18 110 */
mbed_official 146:f64d43ff0c18 111
mbed_official 146:f64d43ff0c18 112 /*!
mbed_official 146:f64d43ff0c18 113 * @name Register SDHC_DSADDR, field DSADDR[31:2] (RW)
mbed_official 146:f64d43ff0c18 114 *
mbed_official 146:f64d43ff0c18 115 * Contains the 32-bit system memory address for a DMA transfer. Because the
mbed_official 146:f64d43ff0c18 116 * address must be word (4 bytes) align, the least 2 bits are reserved, always 0.
mbed_official 146:f64d43ff0c18 117 * When the SDHC stops a DMA transfer, this register points to the system address
mbed_official 146:f64d43ff0c18 118 * of the next contiguous data position. It can be accessed only when no
mbed_official 146:f64d43ff0c18 119 * transaction is executing, that is, after a transaction has stopped. Read operation
mbed_official 146:f64d43ff0c18 120 * during transfers may return an invalid value. The host driver shall initialize
mbed_official 146:f64d43ff0c18 121 * this register before starting a DMA transaction. After DMA has stopped, the
mbed_official 146:f64d43ff0c18 122 * system address of the next contiguous data position can be read from this register.
mbed_official 146:f64d43ff0c18 123 * This register is protected during a data transfer. When data lines are
mbed_official 146:f64d43ff0c18 124 * active, write to this register is ignored. The host driver shall wait, until
mbed_official 146:f64d43ff0c18 125 * PRSSTAT[DLA] is cleared, before writing to this register. The SDHC internal DMA does
mbed_official 146:f64d43ff0c18 126 * not support a virtual memory system. It supports only continuous physical
mbed_official 146:f64d43ff0c18 127 * memory access. And due to AHB burst limitations, if the burst must cross the 1 KB
mbed_official 146:f64d43ff0c18 128 * boundary, SDHC will automatically change SEQ burst type to NSEQ. Because this
mbed_official 146:f64d43ff0c18 129 * register supports dynamic address reflecting, when IRQSTAT[TC] bit is set, it
mbed_official 146:f64d43ff0c18 130 * automatically alters the value of internal address counter, so SW cannot
mbed_official 146:f64d43ff0c18 131 * change this register when IRQSTAT[TC] is set.
mbed_official 146:f64d43ff0c18 132 */
mbed_official 146:f64d43ff0c18 133 //@{
mbed_official 146:f64d43ff0c18 134 #define BP_SDHC_DSADDR_DSADDR (2U) //!< Bit position for SDHC_DSADDR_DSADDR.
mbed_official 146:f64d43ff0c18 135 #define BM_SDHC_DSADDR_DSADDR (0xFFFFFFFCU) //!< Bit mask for SDHC_DSADDR_DSADDR.
mbed_official 146:f64d43ff0c18 136 #define BS_SDHC_DSADDR_DSADDR (30U) //!< Bit field size in bits for SDHC_DSADDR_DSADDR.
mbed_official 146:f64d43ff0c18 137
mbed_official 146:f64d43ff0c18 138 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 139 //! @brief Read current value of the SDHC_DSADDR_DSADDR field.
mbed_official 146:f64d43ff0c18 140 #define BR_SDHC_DSADDR_DSADDR (HW_SDHC_DSADDR.B.DSADDR)
mbed_official 146:f64d43ff0c18 141 #endif
mbed_official 146:f64d43ff0c18 142
mbed_official 146:f64d43ff0c18 143 //! @brief Format value for bitfield SDHC_DSADDR_DSADDR.
mbed_official 146:f64d43ff0c18 144 #define BF_SDHC_DSADDR_DSADDR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_DSADDR_DSADDR), uint32_t) & BM_SDHC_DSADDR_DSADDR)
mbed_official 146:f64d43ff0c18 145
mbed_official 146:f64d43ff0c18 146 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 147 //! @brief Set the DSADDR field to a new value.
mbed_official 146:f64d43ff0c18 148 #define BW_SDHC_DSADDR_DSADDR(v) (HW_SDHC_DSADDR_WR((HW_SDHC_DSADDR_RD() & ~BM_SDHC_DSADDR_DSADDR) | BF_SDHC_DSADDR_DSADDR(v)))
mbed_official 146:f64d43ff0c18 149 #endif
mbed_official 146:f64d43ff0c18 150 //@}
mbed_official 146:f64d43ff0c18 151
mbed_official 146:f64d43ff0c18 152 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 153 // HW_SDHC_BLKATTR - Block Attributes register
mbed_official 146:f64d43ff0c18 154 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 155
mbed_official 146:f64d43ff0c18 156 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 157 /*!
mbed_official 146:f64d43ff0c18 158 * @brief HW_SDHC_BLKATTR - Block Attributes register (RW)
mbed_official 146:f64d43ff0c18 159 *
mbed_official 146:f64d43ff0c18 160 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 161 *
mbed_official 146:f64d43ff0c18 162 * This register is used to configure the number of data blocks and the number
mbed_official 146:f64d43ff0c18 163 * of bytes in each block.
mbed_official 146:f64d43ff0c18 164 */
mbed_official 146:f64d43ff0c18 165 typedef union _hw_sdhc_blkattr
mbed_official 146:f64d43ff0c18 166 {
mbed_official 146:f64d43ff0c18 167 uint32_t U;
mbed_official 146:f64d43ff0c18 168 struct _hw_sdhc_blkattr_bitfields
mbed_official 146:f64d43ff0c18 169 {
mbed_official 146:f64d43ff0c18 170 uint32_t BLKSIZE : 13; //!< [12:0] Transfer Block Size
mbed_official 146:f64d43ff0c18 171 uint32_t RESERVED0 : 3; //!< [15:13]
mbed_official 146:f64d43ff0c18 172 uint32_t BLKCNT : 16; //!< [31:16] Blocks Count For Current Transfer
mbed_official 146:f64d43ff0c18 173 } B;
mbed_official 146:f64d43ff0c18 174 } hw_sdhc_blkattr_t;
mbed_official 146:f64d43ff0c18 175 #endif
mbed_official 146:f64d43ff0c18 176
mbed_official 146:f64d43ff0c18 177 /*!
mbed_official 146:f64d43ff0c18 178 * @name Constants and macros for entire SDHC_BLKATTR register
mbed_official 146:f64d43ff0c18 179 */
mbed_official 146:f64d43ff0c18 180 //@{
mbed_official 146:f64d43ff0c18 181 #define HW_SDHC_BLKATTR_ADDR (REGS_SDHC_BASE + 0x4U)
mbed_official 146:f64d43ff0c18 182
mbed_official 146:f64d43ff0c18 183 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 184 #define HW_SDHC_BLKATTR (*(__IO hw_sdhc_blkattr_t *) HW_SDHC_BLKATTR_ADDR)
mbed_official 146:f64d43ff0c18 185 #define HW_SDHC_BLKATTR_RD() (HW_SDHC_BLKATTR.U)
mbed_official 146:f64d43ff0c18 186 #define HW_SDHC_BLKATTR_WR(v) (HW_SDHC_BLKATTR.U = (v))
mbed_official 146:f64d43ff0c18 187 #define HW_SDHC_BLKATTR_SET(v) (HW_SDHC_BLKATTR_WR(HW_SDHC_BLKATTR_RD() | (v)))
mbed_official 146:f64d43ff0c18 188 #define HW_SDHC_BLKATTR_CLR(v) (HW_SDHC_BLKATTR_WR(HW_SDHC_BLKATTR_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 189 #define HW_SDHC_BLKATTR_TOG(v) (HW_SDHC_BLKATTR_WR(HW_SDHC_BLKATTR_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 190 #endif
mbed_official 146:f64d43ff0c18 191 //@}
mbed_official 146:f64d43ff0c18 192
mbed_official 146:f64d43ff0c18 193 /*
mbed_official 146:f64d43ff0c18 194 * Constants & macros for individual SDHC_BLKATTR bitfields
mbed_official 146:f64d43ff0c18 195 */
mbed_official 146:f64d43ff0c18 196
mbed_official 146:f64d43ff0c18 197 /*!
mbed_official 146:f64d43ff0c18 198 * @name Register SDHC_BLKATTR, field BLKSIZE[12:0] (RW)
mbed_official 146:f64d43ff0c18 199 *
mbed_official 146:f64d43ff0c18 200 * Specifies the block size for block data transfers. Values ranging from 1 byte
mbed_official 146:f64d43ff0c18 201 * up to the maximum buffer size can be set. It can be accessed only when no
mbed_official 146:f64d43ff0c18 202 * transaction is executing, that is, after a transaction has stopped. Read
mbed_official 146:f64d43ff0c18 203 * operations during transfers may return an invalid value, and write operations will be
mbed_official 146:f64d43ff0c18 204 * ignored.
mbed_official 146:f64d43ff0c18 205 *
mbed_official 146:f64d43ff0c18 206 * Values:
mbed_official 146:f64d43ff0c18 207 * - 0 - No data transfer.
mbed_official 146:f64d43ff0c18 208 * - 1 - 1 Byte
mbed_official 146:f64d43ff0c18 209 * - 10 - 2 Bytes
mbed_official 146:f64d43ff0c18 210 * - 11 - 3 Bytes
mbed_official 146:f64d43ff0c18 211 * - 100 - 4 Bytes
mbed_official 146:f64d43ff0c18 212 * - 111111111 - 511 Bytes
mbed_official 146:f64d43ff0c18 213 * - 1000000000 - 512 Bytes
mbed_official 146:f64d43ff0c18 214 * - 100000000000 - 2048 Bytes
mbed_official 146:f64d43ff0c18 215 * - 1000000000000 - 4096 Bytes
mbed_official 146:f64d43ff0c18 216 */
mbed_official 146:f64d43ff0c18 217 //@{
mbed_official 146:f64d43ff0c18 218 #define BP_SDHC_BLKATTR_BLKSIZE (0U) //!< Bit position for SDHC_BLKATTR_BLKSIZE.
mbed_official 146:f64d43ff0c18 219 #define BM_SDHC_BLKATTR_BLKSIZE (0x00001FFFU) //!< Bit mask for SDHC_BLKATTR_BLKSIZE.
mbed_official 146:f64d43ff0c18 220 #define BS_SDHC_BLKATTR_BLKSIZE (13U) //!< Bit field size in bits for SDHC_BLKATTR_BLKSIZE.
mbed_official 146:f64d43ff0c18 221
mbed_official 146:f64d43ff0c18 222 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 223 //! @brief Read current value of the SDHC_BLKATTR_BLKSIZE field.
mbed_official 146:f64d43ff0c18 224 #define BR_SDHC_BLKATTR_BLKSIZE (HW_SDHC_BLKATTR.B.BLKSIZE)
mbed_official 146:f64d43ff0c18 225 #endif
mbed_official 146:f64d43ff0c18 226
mbed_official 146:f64d43ff0c18 227 //! @brief Format value for bitfield SDHC_BLKATTR_BLKSIZE.
mbed_official 146:f64d43ff0c18 228 #define BF_SDHC_BLKATTR_BLKSIZE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_BLKATTR_BLKSIZE), uint32_t) & BM_SDHC_BLKATTR_BLKSIZE)
mbed_official 146:f64d43ff0c18 229
mbed_official 146:f64d43ff0c18 230 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 231 //! @brief Set the BLKSIZE field to a new value.
mbed_official 146:f64d43ff0c18 232 #define BW_SDHC_BLKATTR_BLKSIZE(v) (HW_SDHC_BLKATTR_WR((HW_SDHC_BLKATTR_RD() & ~BM_SDHC_BLKATTR_BLKSIZE) | BF_SDHC_BLKATTR_BLKSIZE(v)))
mbed_official 146:f64d43ff0c18 233 #endif
mbed_official 146:f64d43ff0c18 234 //@}
mbed_official 146:f64d43ff0c18 235
mbed_official 146:f64d43ff0c18 236 /*!
mbed_official 146:f64d43ff0c18 237 * @name Register SDHC_BLKATTR, field BLKCNT[31:16] (RW)
mbed_official 146:f64d43ff0c18 238 *
mbed_official 146:f64d43ff0c18 239 * This register is enabled when XFERTYP[BCEN] is set to 1 and is valid only for
mbed_official 146:f64d43ff0c18 240 * multiple block transfers. For single block transfer, this register will
mbed_official 146:f64d43ff0c18 241 * always read as 1. The host driver shall set this register to a value between 1 and
mbed_official 146:f64d43ff0c18 242 * the maximum block count. The SDHC decrements the block count after each block
mbed_official 146:f64d43ff0c18 243 * transfer and stops when the count reaches zero. Setting the block count to 0
mbed_official 146:f64d43ff0c18 244 * results in no data blocks being transferred. This register must be accessed
mbed_official 146:f64d43ff0c18 245 * only when no transaction is executing, that is, after transactions are stopped.
mbed_official 146:f64d43ff0c18 246 * During data transfer, read operations on this register may return an invalid
mbed_official 146:f64d43ff0c18 247 * value and write operations are ignored. When saving transfer content as a result
mbed_official 146:f64d43ff0c18 248 * of a suspend command, the number of blocks yet to be transferred can be
mbed_official 146:f64d43ff0c18 249 * determined by reading this register. The reading of this register must be applied
mbed_official 146:f64d43ff0c18 250 * after transfer is paused by stop at block gap operation and before sending the
mbed_official 146:f64d43ff0c18 251 * command marked as suspend. This is because when suspend command is sent out,
mbed_official 146:f64d43ff0c18 252 * SDHC will regard the current transfer as aborted and change BLKCNT back to its
mbed_official 146:f64d43ff0c18 253 * original value instead of keeping the dynamical indicator of remained block
mbed_official 146:f64d43ff0c18 254 * count. When restoring transfer content prior to issuing a resume command, the
mbed_official 146:f64d43ff0c18 255 * host driver shall restore the previously saved block count. Although the BLKCNT
mbed_official 146:f64d43ff0c18 256 * field is 0 after reset, the read of reset value is 0x1. This is because when
mbed_official 146:f64d43ff0c18 257 * XFERTYP[MSBSEL] is 0, indicating a single block transfer, the read value of
mbed_official 146:f64d43ff0c18 258 * BLKCNT is always 1.
mbed_official 146:f64d43ff0c18 259 *
mbed_official 146:f64d43ff0c18 260 * Values:
mbed_official 146:f64d43ff0c18 261 * - 0 - Stop count.
mbed_official 146:f64d43ff0c18 262 * - 1 - 1 block
mbed_official 146:f64d43ff0c18 263 * - 10 - 2 blocks
mbed_official 146:f64d43ff0c18 264 * - 1111111111111111 - 65535 blocks
mbed_official 146:f64d43ff0c18 265 */
mbed_official 146:f64d43ff0c18 266 //@{
mbed_official 146:f64d43ff0c18 267 #define BP_SDHC_BLKATTR_BLKCNT (16U) //!< Bit position for SDHC_BLKATTR_BLKCNT.
mbed_official 146:f64d43ff0c18 268 #define BM_SDHC_BLKATTR_BLKCNT (0xFFFF0000U) //!< Bit mask for SDHC_BLKATTR_BLKCNT.
mbed_official 146:f64d43ff0c18 269 #define BS_SDHC_BLKATTR_BLKCNT (16U) //!< Bit field size in bits for SDHC_BLKATTR_BLKCNT.
mbed_official 146:f64d43ff0c18 270
mbed_official 146:f64d43ff0c18 271 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 272 //! @brief Read current value of the SDHC_BLKATTR_BLKCNT field.
mbed_official 146:f64d43ff0c18 273 #define BR_SDHC_BLKATTR_BLKCNT (HW_SDHC_BLKATTR.B.BLKCNT)
mbed_official 146:f64d43ff0c18 274 #endif
mbed_official 146:f64d43ff0c18 275
mbed_official 146:f64d43ff0c18 276 //! @brief Format value for bitfield SDHC_BLKATTR_BLKCNT.
mbed_official 146:f64d43ff0c18 277 #define BF_SDHC_BLKATTR_BLKCNT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_BLKATTR_BLKCNT), uint32_t) & BM_SDHC_BLKATTR_BLKCNT)
mbed_official 146:f64d43ff0c18 278
mbed_official 146:f64d43ff0c18 279 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 280 //! @brief Set the BLKCNT field to a new value.
mbed_official 146:f64d43ff0c18 281 #define BW_SDHC_BLKATTR_BLKCNT(v) (HW_SDHC_BLKATTR_WR((HW_SDHC_BLKATTR_RD() & ~BM_SDHC_BLKATTR_BLKCNT) | BF_SDHC_BLKATTR_BLKCNT(v)))
mbed_official 146:f64d43ff0c18 282 #endif
mbed_official 146:f64d43ff0c18 283 //@}
mbed_official 146:f64d43ff0c18 284
mbed_official 146:f64d43ff0c18 285 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 286 // HW_SDHC_CMDARG - Command Argument register
mbed_official 146:f64d43ff0c18 287 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 288
mbed_official 146:f64d43ff0c18 289 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 290 /*!
mbed_official 146:f64d43ff0c18 291 * @brief HW_SDHC_CMDARG - Command Argument register (RW)
mbed_official 146:f64d43ff0c18 292 *
mbed_official 146:f64d43ff0c18 293 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 294 *
mbed_official 146:f64d43ff0c18 295 * This register contains the SD/MMC command argument.
mbed_official 146:f64d43ff0c18 296 */
mbed_official 146:f64d43ff0c18 297 typedef union _hw_sdhc_cmdarg
mbed_official 146:f64d43ff0c18 298 {
mbed_official 146:f64d43ff0c18 299 uint32_t U;
mbed_official 146:f64d43ff0c18 300 struct _hw_sdhc_cmdarg_bitfields
mbed_official 146:f64d43ff0c18 301 {
mbed_official 146:f64d43ff0c18 302 uint32_t CMDARG : 32; //!< [31:0] Command Argument
mbed_official 146:f64d43ff0c18 303 } B;
mbed_official 146:f64d43ff0c18 304 } hw_sdhc_cmdarg_t;
mbed_official 146:f64d43ff0c18 305 #endif
mbed_official 146:f64d43ff0c18 306
mbed_official 146:f64d43ff0c18 307 /*!
mbed_official 146:f64d43ff0c18 308 * @name Constants and macros for entire SDHC_CMDARG register
mbed_official 146:f64d43ff0c18 309 */
mbed_official 146:f64d43ff0c18 310 //@{
mbed_official 146:f64d43ff0c18 311 #define HW_SDHC_CMDARG_ADDR (REGS_SDHC_BASE + 0x8U)
mbed_official 146:f64d43ff0c18 312
mbed_official 146:f64d43ff0c18 313 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 314 #define HW_SDHC_CMDARG (*(__IO hw_sdhc_cmdarg_t *) HW_SDHC_CMDARG_ADDR)
mbed_official 146:f64d43ff0c18 315 #define HW_SDHC_CMDARG_RD() (HW_SDHC_CMDARG.U)
mbed_official 146:f64d43ff0c18 316 #define HW_SDHC_CMDARG_WR(v) (HW_SDHC_CMDARG.U = (v))
mbed_official 146:f64d43ff0c18 317 #define HW_SDHC_CMDARG_SET(v) (HW_SDHC_CMDARG_WR(HW_SDHC_CMDARG_RD() | (v)))
mbed_official 146:f64d43ff0c18 318 #define HW_SDHC_CMDARG_CLR(v) (HW_SDHC_CMDARG_WR(HW_SDHC_CMDARG_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 319 #define HW_SDHC_CMDARG_TOG(v) (HW_SDHC_CMDARG_WR(HW_SDHC_CMDARG_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 320 #endif
mbed_official 146:f64d43ff0c18 321 //@}
mbed_official 146:f64d43ff0c18 322
mbed_official 146:f64d43ff0c18 323 /*
mbed_official 146:f64d43ff0c18 324 * Constants & macros for individual SDHC_CMDARG bitfields
mbed_official 146:f64d43ff0c18 325 */
mbed_official 146:f64d43ff0c18 326
mbed_official 146:f64d43ff0c18 327 /*!
mbed_official 146:f64d43ff0c18 328 * @name Register SDHC_CMDARG, field CMDARG[31:0] (RW)
mbed_official 146:f64d43ff0c18 329 *
mbed_official 146:f64d43ff0c18 330 * The SD/MMC command argument is specified as bits 39-8 of the command format
mbed_official 146:f64d43ff0c18 331 * in the SD or MMC specification. This register is write protected when
mbed_official 146:f64d43ff0c18 332 * PRSSTAT[CDIHB0] is set.
mbed_official 146:f64d43ff0c18 333 */
mbed_official 146:f64d43ff0c18 334 //@{
mbed_official 146:f64d43ff0c18 335 #define BP_SDHC_CMDARG_CMDARG (0U) //!< Bit position for SDHC_CMDARG_CMDARG.
mbed_official 146:f64d43ff0c18 336 #define BM_SDHC_CMDARG_CMDARG (0xFFFFFFFFU) //!< Bit mask for SDHC_CMDARG_CMDARG.
mbed_official 146:f64d43ff0c18 337 #define BS_SDHC_CMDARG_CMDARG (32U) //!< Bit field size in bits for SDHC_CMDARG_CMDARG.
mbed_official 146:f64d43ff0c18 338
mbed_official 146:f64d43ff0c18 339 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 340 //! @brief Read current value of the SDHC_CMDARG_CMDARG field.
mbed_official 146:f64d43ff0c18 341 #define BR_SDHC_CMDARG_CMDARG (HW_SDHC_CMDARG.U)
mbed_official 146:f64d43ff0c18 342 #endif
mbed_official 146:f64d43ff0c18 343
mbed_official 146:f64d43ff0c18 344 //! @brief Format value for bitfield SDHC_CMDARG_CMDARG.
mbed_official 146:f64d43ff0c18 345 #define BF_SDHC_CMDARG_CMDARG(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_CMDARG_CMDARG), uint32_t) & BM_SDHC_CMDARG_CMDARG)
mbed_official 146:f64d43ff0c18 346
mbed_official 146:f64d43ff0c18 347 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 348 //! @brief Set the CMDARG field to a new value.
mbed_official 146:f64d43ff0c18 349 #define BW_SDHC_CMDARG_CMDARG(v) (HW_SDHC_CMDARG_WR(v))
mbed_official 146:f64d43ff0c18 350 #endif
mbed_official 146:f64d43ff0c18 351 //@}
mbed_official 146:f64d43ff0c18 352
mbed_official 146:f64d43ff0c18 353 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 354 // HW_SDHC_XFERTYP - Transfer Type register
mbed_official 146:f64d43ff0c18 355 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 356
mbed_official 146:f64d43ff0c18 357 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 358 /*!
mbed_official 146:f64d43ff0c18 359 * @brief HW_SDHC_XFERTYP - Transfer Type register (RW)
mbed_official 146:f64d43ff0c18 360 *
mbed_official 146:f64d43ff0c18 361 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 362 *
mbed_official 146:f64d43ff0c18 363 * This register is used to control the operation of data transfers. The host
mbed_official 146:f64d43ff0c18 364 * driver shall set this register before issuing a command followed by a data
mbed_official 146:f64d43ff0c18 365 * transfer, or before issuing a resume command. To prevent data loss, the SDHC
mbed_official 146:f64d43ff0c18 366 * prevents writing to the bits that are involved in the data transfer of this
mbed_official 146:f64d43ff0c18 367 * register, when data transfer is active. These bits are DPSEL, MBSEL, DTDSEL, AC12EN,
mbed_official 146:f64d43ff0c18 368 * BCEN, and DMAEN. The host driver shall check PRSSTAT[CDIHB] and PRSSTAT[CIHB]
mbed_official 146:f64d43ff0c18 369 * before writing to this register. When PRSSTAT[CDIHB] is set, any attempt to
mbed_official 146:f64d43ff0c18 370 * send a command with data by writing to this register is ignored; when
mbed_official 146:f64d43ff0c18 371 * PRSSTAT[CIHB] bit is set, any write to this register is ignored. On sending commands with
mbed_official 146:f64d43ff0c18 372 * data transfer involved, it is mandatory that the block size is nonzero.
mbed_official 146:f64d43ff0c18 373 * Besides, block count must also be nonzero, or indicated as single block transfer
mbed_official 146:f64d43ff0c18 374 * (bit 5 of this register is 0 when written), or block count is disabled (bit 1 of
mbed_official 146:f64d43ff0c18 375 * this register is 0 when written), otherwise SDHC will ignore the sending of
mbed_official 146:f64d43ff0c18 376 * this command and do nothing. For write command, with all above restrictions, it
mbed_official 146:f64d43ff0c18 377 * is also mandatory that the write protect switch is not active (WPSPL bit of
mbed_official 146:f64d43ff0c18 378 * Present State Register is 1), otherwise SDHC will also ignore the command. If
mbed_official 146:f64d43ff0c18 379 * the commands with data transfer does not receive the response in 64 clock
mbed_official 146:f64d43ff0c18 380 * cycles, that is, response time-out, SDHC will regard the external device does not
mbed_official 146:f64d43ff0c18 381 * accept the command and abort the data transfer. In this scenario, the driver
mbed_official 146:f64d43ff0c18 382 * must issue the command again to retry the transfer. It is also possible that,
mbed_official 146:f64d43ff0c18 383 * for some reason, the card responds to the command but SDHC does not receive the
mbed_official 146:f64d43ff0c18 384 * response, and if it is internal DMA (either simple DMA or ADMA) read
mbed_official 146:f64d43ff0c18 385 * operation, the external system memory is over-written by the internal DMA with data
mbed_official 146:f64d43ff0c18 386 * sent back from the card. The following table shows the summary of how register
mbed_official 146:f64d43ff0c18 387 * settings determine the type of data transfer. Transfer Type register setting for
mbed_official 146:f64d43ff0c18 388 * various transfer types Multi/Single block select Block count enable Block
mbed_official 146:f64d43ff0c18 389 * count Function 0 Don't care Don't care Single transfer 1 0 Don't care Infinite
mbed_official 146:f64d43ff0c18 390 * transfer 1 1 Positive number Multiple transfer 1 1 Zero No data transfer The
mbed_official 146:f64d43ff0c18 391 * following table shows the relationship between XFERTYP[CICEN] and XFERTYP[CCCEN],
mbed_official 146:f64d43ff0c18 392 * in regards to XFERTYP[RSPTYP] as well as the name of the response type.
mbed_official 146:f64d43ff0c18 393 * Relationship between parameters and the name of the response type Response type
mbed_official 146:f64d43ff0c18 394 * (RSPTYP) Index check enable (CICEN) CRC check enable (CCCEN) Name of response
mbed_official 146:f64d43ff0c18 395 * type 00 0 0 No Response 01 0 1 IR2 10 0 0 R3,R4 10 1 1 R1,R5,R6 11 1 1 R1b,R5b In
mbed_official 146:f64d43ff0c18 396 * the SDIO specification, response type notation for R5b is not defined. R5
mbed_official 146:f64d43ff0c18 397 * includes R5b in the SDIO specification. But R5b is defined in this specification
mbed_official 146:f64d43ff0c18 398 * to specify that the SDHC will check the busy status after receiving a
mbed_official 146:f64d43ff0c18 399 * response. For example, usually CMD52 is used with R5, but the I/O abort command shall
mbed_official 146:f64d43ff0c18 400 * be used with R5b. The CRC field for R3 and R4 is expected to be all 1 bits.
mbed_official 146:f64d43ff0c18 401 * The CRC check shall be disabled for these response types.
mbed_official 146:f64d43ff0c18 402 */
mbed_official 146:f64d43ff0c18 403 typedef union _hw_sdhc_xfertyp
mbed_official 146:f64d43ff0c18 404 {
mbed_official 146:f64d43ff0c18 405 uint32_t U;
mbed_official 146:f64d43ff0c18 406 struct _hw_sdhc_xfertyp_bitfields
mbed_official 146:f64d43ff0c18 407 {
mbed_official 146:f64d43ff0c18 408 uint32_t DMAEN : 1; //!< [0] DMA Enable
mbed_official 146:f64d43ff0c18 409 uint32_t BCEN : 1; //!< [1] Block Count Enable
mbed_official 146:f64d43ff0c18 410 uint32_t AC12EN : 1; //!< [2] Auto CMD12 Enable
mbed_official 146:f64d43ff0c18 411 uint32_t RESERVED0 : 1; //!< [3]
mbed_official 146:f64d43ff0c18 412 uint32_t DTDSEL : 1; //!< [4] Data Transfer Direction Select
mbed_official 146:f64d43ff0c18 413 uint32_t MSBSEL : 1; //!< [5] Multi/Single Block Select
mbed_official 146:f64d43ff0c18 414 uint32_t RESERVED1 : 10; //!< [15:6]
mbed_official 146:f64d43ff0c18 415 uint32_t RSPTYP : 2; //!< [17:16] Response Type Select
mbed_official 146:f64d43ff0c18 416 uint32_t RESERVED2 : 1; //!< [18]
mbed_official 146:f64d43ff0c18 417 uint32_t CCCEN : 1; //!< [19] Command CRC Check Enable
mbed_official 146:f64d43ff0c18 418 uint32_t CICEN : 1; //!< [20] Command Index Check Enable
mbed_official 146:f64d43ff0c18 419 uint32_t DPSEL : 1; //!< [21] Data Present Select
mbed_official 146:f64d43ff0c18 420 uint32_t CMDTYP : 2; //!< [23:22] Command Type
mbed_official 146:f64d43ff0c18 421 uint32_t CMDINX : 6; //!< [29:24] Command Index
mbed_official 146:f64d43ff0c18 422 uint32_t RESERVED3 : 2; //!< [31:30]
mbed_official 146:f64d43ff0c18 423 } B;
mbed_official 146:f64d43ff0c18 424 } hw_sdhc_xfertyp_t;
mbed_official 146:f64d43ff0c18 425 #endif
mbed_official 146:f64d43ff0c18 426
mbed_official 146:f64d43ff0c18 427 /*!
mbed_official 146:f64d43ff0c18 428 * @name Constants and macros for entire SDHC_XFERTYP register
mbed_official 146:f64d43ff0c18 429 */
mbed_official 146:f64d43ff0c18 430 //@{
mbed_official 146:f64d43ff0c18 431 #define HW_SDHC_XFERTYP_ADDR (REGS_SDHC_BASE + 0xCU)
mbed_official 146:f64d43ff0c18 432
mbed_official 146:f64d43ff0c18 433 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 434 #define HW_SDHC_XFERTYP (*(__IO hw_sdhc_xfertyp_t *) HW_SDHC_XFERTYP_ADDR)
mbed_official 146:f64d43ff0c18 435 #define HW_SDHC_XFERTYP_RD() (HW_SDHC_XFERTYP.U)
mbed_official 146:f64d43ff0c18 436 #define HW_SDHC_XFERTYP_WR(v) (HW_SDHC_XFERTYP.U = (v))
mbed_official 146:f64d43ff0c18 437 #define HW_SDHC_XFERTYP_SET(v) (HW_SDHC_XFERTYP_WR(HW_SDHC_XFERTYP_RD() | (v)))
mbed_official 146:f64d43ff0c18 438 #define HW_SDHC_XFERTYP_CLR(v) (HW_SDHC_XFERTYP_WR(HW_SDHC_XFERTYP_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 439 #define HW_SDHC_XFERTYP_TOG(v) (HW_SDHC_XFERTYP_WR(HW_SDHC_XFERTYP_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 440 #endif
mbed_official 146:f64d43ff0c18 441 //@}
mbed_official 146:f64d43ff0c18 442
mbed_official 146:f64d43ff0c18 443 /*
mbed_official 146:f64d43ff0c18 444 * Constants & macros for individual SDHC_XFERTYP bitfields
mbed_official 146:f64d43ff0c18 445 */
mbed_official 146:f64d43ff0c18 446
mbed_official 146:f64d43ff0c18 447 /*!
mbed_official 146:f64d43ff0c18 448 * @name Register SDHC_XFERTYP, field DMAEN[0] (RW)
mbed_official 146:f64d43ff0c18 449 *
mbed_official 146:f64d43ff0c18 450 * Enables DMA functionality. If this bit is set to 1, a DMA operation shall
mbed_official 146:f64d43ff0c18 451 * begin when the host driver sets the DPSEL bit of this register. Whether the
mbed_official 146:f64d43ff0c18 452 * simple DMA, or the advanced DMA, is active depends on PROCTL[DMAS].
mbed_official 146:f64d43ff0c18 453 *
mbed_official 146:f64d43ff0c18 454 * Values:
mbed_official 146:f64d43ff0c18 455 * - 0 - Disable
mbed_official 146:f64d43ff0c18 456 * - 1 - Enable
mbed_official 146:f64d43ff0c18 457 */
mbed_official 146:f64d43ff0c18 458 //@{
mbed_official 146:f64d43ff0c18 459 #define BP_SDHC_XFERTYP_DMAEN (0U) //!< Bit position for SDHC_XFERTYP_DMAEN.
mbed_official 146:f64d43ff0c18 460 #define BM_SDHC_XFERTYP_DMAEN (0x00000001U) //!< Bit mask for SDHC_XFERTYP_DMAEN.
mbed_official 146:f64d43ff0c18 461 #define BS_SDHC_XFERTYP_DMAEN (1U) //!< Bit field size in bits for SDHC_XFERTYP_DMAEN.
mbed_official 146:f64d43ff0c18 462
mbed_official 146:f64d43ff0c18 463 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 464 //! @brief Read current value of the SDHC_XFERTYP_DMAEN field.
mbed_official 146:f64d43ff0c18 465 #define BR_SDHC_XFERTYP_DMAEN (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DMAEN))
mbed_official 146:f64d43ff0c18 466 #endif
mbed_official 146:f64d43ff0c18 467
mbed_official 146:f64d43ff0c18 468 //! @brief Format value for bitfield SDHC_XFERTYP_DMAEN.
mbed_official 146:f64d43ff0c18 469 #define BF_SDHC_XFERTYP_DMAEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_DMAEN), uint32_t) & BM_SDHC_XFERTYP_DMAEN)
mbed_official 146:f64d43ff0c18 470
mbed_official 146:f64d43ff0c18 471 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 472 //! @brief Set the DMAEN field to a new value.
mbed_official 146:f64d43ff0c18 473 #define BW_SDHC_XFERTYP_DMAEN(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DMAEN) = (v))
mbed_official 146:f64d43ff0c18 474 #endif
mbed_official 146:f64d43ff0c18 475 //@}
mbed_official 146:f64d43ff0c18 476
mbed_official 146:f64d43ff0c18 477 /*!
mbed_official 146:f64d43ff0c18 478 * @name Register SDHC_XFERTYP, field BCEN[1] (RW)
mbed_official 146:f64d43ff0c18 479 *
mbed_official 146:f64d43ff0c18 480 * Used to enable the Block Count register, which is only relevant for multiple
mbed_official 146:f64d43ff0c18 481 * block transfers. When this bit is 0, the internal counter for block is
mbed_official 146:f64d43ff0c18 482 * disabled, which is useful in executing an infinite transfer.
mbed_official 146:f64d43ff0c18 483 *
mbed_official 146:f64d43ff0c18 484 * Values:
mbed_official 146:f64d43ff0c18 485 * - 0 - Disable
mbed_official 146:f64d43ff0c18 486 * - 1 - Enable
mbed_official 146:f64d43ff0c18 487 */
mbed_official 146:f64d43ff0c18 488 //@{
mbed_official 146:f64d43ff0c18 489 #define BP_SDHC_XFERTYP_BCEN (1U) //!< Bit position for SDHC_XFERTYP_BCEN.
mbed_official 146:f64d43ff0c18 490 #define BM_SDHC_XFERTYP_BCEN (0x00000002U) //!< Bit mask for SDHC_XFERTYP_BCEN.
mbed_official 146:f64d43ff0c18 491 #define BS_SDHC_XFERTYP_BCEN (1U) //!< Bit field size in bits for SDHC_XFERTYP_BCEN.
mbed_official 146:f64d43ff0c18 492
mbed_official 146:f64d43ff0c18 493 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 494 //! @brief Read current value of the SDHC_XFERTYP_BCEN field.
mbed_official 146:f64d43ff0c18 495 #define BR_SDHC_XFERTYP_BCEN (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_BCEN))
mbed_official 146:f64d43ff0c18 496 #endif
mbed_official 146:f64d43ff0c18 497
mbed_official 146:f64d43ff0c18 498 //! @brief Format value for bitfield SDHC_XFERTYP_BCEN.
mbed_official 146:f64d43ff0c18 499 #define BF_SDHC_XFERTYP_BCEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_BCEN), uint32_t) & BM_SDHC_XFERTYP_BCEN)
mbed_official 146:f64d43ff0c18 500
mbed_official 146:f64d43ff0c18 501 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 502 //! @brief Set the BCEN field to a new value.
mbed_official 146:f64d43ff0c18 503 #define BW_SDHC_XFERTYP_BCEN(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_BCEN) = (v))
mbed_official 146:f64d43ff0c18 504 #endif
mbed_official 146:f64d43ff0c18 505 //@}
mbed_official 146:f64d43ff0c18 506
mbed_official 146:f64d43ff0c18 507 /*!
mbed_official 146:f64d43ff0c18 508 * @name Register SDHC_XFERTYP, field AC12EN[2] (RW)
mbed_official 146:f64d43ff0c18 509 *
mbed_official 146:f64d43ff0c18 510 * Multiple block transfers for memory require a CMD12 to stop the transaction.
mbed_official 146:f64d43ff0c18 511 * When this bit is set to 1, the SDHC will issue a CMD12 automatically when the
mbed_official 146:f64d43ff0c18 512 * last block transfer has completed. The host driver shall not set this bit to
mbed_official 146:f64d43ff0c18 513 * issue commands that do not require CMD12 to stop a multiple block data
mbed_official 146:f64d43ff0c18 514 * transfer. In particular, secure commands defined in File Security Specification (see
mbed_official 146:f64d43ff0c18 515 * reference list) do not require CMD12. In single block transfer, the SDHC will
mbed_official 146:f64d43ff0c18 516 * ignore this bit whether it is set or not.
mbed_official 146:f64d43ff0c18 517 *
mbed_official 146:f64d43ff0c18 518 * Values:
mbed_official 146:f64d43ff0c18 519 * - 0 - Disable
mbed_official 146:f64d43ff0c18 520 * - 1 - Enable
mbed_official 146:f64d43ff0c18 521 */
mbed_official 146:f64d43ff0c18 522 //@{
mbed_official 146:f64d43ff0c18 523 #define BP_SDHC_XFERTYP_AC12EN (2U) //!< Bit position for SDHC_XFERTYP_AC12EN.
mbed_official 146:f64d43ff0c18 524 #define BM_SDHC_XFERTYP_AC12EN (0x00000004U) //!< Bit mask for SDHC_XFERTYP_AC12EN.
mbed_official 146:f64d43ff0c18 525 #define BS_SDHC_XFERTYP_AC12EN (1U) //!< Bit field size in bits for SDHC_XFERTYP_AC12EN.
mbed_official 146:f64d43ff0c18 526
mbed_official 146:f64d43ff0c18 527 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 528 //! @brief Read current value of the SDHC_XFERTYP_AC12EN field.
mbed_official 146:f64d43ff0c18 529 #define BR_SDHC_XFERTYP_AC12EN (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_AC12EN))
mbed_official 146:f64d43ff0c18 530 #endif
mbed_official 146:f64d43ff0c18 531
mbed_official 146:f64d43ff0c18 532 //! @brief Format value for bitfield SDHC_XFERTYP_AC12EN.
mbed_official 146:f64d43ff0c18 533 #define BF_SDHC_XFERTYP_AC12EN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_AC12EN), uint32_t) & BM_SDHC_XFERTYP_AC12EN)
mbed_official 146:f64d43ff0c18 534
mbed_official 146:f64d43ff0c18 535 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 536 //! @brief Set the AC12EN field to a new value.
mbed_official 146:f64d43ff0c18 537 #define BW_SDHC_XFERTYP_AC12EN(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_AC12EN) = (v))
mbed_official 146:f64d43ff0c18 538 #endif
mbed_official 146:f64d43ff0c18 539 //@}
mbed_official 146:f64d43ff0c18 540
mbed_official 146:f64d43ff0c18 541 /*!
mbed_official 146:f64d43ff0c18 542 * @name Register SDHC_XFERTYP, field DTDSEL[4] (RW)
mbed_official 146:f64d43ff0c18 543 *
mbed_official 146:f64d43ff0c18 544 * Defines the direction of DAT line data transfers. The bit is set to 1 by the
mbed_official 146:f64d43ff0c18 545 * host driver to transfer data from the SD card to the SDHC and is set to 0 for
mbed_official 146:f64d43ff0c18 546 * all other commands.
mbed_official 146:f64d43ff0c18 547 *
mbed_official 146:f64d43ff0c18 548 * Values:
mbed_official 146:f64d43ff0c18 549 * - 0 - Write host to card.
mbed_official 146:f64d43ff0c18 550 * - 1 - Read card to host.
mbed_official 146:f64d43ff0c18 551 */
mbed_official 146:f64d43ff0c18 552 //@{
mbed_official 146:f64d43ff0c18 553 #define BP_SDHC_XFERTYP_DTDSEL (4U) //!< Bit position for SDHC_XFERTYP_DTDSEL.
mbed_official 146:f64d43ff0c18 554 #define BM_SDHC_XFERTYP_DTDSEL (0x00000010U) //!< Bit mask for SDHC_XFERTYP_DTDSEL.
mbed_official 146:f64d43ff0c18 555 #define BS_SDHC_XFERTYP_DTDSEL (1U) //!< Bit field size in bits for SDHC_XFERTYP_DTDSEL.
mbed_official 146:f64d43ff0c18 556
mbed_official 146:f64d43ff0c18 557 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 558 //! @brief Read current value of the SDHC_XFERTYP_DTDSEL field.
mbed_official 146:f64d43ff0c18 559 #define BR_SDHC_XFERTYP_DTDSEL (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DTDSEL))
mbed_official 146:f64d43ff0c18 560 #endif
mbed_official 146:f64d43ff0c18 561
mbed_official 146:f64d43ff0c18 562 //! @brief Format value for bitfield SDHC_XFERTYP_DTDSEL.
mbed_official 146:f64d43ff0c18 563 #define BF_SDHC_XFERTYP_DTDSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_DTDSEL), uint32_t) & BM_SDHC_XFERTYP_DTDSEL)
mbed_official 146:f64d43ff0c18 564
mbed_official 146:f64d43ff0c18 565 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 566 //! @brief Set the DTDSEL field to a new value.
mbed_official 146:f64d43ff0c18 567 #define BW_SDHC_XFERTYP_DTDSEL(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DTDSEL) = (v))
mbed_official 146:f64d43ff0c18 568 #endif
mbed_official 146:f64d43ff0c18 569 //@}
mbed_official 146:f64d43ff0c18 570
mbed_official 146:f64d43ff0c18 571 /*!
mbed_official 146:f64d43ff0c18 572 * @name Register SDHC_XFERTYP, field MSBSEL[5] (RW)
mbed_official 146:f64d43ff0c18 573 *
mbed_official 146:f64d43ff0c18 574 * Enables multiple block DAT line data transfers. For any other commands, this
mbed_official 146:f64d43ff0c18 575 * bit shall be set to 0. If this bit is 0, it is not necessary to set the block
mbed_official 146:f64d43ff0c18 576 * count register.
mbed_official 146:f64d43ff0c18 577 *
mbed_official 146:f64d43ff0c18 578 * Values:
mbed_official 146:f64d43ff0c18 579 * - 0 - Single block.
mbed_official 146:f64d43ff0c18 580 * - 1 - Multiple blocks.
mbed_official 146:f64d43ff0c18 581 */
mbed_official 146:f64d43ff0c18 582 //@{
mbed_official 146:f64d43ff0c18 583 #define BP_SDHC_XFERTYP_MSBSEL (5U) //!< Bit position for SDHC_XFERTYP_MSBSEL.
mbed_official 146:f64d43ff0c18 584 #define BM_SDHC_XFERTYP_MSBSEL (0x00000020U) //!< Bit mask for SDHC_XFERTYP_MSBSEL.
mbed_official 146:f64d43ff0c18 585 #define BS_SDHC_XFERTYP_MSBSEL (1U) //!< Bit field size in bits for SDHC_XFERTYP_MSBSEL.
mbed_official 146:f64d43ff0c18 586
mbed_official 146:f64d43ff0c18 587 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 588 //! @brief Read current value of the SDHC_XFERTYP_MSBSEL field.
mbed_official 146:f64d43ff0c18 589 #define BR_SDHC_XFERTYP_MSBSEL (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_MSBSEL))
mbed_official 146:f64d43ff0c18 590 #endif
mbed_official 146:f64d43ff0c18 591
mbed_official 146:f64d43ff0c18 592 //! @brief Format value for bitfield SDHC_XFERTYP_MSBSEL.
mbed_official 146:f64d43ff0c18 593 #define BF_SDHC_XFERTYP_MSBSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_MSBSEL), uint32_t) & BM_SDHC_XFERTYP_MSBSEL)
mbed_official 146:f64d43ff0c18 594
mbed_official 146:f64d43ff0c18 595 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 596 //! @brief Set the MSBSEL field to a new value.
mbed_official 146:f64d43ff0c18 597 #define BW_SDHC_XFERTYP_MSBSEL(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_MSBSEL) = (v))
mbed_official 146:f64d43ff0c18 598 #endif
mbed_official 146:f64d43ff0c18 599 //@}
mbed_official 146:f64d43ff0c18 600
mbed_official 146:f64d43ff0c18 601 /*!
mbed_official 146:f64d43ff0c18 602 * @name Register SDHC_XFERTYP, field RSPTYP[17:16] (RW)
mbed_official 146:f64d43ff0c18 603 *
mbed_official 146:f64d43ff0c18 604 * Values:
mbed_official 146:f64d43ff0c18 605 * - 00 - No response.
mbed_official 146:f64d43ff0c18 606 * - 01 - Response length 136.
mbed_official 146:f64d43ff0c18 607 * - 10 - Response length 48.
mbed_official 146:f64d43ff0c18 608 * - 11 - Response length 48, check busy after response.
mbed_official 146:f64d43ff0c18 609 */
mbed_official 146:f64d43ff0c18 610 //@{
mbed_official 146:f64d43ff0c18 611 #define BP_SDHC_XFERTYP_RSPTYP (16U) //!< Bit position for SDHC_XFERTYP_RSPTYP.
mbed_official 146:f64d43ff0c18 612 #define BM_SDHC_XFERTYP_RSPTYP (0x00030000U) //!< Bit mask for SDHC_XFERTYP_RSPTYP.
mbed_official 146:f64d43ff0c18 613 #define BS_SDHC_XFERTYP_RSPTYP (2U) //!< Bit field size in bits for SDHC_XFERTYP_RSPTYP.
mbed_official 146:f64d43ff0c18 614
mbed_official 146:f64d43ff0c18 615 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 616 //! @brief Read current value of the SDHC_XFERTYP_RSPTYP field.
mbed_official 146:f64d43ff0c18 617 #define BR_SDHC_XFERTYP_RSPTYP (HW_SDHC_XFERTYP.B.RSPTYP)
mbed_official 146:f64d43ff0c18 618 #endif
mbed_official 146:f64d43ff0c18 619
mbed_official 146:f64d43ff0c18 620 //! @brief Format value for bitfield SDHC_XFERTYP_RSPTYP.
mbed_official 146:f64d43ff0c18 621 #define BF_SDHC_XFERTYP_RSPTYP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_RSPTYP), uint32_t) & BM_SDHC_XFERTYP_RSPTYP)
mbed_official 146:f64d43ff0c18 622
mbed_official 146:f64d43ff0c18 623 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 624 //! @brief Set the RSPTYP field to a new value.
mbed_official 146:f64d43ff0c18 625 #define BW_SDHC_XFERTYP_RSPTYP(v) (HW_SDHC_XFERTYP_WR((HW_SDHC_XFERTYP_RD() & ~BM_SDHC_XFERTYP_RSPTYP) | BF_SDHC_XFERTYP_RSPTYP(v)))
mbed_official 146:f64d43ff0c18 626 #endif
mbed_official 146:f64d43ff0c18 627 //@}
mbed_official 146:f64d43ff0c18 628
mbed_official 146:f64d43ff0c18 629 /*!
mbed_official 146:f64d43ff0c18 630 * @name Register SDHC_XFERTYP, field CCCEN[19] (RW)
mbed_official 146:f64d43ff0c18 631 *
mbed_official 146:f64d43ff0c18 632 * If this bit is set to 1, the SDHC shall check the CRC field in the response.
mbed_official 146:f64d43ff0c18 633 * If an error is detected, it is reported as a Command CRC Error. If this bit is
mbed_official 146:f64d43ff0c18 634 * set to 0, the CRC field is not checked. The number of bits checked by the CRC
mbed_official 146:f64d43ff0c18 635 * field value changes according to the length of the response.
mbed_official 146:f64d43ff0c18 636 *
mbed_official 146:f64d43ff0c18 637 * Values:
mbed_official 146:f64d43ff0c18 638 * - 0 - Disable
mbed_official 146:f64d43ff0c18 639 * - 1 - Enable
mbed_official 146:f64d43ff0c18 640 */
mbed_official 146:f64d43ff0c18 641 //@{
mbed_official 146:f64d43ff0c18 642 #define BP_SDHC_XFERTYP_CCCEN (19U) //!< Bit position for SDHC_XFERTYP_CCCEN.
mbed_official 146:f64d43ff0c18 643 #define BM_SDHC_XFERTYP_CCCEN (0x00080000U) //!< Bit mask for SDHC_XFERTYP_CCCEN.
mbed_official 146:f64d43ff0c18 644 #define BS_SDHC_XFERTYP_CCCEN (1U) //!< Bit field size in bits for SDHC_XFERTYP_CCCEN.
mbed_official 146:f64d43ff0c18 645
mbed_official 146:f64d43ff0c18 646 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 647 //! @brief Read current value of the SDHC_XFERTYP_CCCEN field.
mbed_official 146:f64d43ff0c18 648 #define BR_SDHC_XFERTYP_CCCEN (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_CCCEN))
mbed_official 146:f64d43ff0c18 649 #endif
mbed_official 146:f64d43ff0c18 650
mbed_official 146:f64d43ff0c18 651 //! @brief Format value for bitfield SDHC_XFERTYP_CCCEN.
mbed_official 146:f64d43ff0c18 652 #define BF_SDHC_XFERTYP_CCCEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_CCCEN), uint32_t) & BM_SDHC_XFERTYP_CCCEN)
mbed_official 146:f64d43ff0c18 653
mbed_official 146:f64d43ff0c18 654 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 655 //! @brief Set the CCCEN field to a new value.
mbed_official 146:f64d43ff0c18 656 #define BW_SDHC_XFERTYP_CCCEN(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_CCCEN) = (v))
mbed_official 146:f64d43ff0c18 657 #endif
mbed_official 146:f64d43ff0c18 658 //@}
mbed_official 146:f64d43ff0c18 659
mbed_official 146:f64d43ff0c18 660 /*!
mbed_official 146:f64d43ff0c18 661 * @name Register SDHC_XFERTYP, field CICEN[20] (RW)
mbed_official 146:f64d43ff0c18 662 *
mbed_official 146:f64d43ff0c18 663 * If this bit is set to 1, the SDHC will check the index field in the response
mbed_official 146:f64d43ff0c18 664 * to see if it has the same value as the command index. If it is not, it is
mbed_official 146:f64d43ff0c18 665 * reported as a command index error. If this bit is set to 0, the index field is not
mbed_official 146:f64d43ff0c18 666 * checked.
mbed_official 146:f64d43ff0c18 667 *
mbed_official 146:f64d43ff0c18 668 * Values:
mbed_official 146:f64d43ff0c18 669 * - 0 - Disable
mbed_official 146:f64d43ff0c18 670 * - 1 - Enable
mbed_official 146:f64d43ff0c18 671 */
mbed_official 146:f64d43ff0c18 672 //@{
mbed_official 146:f64d43ff0c18 673 #define BP_SDHC_XFERTYP_CICEN (20U) //!< Bit position for SDHC_XFERTYP_CICEN.
mbed_official 146:f64d43ff0c18 674 #define BM_SDHC_XFERTYP_CICEN (0x00100000U) //!< Bit mask for SDHC_XFERTYP_CICEN.
mbed_official 146:f64d43ff0c18 675 #define BS_SDHC_XFERTYP_CICEN (1U) //!< Bit field size in bits for SDHC_XFERTYP_CICEN.
mbed_official 146:f64d43ff0c18 676
mbed_official 146:f64d43ff0c18 677 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 678 //! @brief Read current value of the SDHC_XFERTYP_CICEN field.
mbed_official 146:f64d43ff0c18 679 #define BR_SDHC_XFERTYP_CICEN (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_CICEN))
mbed_official 146:f64d43ff0c18 680 #endif
mbed_official 146:f64d43ff0c18 681
mbed_official 146:f64d43ff0c18 682 //! @brief Format value for bitfield SDHC_XFERTYP_CICEN.
mbed_official 146:f64d43ff0c18 683 #define BF_SDHC_XFERTYP_CICEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_CICEN), uint32_t) & BM_SDHC_XFERTYP_CICEN)
mbed_official 146:f64d43ff0c18 684
mbed_official 146:f64d43ff0c18 685 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 686 //! @brief Set the CICEN field to a new value.
mbed_official 146:f64d43ff0c18 687 #define BW_SDHC_XFERTYP_CICEN(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_CICEN) = (v))
mbed_official 146:f64d43ff0c18 688 #endif
mbed_official 146:f64d43ff0c18 689 //@}
mbed_official 146:f64d43ff0c18 690
mbed_official 146:f64d43ff0c18 691 /*!
mbed_official 146:f64d43ff0c18 692 * @name Register SDHC_XFERTYP, field DPSEL[21] (RW)
mbed_official 146:f64d43ff0c18 693 *
mbed_official 146:f64d43ff0c18 694 * This bit is set to 1 to indicate that data is present and shall be
mbed_official 146:f64d43ff0c18 695 * transferred using the DAT line. It is set to 0 for the following: Commands using only
mbed_official 146:f64d43ff0c18 696 * the CMD line, for example: CMD52. Commands with no data transfer, but using the
mbed_official 146:f64d43ff0c18 697 * busy signal on DAT[0] line, R1b or R5b, for example: CMD38. In resume command,
mbed_official 146:f64d43ff0c18 698 * this bit shall be set, and other bits in this register shall be set the same
mbed_official 146:f64d43ff0c18 699 * as when the transfer was initially launched. When the Write Protect switch is
mbed_official 146:f64d43ff0c18 700 * on, that is, the WPSPL bit is active as 0, any command with a write operation
mbed_official 146:f64d43ff0c18 701 * will be ignored. That is to say, when this bit is set, while the DTDSEL bit is
mbed_official 146:f64d43ff0c18 702 * 0, writes to the register Transfer Type are ignored.
mbed_official 146:f64d43ff0c18 703 *
mbed_official 146:f64d43ff0c18 704 * Values:
mbed_official 146:f64d43ff0c18 705 * - 0 - No data present.
mbed_official 146:f64d43ff0c18 706 * - 1 - Data present.
mbed_official 146:f64d43ff0c18 707 */
mbed_official 146:f64d43ff0c18 708 //@{
mbed_official 146:f64d43ff0c18 709 #define BP_SDHC_XFERTYP_DPSEL (21U) //!< Bit position for SDHC_XFERTYP_DPSEL.
mbed_official 146:f64d43ff0c18 710 #define BM_SDHC_XFERTYP_DPSEL (0x00200000U) //!< Bit mask for SDHC_XFERTYP_DPSEL.
mbed_official 146:f64d43ff0c18 711 #define BS_SDHC_XFERTYP_DPSEL (1U) //!< Bit field size in bits for SDHC_XFERTYP_DPSEL.
mbed_official 146:f64d43ff0c18 712
mbed_official 146:f64d43ff0c18 713 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 714 //! @brief Read current value of the SDHC_XFERTYP_DPSEL field.
mbed_official 146:f64d43ff0c18 715 #define BR_SDHC_XFERTYP_DPSEL (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DPSEL))
mbed_official 146:f64d43ff0c18 716 #endif
mbed_official 146:f64d43ff0c18 717
mbed_official 146:f64d43ff0c18 718 //! @brief Format value for bitfield SDHC_XFERTYP_DPSEL.
mbed_official 146:f64d43ff0c18 719 #define BF_SDHC_XFERTYP_DPSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_DPSEL), uint32_t) & BM_SDHC_XFERTYP_DPSEL)
mbed_official 146:f64d43ff0c18 720
mbed_official 146:f64d43ff0c18 721 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 722 //! @brief Set the DPSEL field to a new value.
mbed_official 146:f64d43ff0c18 723 #define BW_SDHC_XFERTYP_DPSEL(v) (BITBAND_ACCESS32(HW_SDHC_XFERTYP_ADDR, BP_SDHC_XFERTYP_DPSEL) = (v))
mbed_official 146:f64d43ff0c18 724 #endif
mbed_official 146:f64d43ff0c18 725 //@}
mbed_official 146:f64d43ff0c18 726
mbed_official 146:f64d43ff0c18 727 /*!
mbed_official 146:f64d43ff0c18 728 * @name Register SDHC_XFERTYP, field CMDTYP[23:22] (RW)
mbed_official 146:f64d43ff0c18 729 *
mbed_official 146:f64d43ff0c18 730 * There are three types of special commands: suspend, resume, and abort. These
mbed_official 146:f64d43ff0c18 731 * bits shall be set to 00b for all other commands. Suspend command: If the
mbed_official 146:f64d43ff0c18 732 * suspend command succeeds, the SDHC shall assume that the card bus has been released
mbed_official 146:f64d43ff0c18 733 * and that it is possible to issue the next command which uses the DAT line.
mbed_official 146:f64d43ff0c18 734 * Because the SDHC does not monitor the content of command response, it does not
mbed_official 146:f64d43ff0c18 735 * know if the suspend command succeeded or not. It is the host driver's
mbed_official 146:f64d43ff0c18 736 * responsibility to check the status of the suspend command and send another command
mbed_official 146:f64d43ff0c18 737 * marked as suspend to inform the SDHC that a suspend command was successfully
mbed_official 146:f64d43ff0c18 738 * issued. After the end bit of command is sent, the SDHC deasserts read wait for read
mbed_official 146:f64d43ff0c18 739 * transactions and stops checking busy for write transactions. In 4-bit mode,
mbed_official 146:f64d43ff0c18 740 * the interrupt cycle starts. If the suspend command fails, the SDHC will
mbed_official 146:f64d43ff0c18 741 * maintain its current state, and the host driver shall restart the transfer by setting
mbed_official 146:f64d43ff0c18 742 * PROCTL[CREQ]. Resume command: The host driver restarts the data transfer by
mbed_official 146:f64d43ff0c18 743 * restoring the registers saved before sending the suspend command and then sends
mbed_official 146:f64d43ff0c18 744 * the resume command. The SDHC will check for a pending busy state before
mbed_official 146:f64d43ff0c18 745 * starting write transfers. Abort command: If this command is set when executing a
mbed_official 146:f64d43ff0c18 746 * read transfer, the SDHC will stop reads to the buffer. If this command is set
mbed_official 146:f64d43ff0c18 747 * when executing a write transfer, the SDHC will stop driving the DAT line. After
mbed_official 146:f64d43ff0c18 748 * issuing the abort command, the host driver must issue a software reset (abort
mbed_official 146:f64d43ff0c18 749 * transaction).
mbed_official 146:f64d43ff0c18 750 *
mbed_official 146:f64d43ff0c18 751 * Values:
mbed_official 146:f64d43ff0c18 752 * - 00 - Normal other commands.
mbed_official 146:f64d43ff0c18 753 * - 01 - Suspend CMD52 for writing bus suspend in CCCR.
mbed_official 146:f64d43ff0c18 754 * - 10 - Resume CMD52 for writing function select in CCCR.
mbed_official 146:f64d43ff0c18 755 * - 11 - Abort CMD12, CMD52 for writing I/O abort in CCCR.
mbed_official 146:f64d43ff0c18 756 */
mbed_official 146:f64d43ff0c18 757 //@{
mbed_official 146:f64d43ff0c18 758 #define BP_SDHC_XFERTYP_CMDTYP (22U) //!< Bit position for SDHC_XFERTYP_CMDTYP.
mbed_official 146:f64d43ff0c18 759 #define BM_SDHC_XFERTYP_CMDTYP (0x00C00000U) //!< Bit mask for SDHC_XFERTYP_CMDTYP.
mbed_official 146:f64d43ff0c18 760 #define BS_SDHC_XFERTYP_CMDTYP (2U) //!< Bit field size in bits for SDHC_XFERTYP_CMDTYP.
mbed_official 146:f64d43ff0c18 761
mbed_official 146:f64d43ff0c18 762 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 763 //! @brief Read current value of the SDHC_XFERTYP_CMDTYP field.
mbed_official 146:f64d43ff0c18 764 #define BR_SDHC_XFERTYP_CMDTYP (HW_SDHC_XFERTYP.B.CMDTYP)
mbed_official 146:f64d43ff0c18 765 #endif
mbed_official 146:f64d43ff0c18 766
mbed_official 146:f64d43ff0c18 767 //! @brief Format value for bitfield SDHC_XFERTYP_CMDTYP.
mbed_official 146:f64d43ff0c18 768 #define BF_SDHC_XFERTYP_CMDTYP(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_CMDTYP), uint32_t) & BM_SDHC_XFERTYP_CMDTYP)
mbed_official 146:f64d43ff0c18 769
mbed_official 146:f64d43ff0c18 770 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 771 //! @brief Set the CMDTYP field to a new value.
mbed_official 146:f64d43ff0c18 772 #define BW_SDHC_XFERTYP_CMDTYP(v) (HW_SDHC_XFERTYP_WR((HW_SDHC_XFERTYP_RD() & ~BM_SDHC_XFERTYP_CMDTYP) | BF_SDHC_XFERTYP_CMDTYP(v)))
mbed_official 146:f64d43ff0c18 773 #endif
mbed_official 146:f64d43ff0c18 774 //@}
mbed_official 146:f64d43ff0c18 775
mbed_official 146:f64d43ff0c18 776 /*!
mbed_official 146:f64d43ff0c18 777 * @name Register SDHC_XFERTYP, field CMDINX[29:24] (RW)
mbed_official 146:f64d43ff0c18 778 *
mbed_official 146:f64d43ff0c18 779 * These bits shall be set to the command number that is specified in bits 45-40
mbed_official 146:f64d43ff0c18 780 * of the command-format in the SD Memory Card Physical Layer Specification and
mbed_official 146:f64d43ff0c18 781 * SDIO Card Specification.
mbed_official 146:f64d43ff0c18 782 */
mbed_official 146:f64d43ff0c18 783 //@{
mbed_official 146:f64d43ff0c18 784 #define BP_SDHC_XFERTYP_CMDINX (24U) //!< Bit position for SDHC_XFERTYP_CMDINX.
mbed_official 146:f64d43ff0c18 785 #define BM_SDHC_XFERTYP_CMDINX (0x3F000000U) //!< Bit mask for SDHC_XFERTYP_CMDINX.
mbed_official 146:f64d43ff0c18 786 #define BS_SDHC_XFERTYP_CMDINX (6U) //!< Bit field size in bits for SDHC_XFERTYP_CMDINX.
mbed_official 146:f64d43ff0c18 787
mbed_official 146:f64d43ff0c18 788 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 789 //! @brief Read current value of the SDHC_XFERTYP_CMDINX field.
mbed_official 146:f64d43ff0c18 790 #define BR_SDHC_XFERTYP_CMDINX (HW_SDHC_XFERTYP.B.CMDINX)
mbed_official 146:f64d43ff0c18 791 #endif
mbed_official 146:f64d43ff0c18 792
mbed_official 146:f64d43ff0c18 793 //! @brief Format value for bitfield SDHC_XFERTYP_CMDINX.
mbed_official 146:f64d43ff0c18 794 #define BF_SDHC_XFERTYP_CMDINX(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_XFERTYP_CMDINX), uint32_t) & BM_SDHC_XFERTYP_CMDINX)
mbed_official 146:f64d43ff0c18 795
mbed_official 146:f64d43ff0c18 796 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 797 //! @brief Set the CMDINX field to a new value.
mbed_official 146:f64d43ff0c18 798 #define BW_SDHC_XFERTYP_CMDINX(v) (HW_SDHC_XFERTYP_WR((HW_SDHC_XFERTYP_RD() & ~BM_SDHC_XFERTYP_CMDINX) | BF_SDHC_XFERTYP_CMDINX(v)))
mbed_official 146:f64d43ff0c18 799 #endif
mbed_official 146:f64d43ff0c18 800 //@}
mbed_official 146:f64d43ff0c18 801
mbed_official 146:f64d43ff0c18 802 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 803 // HW_SDHC_CMDRSP0 - Command Response 0
mbed_official 146:f64d43ff0c18 804 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 805
mbed_official 146:f64d43ff0c18 806 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 807 /*!
mbed_official 146:f64d43ff0c18 808 * @brief HW_SDHC_CMDRSP0 - Command Response 0 (RO)
mbed_official 146:f64d43ff0c18 809 *
mbed_official 146:f64d43ff0c18 810 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 811 *
mbed_official 146:f64d43ff0c18 812 * This register is used to store part 0 of the response bits from the card.
mbed_official 146:f64d43ff0c18 813 */
mbed_official 146:f64d43ff0c18 814 typedef union _hw_sdhc_cmdrsp0
mbed_official 146:f64d43ff0c18 815 {
mbed_official 146:f64d43ff0c18 816 uint32_t U;
mbed_official 146:f64d43ff0c18 817 struct _hw_sdhc_cmdrsp0_bitfields
mbed_official 146:f64d43ff0c18 818 {
mbed_official 146:f64d43ff0c18 819 uint32_t CMDRSP0 : 32; //!< [31:0] Command Response 0
mbed_official 146:f64d43ff0c18 820 } B;
mbed_official 146:f64d43ff0c18 821 } hw_sdhc_cmdrsp0_t;
mbed_official 146:f64d43ff0c18 822 #endif
mbed_official 146:f64d43ff0c18 823
mbed_official 146:f64d43ff0c18 824 /*!
mbed_official 146:f64d43ff0c18 825 * @name Constants and macros for entire SDHC_CMDRSP0 register
mbed_official 146:f64d43ff0c18 826 */
mbed_official 146:f64d43ff0c18 827 //@{
mbed_official 146:f64d43ff0c18 828 #define HW_SDHC_CMDRSP0_ADDR (REGS_SDHC_BASE + 0x10U)
mbed_official 146:f64d43ff0c18 829
mbed_official 146:f64d43ff0c18 830 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 831 #define HW_SDHC_CMDRSP0 (*(__I hw_sdhc_cmdrsp0_t *) HW_SDHC_CMDRSP0_ADDR)
mbed_official 146:f64d43ff0c18 832 #define HW_SDHC_CMDRSP0_RD() (HW_SDHC_CMDRSP0.U)
mbed_official 146:f64d43ff0c18 833 #endif
mbed_official 146:f64d43ff0c18 834 //@}
mbed_official 146:f64d43ff0c18 835
mbed_official 146:f64d43ff0c18 836 /*
mbed_official 146:f64d43ff0c18 837 * Constants & macros for individual SDHC_CMDRSP0 bitfields
mbed_official 146:f64d43ff0c18 838 */
mbed_official 146:f64d43ff0c18 839
mbed_official 146:f64d43ff0c18 840 /*!
mbed_official 146:f64d43ff0c18 841 * @name Register SDHC_CMDRSP0, field CMDRSP0[31:0] (RO)
mbed_official 146:f64d43ff0c18 842 */
mbed_official 146:f64d43ff0c18 843 //@{
mbed_official 146:f64d43ff0c18 844 #define BP_SDHC_CMDRSP0_CMDRSP0 (0U) //!< Bit position for SDHC_CMDRSP0_CMDRSP0.
mbed_official 146:f64d43ff0c18 845 #define BM_SDHC_CMDRSP0_CMDRSP0 (0xFFFFFFFFU) //!< Bit mask for SDHC_CMDRSP0_CMDRSP0.
mbed_official 146:f64d43ff0c18 846 #define BS_SDHC_CMDRSP0_CMDRSP0 (32U) //!< Bit field size in bits for SDHC_CMDRSP0_CMDRSP0.
mbed_official 146:f64d43ff0c18 847
mbed_official 146:f64d43ff0c18 848 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 849 //! @brief Read current value of the SDHC_CMDRSP0_CMDRSP0 field.
mbed_official 146:f64d43ff0c18 850 #define BR_SDHC_CMDRSP0_CMDRSP0 (HW_SDHC_CMDRSP0.U)
mbed_official 146:f64d43ff0c18 851 #endif
mbed_official 146:f64d43ff0c18 852 //@}
mbed_official 146:f64d43ff0c18 853
mbed_official 146:f64d43ff0c18 854 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 855 // HW_SDHC_CMDRSP1 - Command Response 1
mbed_official 146:f64d43ff0c18 856 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 857
mbed_official 146:f64d43ff0c18 858 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 859 /*!
mbed_official 146:f64d43ff0c18 860 * @brief HW_SDHC_CMDRSP1 - Command Response 1 (RO)
mbed_official 146:f64d43ff0c18 861 *
mbed_official 146:f64d43ff0c18 862 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 863 *
mbed_official 146:f64d43ff0c18 864 * This register is used to store part 1 of the response bits from the card.
mbed_official 146:f64d43ff0c18 865 */
mbed_official 146:f64d43ff0c18 866 typedef union _hw_sdhc_cmdrsp1
mbed_official 146:f64d43ff0c18 867 {
mbed_official 146:f64d43ff0c18 868 uint32_t U;
mbed_official 146:f64d43ff0c18 869 struct _hw_sdhc_cmdrsp1_bitfields
mbed_official 146:f64d43ff0c18 870 {
mbed_official 146:f64d43ff0c18 871 uint32_t CMDRSP1 : 32; //!< [31:0] Command Response 1
mbed_official 146:f64d43ff0c18 872 } B;
mbed_official 146:f64d43ff0c18 873 } hw_sdhc_cmdrsp1_t;
mbed_official 146:f64d43ff0c18 874 #endif
mbed_official 146:f64d43ff0c18 875
mbed_official 146:f64d43ff0c18 876 /*!
mbed_official 146:f64d43ff0c18 877 * @name Constants and macros for entire SDHC_CMDRSP1 register
mbed_official 146:f64d43ff0c18 878 */
mbed_official 146:f64d43ff0c18 879 //@{
mbed_official 146:f64d43ff0c18 880 #define HW_SDHC_CMDRSP1_ADDR (REGS_SDHC_BASE + 0x14U)
mbed_official 146:f64d43ff0c18 881
mbed_official 146:f64d43ff0c18 882 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 883 #define HW_SDHC_CMDRSP1 (*(__I hw_sdhc_cmdrsp1_t *) HW_SDHC_CMDRSP1_ADDR)
mbed_official 146:f64d43ff0c18 884 #define HW_SDHC_CMDRSP1_RD() (HW_SDHC_CMDRSP1.U)
mbed_official 146:f64d43ff0c18 885 #endif
mbed_official 146:f64d43ff0c18 886 //@}
mbed_official 146:f64d43ff0c18 887
mbed_official 146:f64d43ff0c18 888 /*
mbed_official 146:f64d43ff0c18 889 * Constants & macros for individual SDHC_CMDRSP1 bitfields
mbed_official 146:f64d43ff0c18 890 */
mbed_official 146:f64d43ff0c18 891
mbed_official 146:f64d43ff0c18 892 /*!
mbed_official 146:f64d43ff0c18 893 * @name Register SDHC_CMDRSP1, field CMDRSP1[31:0] (RO)
mbed_official 146:f64d43ff0c18 894 */
mbed_official 146:f64d43ff0c18 895 //@{
mbed_official 146:f64d43ff0c18 896 #define BP_SDHC_CMDRSP1_CMDRSP1 (0U) //!< Bit position for SDHC_CMDRSP1_CMDRSP1.
mbed_official 146:f64d43ff0c18 897 #define BM_SDHC_CMDRSP1_CMDRSP1 (0xFFFFFFFFU) //!< Bit mask for SDHC_CMDRSP1_CMDRSP1.
mbed_official 146:f64d43ff0c18 898 #define BS_SDHC_CMDRSP1_CMDRSP1 (32U) //!< Bit field size in bits for SDHC_CMDRSP1_CMDRSP1.
mbed_official 146:f64d43ff0c18 899
mbed_official 146:f64d43ff0c18 900 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 901 //! @brief Read current value of the SDHC_CMDRSP1_CMDRSP1 field.
mbed_official 146:f64d43ff0c18 902 #define BR_SDHC_CMDRSP1_CMDRSP1 (HW_SDHC_CMDRSP1.U)
mbed_official 146:f64d43ff0c18 903 #endif
mbed_official 146:f64d43ff0c18 904 //@}
mbed_official 146:f64d43ff0c18 905
mbed_official 146:f64d43ff0c18 906 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 907 // HW_SDHC_CMDRSP2 - Command Response 2
mbed_official 146:f64d43ff0c18 908 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 909
mbed_official 146:f64d43ff0c18 910 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 911 /*!
mbed_official 146:f64d43ff0c18 912 * @brief HW_SDHC_CMDRSP2 - Command Response 2 (RO)
mbed_official 146:f64d43ff0c18 913 *
mbed_official 146:f64d43ff0c18 914 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 915 *
mbed_official 146:f64d43ff0c18 916 * This register is used to store part 2 of the response bits from the card.
mbed_official 146:f64d43ff0c18 917 */
mbed_official 146:f64d43ff0c18 918 typedef union _hw_sdhc_cmdrsp2
mbed_official 146:f64d43ff0c18 919 {
mbed_official 146:f64d43ff0c18 920 uint32_t U;
mbed_official 146:f64d43ff0c18 921 struct _hw_sdhc_cmdrsp2_bitfields
mbed_official 146:f64d43ff0c18 922 {
mbed_official 146:f64d43ff0c18 923 uint32_t CMDRSP2 : 32; //!< [31:0] Command Response 2
mbed_official 146:f64d43ff0c18 924 } B;
mbed_official 146:f64d43ff0c18 925 } hw_sdhc_cmdrsp2_t;
mbed_official 146:f64d43ff0c18 926 #endif
mbed_official 146:f64d43ff0c18 927
mbed_official 146:f64d43ff0c18 928 /*!
mbed_official 146:f64d43ff0c18 929 * @name Constants and macros for entire SDHC_CMDRSP2 register
mbed_official 146:f64d43ff0c18 930 */
mbed_official 146:f64d43ff0c18 931 //@{
mbed_official 146:f64d43ff0c18 932 #define HW_SDHC_CMDRSP2_ADDR (REGS_SDHC_BASE + 0x18U)
mbed_official 146:f64d43ff0c18 933
mbed_official 146:f64d43ff0c18 934 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 935 #define HW_SDHC_CMDRSP2 (*(__I hw_sdhc_cmdrsp2_t *) HW_SDHC_CMDRSP2_ADDR)
mbed_official 146:f64d43ff0c18 936 #define HW_SDHC_CMDRSP2_RD() (HW_SDHC_CMDRSP2.U)
mbed_official 146:f64d43ff0c18 937 #endif
mbed_official 146:f64d43ff0c18 938 //@}
mbed_official 146:f64d43ff0c18 939
mbed_official 146:f64d43ff0c18 940 /*
mbed_official 146:f64d43ff0c18 941 * Constants & macros for individual SDHC_CMDRSP2 bitfields
mbed_official 146:f64d43ff0c18 942 */
mbed_official 146:f64d43ff0c18 943
mbed_official 146:f64d43ff0c18 944 /*!
mbed_official 146:f64d43ff0c18 945 * @name Register SDHC_CMDRSP2, field CMDRSP2[31:0] (RO)
mbed_official 146:f64d43ff0c18 946 */
mbed_official 146:f64d43ff0c18 947 //@{
mbed_official 146:f64d43ff0c18 948 #define BP_SDHC_CMDRSP2_CMDRSP2 (0U) //!< Bit position for SDHC_CMDRSP2_CMDRSP2.
mbed_official 146:f64d43ff0c18 949 #define BM_SDHC_CMDRSP2_CMDRSP2 (0xFFFFFFFFU) //!< Bit mask for SDHC_CMDRSP2_CMDRSP2.
mbed_official 146:f64d43ff0c18 950 #define BS_SDHC_CMDRSP2_CMDRSP2 (32U) //!< Bit field size in bits for SDHC_CMDRSP2_CMDRSP2.
mbed_official 146:f64d43ff0c18 951
mbed_official 146:f64d43ff0c18 952 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 953 //! @brief Read current value of the SDHC_CMDRSP2_CMDRSP2 field.
mbed_official 146:f64d43ff0c18 954 #define BR_SDHC_CMDRSP2_CMDRSP2 (HW_SDHC_CMDRSP2.U)
mbed_official 146:f64d43ff0c18 955 #endif
mbed_official 146:f64d43ff0c18 956 //@}
mbed_official 146:f64d43ff0c18 957
mbed_official 146:f64d43ff0c18 958 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 959 // HW_SDHC_CMDRSP3 - Command Response 3
mbed_official 146:f64d43ff0c18 960 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 961
mbed_official 146:f64d43ff0c18 962 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 963 /*!
mbed_official 146:f64d43ff0c18 964 * @brief HW_SDHC_CMDRSP3 - Command Response 3 (RO)
mbed_official 146:f64d43ff0c18 965 *
mbed_official 146:f64d43ff0c18 966 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 967 *
mbed_official 146:f64d43ff0c18 968 * This register is used to store part 3 of the response bits from the card. The
mbed_official 146:f64d43ff0c18 969 * following table describes the mapping of command responses from the SD bus to
mbed_official 146:f64d43ff0c18 970 * command response registers for each response type. In the table, R[ ] refers
mbed_official 146:f64d43ff0c18 971 * to a bit range within the response data as transmitted on the SD bus. Response
mbed_official 146:f64d43ff0c18 972 * bit definition for each response type Response type Meaning of response
mbed_official 146:f64d43ff0c18 973 * Response field Response register R1,R1b (normal response) Card status R[39:8]
mbed_official 146:f64d43ff0c18 974 * CMDRSP0 R1b (Auto CMD12 response) Card status for auto CMD12 R[39:8] CMDRSP3 R2
mbed_official 146:f64d43ff0c18 975 * (CID, CSD register) CID/CSD register [127:8] R[127:8] {CMDRSP3[23:0], CMDRSP2,
mbed_official 146:f64d43ff0c18 976 * CMDRSP1, CMDRSP0} R3 (OCR register) OCR register for memory R[39:8] CMDRSP0 R4
mbed_official 146:f64d43ff0c18 977 * (OCR register) OCR register for I/O etc. R[39:8] CMDRSP0 R5, R5b SDIO response
mbed_official 146:f64d43ff0c18 978 * R[39:8] CMDRSP0 R6 (Publish RCA) New published RCA[31:16] and card
mbed_official 146:f64d43ff0c18 979 * status[15:0] R[39:9] CMDRSP0 This table shows that most responses with a length of 48
mbed_official 146:f64d43ff0c18 980 * (R[47:0]) have 32-bit of the response data (R[39:8]) stored in the CMDRSP0
mbed_official 146:f64d43ff0c18 981 * register. Responses of type R1b (auto CMD12 responses) have response data bits
mbed_official 146:f64d43ff0c18 982 * (R[39:8]) stored in the CMDRSP3 register. Responses with length 136 (R[135:0]) have
mbed_official 146:f64d43ff0c18 983 * 120-bit of the response data (R[127:8]) stored in the CMDRSP0, 1, 2, and 3
mbed_official 146:f64d43ff0c18 984 * registers. To be able to read the response status efficiently, the SDHC stores
mbed_official 146:f64d43ff0c18 985 * only a part of the response data in the command response registers. This
mbed_official 146:f64d43ff0c18 986 * enables the host driver to efficiently read 32-bit of response data in one read
mbed_official 146:f64d43ff0c18 987 * cycle on a 32-bit bus system. Parts of the response, the index field and the CRC,
mbed_official 146:f64d43ff0c18 988 * are checked by the SDHC, as specified by XFERTYP[CICEN] and XFERTYP[CCCEN],
mbed_official 146:f64d43ff0c18 989 * and generate an error interrupt if any error is detected. The bit range for the
mbed_official 146:f64d43ff0c18 990 * CRC check depends on the response length. If the response length is 48, the
mbed_official 146:f64d43ff0c18 991 * SDHC will check R[47:1], and if the response length is 136 the SDHC will check
mbed_official 146:f64d43ff0c18 992 * R[119:1]. Because the SDHC may have a multiple block data transfer executing
mbed_official 146:f64d43ff0c18 993 * concurrently with a CMD_wo_DAT command, the SDHC stores the auto CMD12 response
mbed_official 146:f64d43ff0c18 994 * in the CMDRSP3 register. The CMD_wo_DAT response is stored in CMDRSP0. This
mbed_official 146:f64d43ff0c18 995 * allows the SDHC to avoid overwriting the Auto CMD12 response with the CMD_wo_DAT
mbed_official 146:f64d43ff0c18 996 * and vice versa. When the SDHC modifies part of the command response
mbed_official 146:f64d43ff0c18 997 * registers, as shown in the table above, it preserves the unmodified bits.
mbed_official 146:f64d43ff0c18 998 */
mbed_official 146:f64d43ff0c18 999 typedef union _hw_sdhc_cmdrsp3
mbed_official 146:f64d43ff0c18 1000 {
mbed_official 146:f64d43ff0c18 1001 uint32_t U;
mbed_official 146:f64d43ff0c18 1002 struct _hw_sdhc_cmdrsp3_bitfields
mbed_official 146:f64d43ff0c18 1003 {
mbed_official 146:f64d43ff0c18 1004 uint32_t CMDRSP3 : 32; //!< [31:0] Command Response 3
mbed_official 146:f64d43ff0c18 1005 } B;
mbed_official 146:f64d43ff0c18 1006 } hw_sdhc_cmdrsp3_t;
mbed_official 146:f64d43ff0c18 1007 #endif
mbed_official 146:f64d43ff0c18 1008
mbed_official 146:f64d43ff0c18 1009 /*!
mbed_official 146:f64d43ff0c18 1010 * @name Constants and macros for entire SDHC_CMDRSP3 register
mbed_official 146:f64d43ff0c18 1011 */
mbed_official 146:f64d43ff0c18 1012 //@{
mbed_official 146:f64d43ff0c18 1013 #define HW_SDHC_CMDRSP3_ADDR (REGS_SDHC_BASE + 0x1CU)
mbed_official 146:f64d43ff0c18 1014
mbed_official 146:f64d43ff0c18 1015 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1016 #define HW_SDHC_CMDRSP3 (*(__I hw_sdhc_cmdrsp3_t *) HW_SDHC_CMDRSP3_ADDR)
mbed_official 146:f64d43ff0c18 1017 #define HW_SDHC_CMDRSP3_RD() (HW_SDHC_CMDRSP3.U)
mbed_official 146:f64d43ff0c18 1018 #endif
mbed_official 146:f64d43ff0c18 1019 //@}
mbed_official 146:f64d43ff0c18 1020
mbed_official 146:f64d43ff0c18 1021 /*
mbed_official 146:f64d43ff0c18 1022 * Constants & macros for individual SDHC_CMDRSP3 bitfields
mbed_official 146:f64d43ff0c18 1023 */
mbed_official 146:f64d43ff0c18 1024
mbed_official 146:f64d43ff0c18 1025 /*!
mbed_official 146:f64d43ff0c18 1026 * @name Register SDHC_CMDRSP3, field CMDRSP3[31:0] (RO)
mbed_official 146:f64d43ff0c18 1027 */
mbed_official 146:f64d43ff0c18 1028 //@{
mbed_official 146:f64d43ff0c18 1029 #define BP_SDHC_CMDRSP3_CMDRSP3 (0U) //!< Bit position for SDHC_CMDRSP3_CMDRSP3.
mbed_official 146:f64d43ff0c18 1030 #define BM_SDHC_CMDRSP3_CMDRSP3 (0xFFFFFFFFU) //!< Bit mask for SDHC_CMDRSP3_CMDRSP3.
mbed_official 146:f64d43ff0c18 1031 #define BS_SDHC_CMDRSP3_CMDRSP3 (32U) //!< Bit field size in bits for SDHC_CMDRSP3_CMDRSP3.
mbed_official 146:f64d43ff0c18 1032
mbed_official 146:f64d43ff0c18 1033 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1034 //! @brief Read current value of the SDHC_CMDRSP3_CMDRSP3 field.
mbed_official 146:f64d43ff0c18 1035 #define BR_SDHC_CMDRSP3_CMDRSP3 (HW_SDHC_CMDRSP3.U)
mbed_official 146:f64d43ff0c18 1036 #endif
mbed_official 146:f64d43ff0c18 1037 //@}
mbed_official 146:f64d43ff0c18 1038
mbed_official 146:f64d43ff0c18 1039 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1040 // HW_SDHC_DATPORT - Buffer Data Port register
mbed_official 146:f64d43ff0c18 1041 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1042
mbed_official 146:f64d43ff0c18 1043 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1044 /*!
mbed_official 146:f64d43ff0c18 1045 * @brief HW_SDHC_DATPORT - Buffer Data Port register (RW)
mbed_official 146:f64d43ff0c18 1046 *
mbed_official 146:f64d43ff0c18 1047 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 1048 *
mbed_official 146:f64d43ff0c18 1049 * This is a 32-bit data port register used to access the internal buffer and it
mbed_official 146:f64d43ff0c18 1050 * cannot be updated in Idle mode.
mbed_official 146:f64d43ff0c18 1051 */
mbed_official 146:f64d43ff0c18 1052 typedef union _hw_sdhc_datport
mbed_official 146:f64d43ff0c18 1053 {
mbed_official 146:f64d43ff0c18 1054 uint32_t U;
mbed_official 146:f64d43ff0c18 1055 struct _hw_sdhc_datport_bitfields
mbed_official 146:f64d43ff0c18 1056 {
mbed_official 146:f64d43ff0c18 1057 uint32_t DATCONT : 32; //!< [31:0] Data Content
mbed_official 146:f64d43ff0c18 1058 } B;
mbed_official 146:f64d43ff0c18 1059 } hw_sdhc_datport_t;
mbed_official 146:f64d43ff0c18 1060 #endif
mbed_official 146:f64d43ff0c18 1061
mbed_official 146:f64d43ff0c18 1062 /*!
mbed_official 146:f64d43ff0c18 1063 * @name Constants and macros for entire SDHC_DATPORT register
mbed_official 146:f64d43ff0c18 1064 */
mbed_official 146:f64d43ff0c18 1065 //@{
mbed_official 146:f64d43ff0c18 1066 #define HW_SDHC_DATPORT_ADDR (REGS_SDHC_BASE + 0x20U)
mbed_official 146:f64d43ff0c18 1067
mbed_official 146:f64d43ff0c18 1068 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1069 #define HW_SDHC_DATPORT (*(__IO hw_sdhc_datport_t *) HW_SDHC_DATPORT_ADDR)
mbed_official 146:f64d43ff0c18 1070 #define HW_SDHC_DATPORT_RD() (HW_SDHC_DATPORT.U)
mbed_official 146:f64d43ff0c18 1071 #define HW_SDHC_DATPORT_WR(v) (HW_SDHC_DATPORT.U = (v))
mbed_official 146:f64d43ff0c18 1072 #define HW_SDHC_DATPORT_SET(v) (HW_SDHC_DATPORT_WR(HW_SDHC_DATPORT_RD() | (v)))
mbed_official 146:f64d43ff0c18 1073 #define HW_SDHC_DATPORT_CLR(v) (HW_SDHC_DATPORT_WR(HW_SDHC_DATPORT_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 1074 #define HW_SDHC_DATPORT_TOG(v) (HW_SDHC_DATPORT_WR(HW_SDHC_DATPORT_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 1075 #endif
mbed_official 146:f64d43ff0c18 1076 //@}
mbed_official 146:f64d43ff0c18 1077
mbed_official 146:f64d43ff0c18 1078 /*
mbed_official 146:f64d43ff0c18 1079 * Constants & macros for individual SDHC_DATPORT bitfields
mbed_official 146:f64d43ff0c18 1080 */
mbed_official 146:f64d43ff0c18 1081
mbed_official 146:f64d43ff0c18 1082 /*!
mbed_official 146:f64d43ff0c18 1083 * @name Register SDHC_DATPORT, field DATCONT[31:0] (RW)
mbed_official 146:f64d43ff0c18 1084 *
mbed_official 146:f64d43ff0c18 1085 * The Buffer Data Port register is for 32-bit data access by the CPU or the
mbed_official 146:f64d43ff0c18 1086 * external DMA. When the internal DMA is enabled, any write to this register is
mbed_official 146:f64d43ff0c18 1087 * ignored, and any read from this register will always yield 0s.
mbed_official 146:f64d43ff0c18 1088 */
mbed_official 146:f64d43ff0c18 1089 //@{
mbed_official 146:f64d43ff0c18 1090 #define BP_SDHC_DATPORT_DATCONT (0U) //!< Bit position for SDHC_DATPORT_DATCONT.
mbed_official 146:f64d43ff0c18 1091 #define BM_SDHC_DATPORT_DATCONT (0xFFFFFFFFU) //!< Bit mask for SDHC_DATPORT_DATCONT.
mbed_official 146:f64d43ff0c18 1092 #define BS_SDHC_DATPORT_DATCONT (32U) //!< Bit field size in bits for SDHC_DATPORT_DATCONT.
mbed_official 146:f64d43ff0c18 1093
mbed_official 146:f64d43ff0c18 1094 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1095 //! @brief Read current value of the SDHC_DATPORT_DATCONT field.
mbed_official 146:f64d43ff0c18 1096 #define BR_SDHC_DATPORT_DATCONT (HW_SDHC_DATPORT.U)
mbed_official 146:f64d43ff0c18 1097 #endif
mbed_official 146:f64d43ff0c18 1098
mbed_official 146:f64d43ff0c18 1099 //! @brief Format value for bitfield SDHC_DATPORT_DATCONT.
mbed_official 146:f64d43ff0c18 1100 #define BF_SDHC_DATPORT_DATCONT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_DATPORT_DATCONT), uint32_t) & BM_SDHC_DATPORT_DATCONT)
mbed_official 146:f64d43ff0c18 1101
mbed_official 146:f64d43ff0c18 1102 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1103 //! @brief Set the DATCONT field to a new value.
mbed_official 146:f64d43ff0c18 1104 #define BW_SDHC_DATPORT_DATCONT(v) (HW_SDHC_DATPORT_WR(v))
mbed_official 146:f64d43ff0c18 1105 #endif
mbed_official 146:f64d43ff0c18 1106 //@}
mbed_official 146:f64d43ff0c18 1107
mbed_official 146:f64d43ff0c18 1108 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1109 // HW_SDHC_PRSSTAT - Present State register
mbed_official 146:f64d43ff0c18 1110 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1111
mbed_official 146:f64d43ff0c18 1112 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1113 /*!
mbed_official 146:f64d43ff0c18 1114 * @brief HW_SDHC_PRSSTAT - Present State register (RO)
mbed_official 146:f64d43ff0c18 1115 *
mbed_official 146:f64d43ff0c18 1116 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 1117 *
mbed_official 146:f64d43ff0c18 1118 * The host driver can get status of the SDHC from this 32-bit read-only
mbed_official 146:f64d43ff0c18 1119 * register. The host driver can issue CMD0, CMD12, CMD13 (for memory) and CMD52 (for
mbed_official 146:f64d43ff0c18 1120 * SDIO) when the DAT lines are busy during a data transfer. These commands can be
mbed_official 146:f64d43ff0c18 1121 * issued when Command Inhibit (CIHB) is set to zero. Other commands shall be
mbed_official 146:f64d43ff0c18 1122 * issued when Command Inhibit (CDIHB) is set to zero. Possible changes to the SD
mbed_official 146:f64d43ff0c18 1123 * Physical Specification may add other commands to this list in the future.
mbed_official 146:f64d43ff0c18 1124 */
mbed_official 146:f64d43ff0c18 1125 typedef union _hw_sdhc_prsstat
mbed_official 146:f64d43ff0c18 1126 {
mbed_official 146:f64d43ff0c18 1127 uint32_t U;
mbed_official 146:f64d43ff0c18 1128 struct _hw_sdhc_prsstat_bitfields
mbed_official 146:f64d43ff0c18 1129 {
mbed_official 146:f64d43ff0c18 1130 uint32_t CIHB : 1; //!< [0] Command Inhibit (CMD)
mbed_official 146:f64d43ff0c18 1131 uint32_t CDIHB : 1; //!< [1] Command Inhibit (DAT)
mbed_official 146:f64d43ff0c18 1132 uint32_t DLA : 1; //!< [2] Data Line Active
mbed_official 146:f64d43ff0c18 1133 uint32_t SDSTB : 1; //!< [3] SD Clock Stable
mbed_official 146:f64d43ff0c18 1134 uint32_t IPGOFF : 1; //!< [4] Bus Clock Gated Off Internally
mbed_official 146:f64d43ff0c18 1135 uint32_t HCKOFF : 1; //!< [5] System Clock Gated Off Internally
mbed_official 146:f64d43ff0c18 1136 uint32_t PEROFF : 1; //!< [6] SDHC clock Gated Off Internally
mbed_official 146:f64d43ff0c18 1137 uint32_t SDOFF : 1; //!< [7] SD Clock Gated Off Internally
mbed_official 146:f64d43ff0c18 1138 uint32_t WTA : 1; //!< [8] Write Transfer Active
mbed_official 146:f64d43ff0c18 1139 uint32_t RTA : 1; //!< [9] Read Transfer Active
mbed_official 146:f64d43ff0c18 1140 uint32_t BWEN : 1; //!< [10] Buffer Write Enable
mbed_official 146:f64d43ff0c18 1141 uint32_t BREN : 1; //!< [11] Buffer Read Enable
mbed_official 146:f64d43ff0c18 1142 uint32_t RESERVED0 : 4; //!< [15:12]
mbed_official 146:f64d43ff0c18 1143 uint32_t CINS : 1; //!< [16] Card Inserted
mbed_official 146:f64d43ff0c18 1144 uint32_t RESERVED1 : 6; //!< [22:17]
mbed_official 146:f64d43ff0c18 1145 uint32_t CLSL : 1; //!< [23] CMD Line Signal Level
mbed_official 146:f64d43ff0c18 1146 uint32_t DLSL : 8; //!< [31:24] DAT Line Signal Level
mbed_official 146:f64d43ff0c18 1147 } B;
mbed_official 146:f64d43ff0c18 1148 } hw_sdhc_prsstat_t;
mbed_official 146:f64d43ff0c18 1149 #endif
mbed_official 146:f64d43ff0c18 1150
mbed_official 146:f64d43ff0c18 1151 /*!
mbed_official 146:f64d43ff0c18 1152 * @name Constants and macros for entire SDHC_PRSSTAT register
mbed_official 146:f64d43ff0c18 1153 */
mbed_official 146:f64d43ff0c18 1154 //@{
mbed_official 146:f64d43ff0c18 1155 #define HW_SDHC_PRSSTAT_ADDR (REGS_SDHC_BASE + 0x24U)
mbed_official 146:f64d43ff0c18 1156
mbed_official 146:f64d43ff0c18 1157 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1158 #define HW_SDHC_PRSSTAT (*(__I hw_sdhc_prsstat_t *) HW_SDHC_PRSSTAT_ADDR)
mbed_official 146:f64d43ff0c18 1159 #define HW_SDHC_PRSSTAT_RD() (HW_SDHC_PRSSTAT.U)
mbed_official 146:f64d43ff0c18 1160 #endif
mbed_official 146:f64d43ff0c18 1161 //@}
mbed_official 146:f64d43ff0c18 1162
mbed_official 146:f64d43ff0c18 1163 /*
mbed_official 146:f64d43ff0c18 1164 * Constants & macros for individual SDHC_PRSSTAT bitfields
mbed_official 146:f64d43ff0c18 1165 */
mbed_official 146:f64d43ff0c18 1166
mbed_official 146:f64d43ff0c18 1167 /*!
mbed_official 146:f64d43ff0c18 1168 * @name Register SDHC_PRSSTAT, field CIHB[0] (RO)
mbed_official 146:f64d43ff0c18 1169 *
mbed_official 146:f64d43ff0c18 1170 * If this status bit is 0, it indicates that the CMD line is not in use and the
mbed_official 146:f64d43ff0c18 1171 * SDHC can issue a SD/MMC Command using the CMD line. This bit is set also
mbed_official 146:f64d43ff0c18 1172 * immediately after the Transfer Type register is written. This bit is cleared when
mbed_official 146:f64d43ff0c18 1173 * the command response is received. Even if the CDIHB bit is set to 1, Commands
mbed_official 146:f64d43ff0c18 1174 * using only the CMD line can be issued if this bit is 0. Changing from 1 to 0
mbed_official 146:f64d43ff0c18 1175 * generates a command complete interrupt in the interrupt status register. If the
mbed_official 146:f64d43ff0c18 1176 * SDHC cannot issue the command because of a command conflict error (see
mbed_official 146:f64d43ff0c18 1177 * command CRC error) or because of a command not issued by auto CMD12 error, this bit
mbed_official 146:f64d43ff0c18 1178 * will remain 1 and the command complete is not set. The status of issuing an
mbed_official 146:f64d43ff0c18 1179 * auto CMD12 does not show on this bit.
mbed_official 146:f64d43ff0c18 1180 *
mbed_official 146:f64d43ff0c18 1181 * Values:
mbed_official 146:f64d43ff0c18 1182 * - 0 - Can issue command using only CMD line.
mbed_official 146:f64d43ff0c18 1183 * - 1 - Cannot issue command.
mbed_official 146:f64d43ff0c18 1184 */
mbed_official 146:f64d43ff0c18 1185 //@{
mbed_official 146:f64d43ff0c18 1186 #define BP_SDHC_PRSSTAT_CIHB (0U) //!< Bit position for SDHC_PRSSTAT_CIHB.
mbed_official 146:f64d43ff0c18 1187 #define BM_SDHC_PRSSTAT_CIHB (0x00000001U) //!< Bit mask for SDHC_PRSSTAT_CIHB.
mbed_official 146:f64d43ff0c18 1188 #define BS_SDHC_PRSSTAT_CIHB (1U) //!< Bit field size in bits for SDHC_PRSSTAT_CIHB.
mbed_official 146:f64d43ff0c18 1189
mbed_official 146:f64d43ff0c18 1190 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1191 //! @brief Read current value of the SDHC_PRSSTAT_CIHB field.
mbed_official 146:f64d43ff0c18 1192 #define BR_SDHC_PRSSTAT_CIHB (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_CIHB))
mbed_official 146:f64d43ff0c18 1193 #endif
mbed_official 146:f64d43ff0c18 1194 //@}
mbed_official 146:f64d43ff0c18 1195
mbed_official 146:f64d43ff0c18 1196 /*!
mbed_official 146:f64d43ff0c18 1197 * @name Register SDHC_PRSSTAT, field CDIHB[1] (RO)
mbed_official 146:f64d43ff0c18 1198 *
mbed_official 146:f64d43ff0c18 1199 * This status bit is generated if either the DLA or the RTA is set to 1. If
mbed_official 146:f64d43ff0c18 1200 * this bit is 0, it indicates that the SDHC can issue the next SD/MMC Command.
mbed_official 146:f64d43ff0c18 1201 * Commands with a busy signal belong to CDIHB, for example, R1b, R5b type. Except in
mbed_official 146:f64d43ff0c18 1202 * the case when the command busy is finished, changing from 1 to 0 generates a
mbed_official 146:f64d43ff0c18 1203 * transfer complete interrupt in the Interrupt Status register. The SD host
mbed_official 146:f64d43ff0c18 1204 * driver can save registers for a suspend transaction after this bit has changed
mbed_official 146:f64d43ff0c18 1205 * from 1 to 0.
mbed_official 146:f64d43ff0c18 1206 *
mbed_official 146:f64d43ff0c18 1207 * Values:
mbed_official 146:f64d43ff0c18 1208 * - 0 - Can issue command which uses the DAT line.
mbed_official 146:f64d43ff0c18 1209 * - 1 - Cannot issue command which uses the DAT line.
mbed_official 146:f64d43ff0c18 1210 */
mbed_official 146:f64d43ff0c18 1211 //@{
mbed_official 146:f64d43ff0c18 1212 #define BP_SDHC_PRSSTAT_CDIHB (1U) //!< Bit position for SDHC_PRSSTAT_CDIHB.
mbed_official 146:f64d43ff0c18 1213 #define BM_SDHC_PRSSTAT_CDIHB (0x00000002U) //!< Bit mask for SDHC_PRSSTAT_CDIHB.
mbed_official 146:f64d43ff0c18 1214 #define BS_SDHC_PRSSTAT_CDIHB (1U) //!< Bit field size in bits for SDHC_PRSSTAT_CDIHB.
mbed_official 146:f64d43ff0c18 1215
mbed_official 146:f64d43ff0c18 1216 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1217 //! @brief Read current value of the SDHC_PRSSTAT_CDIHB field.
mbed_official 146:f64d43ff0c18 1218 #define BR_SDHC_PRSSTAT_CDIHB (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_CDIHB))
mbed_official 146:f64d43ff0c18 1219 #endif
mbed_official 146:f64d43ff0c18 1220 //@}
mbed_official 146:f64d43ff0c18 1221
mbed_official 146:f64d43ff0c18 1222 /*!
mbed_official 146:f64d43ff0c18 1223 * @name Register SDHC_PRSSTAT, field DLA[2] (RO)
mbed_official 146:f64d43ff0c18 1224 *
mbed_official 146:f64d43ff0c18 1225 * Indicates whether one of the DAT lines on the SD bus is in use. In the case
mbed_official 146:f64d43ff0c18 1226 * of read transactions: This status indicates whether a read transfer is
mbed_official 146:f64d43ff0c18 1227 * executing on the SD bus. Changes in this value from 1 to 0, between data blocks,
mbed_official 146:f64d43ff0c18 1228 * generates a block gap event interrupt in the Interrupt Status register. This bit
mbed_official 146:f64d43ff0c18 1229 * will be set in either of the following cases: After the end bit of the read
mbed_official 146:f64d43ff0c18 1230 * command. When writing a 1 to PROCTL[CREQ] to restart a read transfer. This bit
mbed_official 146:f64d43ff0c18 1231 * will be cleared in either of the following cases: When the end bit of the last
mbed_official 146:f64d43ff0c18 1232 * data block is sent from the SD bus to the SDHC. When the read wait state is
mbed_official 146:f64d43ff0c18 1233 * stopped by a suspend command and the DAT2 line is released. The SDHC will wait at
mbed_official 146:f64d43ff0c18 1234 * the next block gap by driving read wait at the start of the interrupt cycle.
mbed_official 146:f64d43ff0c18 1235 * If the read wait signal is already driven (data buffer cannot receive data),
mbed_official 146:f64d43ff0c18 1236 * the SDHC can wait for a current block gap by continuing to drive the read wait
mbed_official 146:f64d43ff0c18 1237 * signal. It is necessary to support read wait to use the suspend / resume
mbed_official 146:f64d43ff0c18 1238 * function. This bit will remain 1 during read wait. In the case of write
mbed_official 146:f64d43ff0c18 1239 * transactions: This status indicates that a write transfer is executing on the SD bus.
mbed_official 146:f64d43ff0c18 1240 * Changes in this value from 1 to 0 generate a transfer complete interrupt in the
mbed_official 146:f64d43ff0c18 1241 * interrupt status register. This bit will be set in either of the following
mbed_official 146:f64d43ff0c18 1242 * cases: After the end bit of the write command. When writing to 1 to PROCTL[CREQ] to
mbed_official 146:f64d43ff0c18 1243 * continue a write transfer. This bit will be cleared in either of the
mbed_official 146:f64d43ff0c18 1244 * following cases: When the SD card releases write busy of the last data block, the SDHC
mbed_official 146:f64d43ff0c18 1245 * will also detect if the output is not busy. If the SD card does not drive the
mbed_official 146:f64d43ff0c18 1246 * busy signal after the CRC status is received, the SDHC shall assume the card
mbed_official 146:f64d43ff0c18 1247 * drive "Not busy". When the SD card releases write busy, prior to waiting for
mbed_official 146:f64d43ff0c18 1248 * write transfer, and as a result of a stop at block gap request. In the case of
mbed_official 146:f64d43ff0c18 1249 * command with busy pending: This status indicates that a busy state follows the
mbed_official 146:f64d43ff0c18 1250 * command and the data line is in use. This bit will be cleared when the DAT0
mbed_official 146:f64d43ff0c18 1251 * line is released.
mbed_official 146:f64d43ff0c18 1252 *
mbed_official 146:f64d43ff0c18 1253 * Values:
mbed_official 146:f64d43ff0c18 1254 * - 0 - DAT line inactive.
mbed_official 146:f64d43ff0c18 1255 * - 1 - DAT line active.
mbed_official 146:f64d43ff0c18 1256 */
mbed_official 146:f64d43ff0c18 1257 //@{
mbed_official 146:f64d43ff0c18 1258 #define BP_SDHC_PRSSTAT_DLA (2U) //!< Bit position for SDHC_PRSSTAT_DLA.
mbed_official 146:f64d43ff0c18 1259 #define BM_SDHC_PRSSTAT_DLA (0x00000004U) //!< Bit mask for SDHC_PRSSTAT_DLA.
mbed_official 146:f64d43ff0c18 1260 #define BS_SDHC_PRSSTAT_DLA (1U) //!< Bit field size in bits for SDHC_PRSSTAT_DLA.
mbed_official 146:f64d43ff0c18 1261
mbed_official 146:f64d43ff0c18 1262 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1263 //! @brief Read current value of the SDHC_PRSSTAT_DLA field.
mbed_official 146:f64d43ff0c18 1264 #define BR_SDHC_PRSSTAT_DLA (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_DLA))
mbed_official 146:f64d43ff0c18 1265 #endif
mbed_official 146:f64d43ff0c18 1266 //@}
mbed_official 146:f64d43ff0c18 1267
mbed_official 146:f64d43ff0c18 1268 /*!
mbed_official 146:f64d43ff0c18 1269 * @name Register SDHC_PRSSTAT, field SDSTB[3] (RO)
mbed_official 146:f64d43ff0c18 1270 *
mbed_official 146:f64d43ff0c18 1271 * Indicates that the internal card clock is stable. This bit is for the host
mbed_official 146:f64d43ff0c18 1272 * driver to poll clock status when changing the clock frequency. It is recommended
mbed_official 146:f64d43ff0c18 1273 * to clear SYSCTL[SDCLKEN] to remove glitch on the card clock when the
mbed_official 146:f64d43ff0c18 1274 * frequency is changing.
mbed_official 146:f64d43ff0c18 1275 *
mbed_official 146:f64d43ff0c18 1276 * Values:
mbed_official 146:f64d43ff0c18 1277 * - 0 - Clock is changing frequency and not stable.
mbed_official 146:f64d43ff0c18 1278 * - 1 - Clock is stable.
mbed_official 146:f64d43ff0c18 1279 */
mbed_official 146:f64d43ff0c18 1280 //@{
mbed_official 146:f64d43ff0c18 1281 #define BP_SDHC_PRSSTAT_SDSTB (3U) //!< Bit position for SDHC_PRSSTAT_SDSTB.
mbed_official 146:f64d43ff0c18 1282 #define BM_SDHC_PRSSTAT_SDSTB (0x00000008U) //!< Bit mask for SDHC_PRSSTAT_SDSTB.
mbed_official 146:f64d43ff0c18 1283 #define BS_SDHC_PRSSTAT_SDSTB (1U) //!< Bit field size in bits for SDHC_PRSSTAT_SDSTB.
mbed_official 146:f64d43ff0c18 1284
mbed_official 146:f64d43ff0c18 1285 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1286 //! @brief Read current value of the SDHC_PRSSTAT_SDSTB field.
mbed_official 146:f64d43ff0c18 1287 #define BR_SDHC_PRSSTAT_SDSTB (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_SDSTB))
mbed_official 146:f64d43ff0c18 1288 #endif
mbed_official 146:f64d43ff0c18 1289 //@}
mbed_official 146:f64d43ff0c18 1290
mbed_official 146:f64d43ff0c18 1291 /*!
mbed_official 146:f64d43ff0c18 1292 * @name Register SDHC_PRSSTAT, field IPGOFF[4] (RO)
mbed_official 146:f64d43ff0c18 1293 *
mbed_official 146:f64d43ff0c18 1294 * Indicates that the bus clock is internally gated off. This bit is for the
mbed_official 146:f64d43ff0c18 1295 * host driver to debug.
mbed_official 146:f64d43ff0c18 1296 *
mbed_official 146:f64d43ff0c18 1297 * Values:
mbed_official 146:f64d43ff0c18 1298 * - 0 - Bus clock is active.
mbed_official 146:f64d43ff0c18 1299 * - 1 - Bus clock is gated off.
mbed_official 146:f64d43ff0c18 1300 */
mbed_official 146:f64d43ff0c18 1301 //@{
mbed_official 146:f64d43ff0c18 1302 #define BP_SDHC_PRSSTAT_IPGOFF (4U) //!< Bit position for SDHC_PRSSTAT_IPGOFF.
mbed_official 146:f64d43ff0c18 1303 #define BM_SDHC_PRSSTAT_IPGOFF (0x00000010U) //!< Bit mask for SDHC_PRSSTAT_IPGOFF.
mbed_official 146:f64d43ff0c18 1304 #define BS_SDHC_PRSSTAT_IPGOFF (1U) //!< Bit field size in bits for SDHC_PRSSTAT_IPGOFF.
mbed_official 146:f64d43ff0c18 1305
mbed_official 146:f64d43ff0c18 1306 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1307 //! @brief Read current value of the SDHC_PRSSTAT_IPGOFF field.
mbed_official 146:f64d43ff0c18 1308 #define BR_SDHC_PRSSTAT_IPGOFF (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_IPGOFF))
mbed_official 146:f64d43ff0c18 1309 #endif
mbed_official 146:f64d43ff0c18 1310 //@}
mbed_official 146:f64d43ff0c18 1311
mbed_official 146:f64d43ff0c18 1312 /*!
mbed_official 146:f64d43ff0c18 1313 * @name Register SDHC_PRSSTAT, field HCKOFF[5] (RO)
mbed_official 146:f64d43ff0c18 1314 *
mbed_official 146:f64d43ff0c18 1315 * Indicates that the system clock is internally gated off. This bit is for the
mbed_official 146:f64d43ff0c18 1316 * host driver to debug during a data transfer.
mbed_official 146:f64d43ff0c18 1317 *
mbed_official 146:f64d43ff0c18 1318 * Values:
mbed_official 146:f64d43ff0c18 1319 * - 0 - System clock is active.
mbed_official 146:f64d43ff0c18 1320 * - 1 - System clock is gated off.
mbed_official 146:f64d43ff0c18 1321 */
mbed_official 146:f64d43ff0c18 1322 //@{
mbed_official 146:f64d43ff0c18 1323 #define BP_SDHC_PRSSTAT_HCKOFF (5U) //!< Bit position for SDHC_PRSSTAT_HCKOFF.
mbed_official 146:f64d43ff0c18 1324 #define BM_SDHC_PRSSTAT_HCKOFF (0x00000020U) //!< Bit mask for SDHC_PRSSTAT_HCKOFF.
mbed_official 146:f64d43ff0c18 1325 #define BS_SDHC_PRSSTAT_HCKOFF (1U) //!< Bit field size in bits for SDHC_PRSSTAT_HCKOFF.
mbed_official 146:f64d43ff0c18 1326
mbed_official 146:f64d43ff0c18 1327 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1328 //! @brief Read current value of the SDHC_PRSSTAT_HCKOFF field.
mbed_official 146:f64d43ff0c18 1329 #define BR_SDHC_PRSSTAT_HCKOFF (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_HCKOFF))
mbed_official 146:f64d43ff0c18 1330 #endif
mbed_official 146:f64d43ff0c18 1331 //@}
mbed_official 146:f64d43ff0c18 1332
mbed_official 146:f64d43ff0c18 1333 /*!
mbed_official 146:f64d43ff0c18 1334 * @name Register SDHC_PRSSTAT, field PEROFF[6] (RO)
mbed_official 146:f64d43ff0c18 1335 *
mbed_official 146:f64d43ff0c18 1336 * Indicates that the is internally gated off. This bit is for the host driver
mbed_official 146:f64d43ff0c18 1337 * to debug transaction on the SD bus. When INITA bit is set, SDHC sending 80
mbed_official 146:f64d43ff0c18 1338 * clock cycles to the card, SDCLKEN must be 1 to enable the output card clock,
mbed_official 146:f64d43ff0c18 1339 * otherwise the will never be gate off, so and will be always active. SDHC clock SDHC
mbed_official 146:f64d43ff0c18 1340 * clock SDHC clock bus clock
mbed_official 146:f64d43ff0c18 1341 *
mbed_official 146:f64d43ff0c18 1342 * Values:
mbed_official 146:f64d43ff0c18 1343 * - 0 - SDHC clock is active.
mbed_official 146:f64d43ff0c18 1344 * - 1 - SDHC clock is gated off.
mbed_official 146:f64d43ff0c18 1345 */
mbed_official 146:f64d43ff0c18 1346 //@{
mbed_official 146:f64d43ff0c18 1347 #define BP_SDHC_PRSSTAT_PEROFF (6U) //!< Bit position for SDHC_PRSSTAT_PEROFF.
mbed_official 146:f64d43ff0c18 1348 #define BM_SDHC_PRSSTAT_PEROFF (0x00000040U) //!< Bit mask for SDHC_PRSSTAT_PEROFF.
mbed_official 146:f64d43ff0c18 1349 #define BS_SDHC_PRSSTAT_PEROFF (1U) //!< Bit field size in bits for SDHC_PRSSTAT_PEROFF.
mbed_official 146:f64d43ff0c18 1350
mbed_official 146:f64d43ff0c18 1351 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1352 //! @brief Read current value of the SDHC_PRSSTAT_PEROFF field.
mbed_official 146:f64d43ff0c18 1353 #define BR_SDHC_PRSSTAT_PEROFF (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_PEROFF))
mbed_official 146:f64d43ff0c18 1354 #endif
mbed_official 146:f64d43ff0c18 1355 //@}
mbed_official 146:f64d43ff0c18 1356
mbed_official 146:f64d43ff0c18 1357 /*!
mbed_official 146:f64d43ff0c18 1358 * @name Register SDHC_PRSSTAT, field SDOFF[7] (RO)
mbed_official 146:f64d43ff0c18 1359 *
mbed_official 146:f64d43ff0c18 1360 * Indicates that the SD clock is internally gated off, because of buffer
mbed_official 146:f64d43ff0c18 1361 * over/under-run or read pause without read wait assertion, or the driver has cleared
mbed_official 146:f64d43ff0c18 1362 * SYSCTL[SDCLKEN] to stop the SD clock. This bit is for the host driver to debug
mbed_official 146:f64d43ff0c18 1363 * data transaction on the SD bus.
mbed_official 146:f64d43ff0c18 1364 *
mbed_official 146:f64d43ff0c18 1365 * Values:
mbed_official 146:f64d43ff0c18 1366 * - 0 - SD clock is active.
mbed_official 146:f64d43ff0c18 1367 * - 1 - SD clock is gated off.
mbed_official 146:f64d43ff0c18 1368 */
mbed_official 146:f64d43ff0c18 1369 //@{
mbed_official 146:f64d43ff0c18 1370 #define BP_SDHC_PRSSTAT_SDOFF (7U) //!< Bit position for SDHC_PRSSTAT_SDOFF.
mbed_official 146:f64d43ff0c18 1371 #define BM_SDHC_PRSSTAT_SDOFF (0x00000080U) //!< Bit mask for SDHC_PRSSTAT_SDOFF.
mbed_official 146:f64d43ff0c18 1372 #define BS_SDHC_PRSSTAT_SDOFF (1U) //!< Bit field size in bits for SDHC_PRSSTAT_SDOFF.
mbed_official 146:f64d43ff0c18 1373
mbed_official 146:f64d43ff0c18 1374 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1375 //! @brief Read current value of the SDHC_PRSSTAT_SDOFF field.
mbed_official 146:f64d43ff0c18 1376 #define BR_SDHC_PRSSTAT_SDOFF (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_SDOFF))
mbed_official 146:f64d43ff0c18 1377 #endif
mbed_official 146:f64d43ff0c18 1378 //@}
mbed_official 146:f64d43ff0c18 1379
mbed_official 146:f64d43ff0c18 1380 /*!
mbed_official 146:f64d43ff0c18 1381 * @name Register SDHC_PRSSTAT, field WTA[8] (RO)
mbed_official 146:f64d43ff0c18 1382 *
mbed_official 146:f64d43ff0c18 1383 * Indicates that a write transfer is active. If this bit is 0, it means no
mbed_official 146:f64d43ff0c18 1384 * valid write data exists in the SDHC. This bit is set in either of the following
mbed_official 146:f64d43ff0c18 1385 * cases: After the end bit of the write command. When writing 1 to PROCTL[CREQ] to
mbed_official 146:f64d43ff0c18 1386 * restart a write transfer. This bit is cleared in either of the following
mbed_official 146:f64d43ff0c18 1387 * cases: After getting the CRC status of the last data block as specified by the
mbed_official 146:f64d43ff0c18 1388 * transfer count (single and multiple). After getting the CRC status of any block
mbed_official 146:f64d43ff0c18 1389 * where data transmission is about to be stopped by a stop at block gap request.
mbed_official 146:f64d43ff0c18 1390 * During a write transaction, a block gap event interrupt is generated when this
mbed_official 146:f64d43ff0c18 1391 * bit is changed to 0, as result of the stop at block gap request being set.
mbed_official 146:f64d43ff0c18 1392 * This status is useful for the host driver in determining when to issue commands
mbed_official 146:f64d43ff0c18 1393 * during write busy state.
mbed_official 146:f64d43ff0c18 1394 *
mbed_official 146:f64d43ff0c18 1395 * Values:
mbed_official 146:f64d43ff0c18 1396 * - 0 - No valid data.
mbed_official 146:f64d43ff0c18 1397 * - 1 - Transferring data.
mbed_official 146:f64d43ff0c18 1398 */
mbed_official 146:f64d43ff0c18 1399 //@{
mbed_official 146:f64d43ff0c18 1400 #define BP_SDHC_PRSSTAT_WTA (8U) //!< Bit position for SDHC_PRSSTAT_WTA.
mbed_official 146:f64d43ff0c18 1401 #define BM_SDHC_PRSSTAT_WTA (0x00000100U) //!< Bit mask for SDHC_PRSSTAT_WTA.
mbed_official 146:f64d43ff0c18 1402 #define BS_SDHC_PRSSTAT_WTA (1U) //!< Bit field size in bits for SDHC_PRSSTAT_WTA.
mbed_official 146:f64d43ff0c18 1403
mbed_official 146:f64d43ff0c18 1404 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1405 //! @brief Read current value of the SDHC_PRSSTAT_WTA field.
mbed_official 146:f64d43ff0c18 1406 #define BR_SDHC_PRSSTAT_WTA (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_WTA))
mbed_official 146:f64d43ff0c18 1407 #endif
mbed_official 146:f64d43ff0c18 1408 //@}
mbed_official 146:f64d43ff0c18 1409
mbed_official 146:f64d43ff0c18 1410 /*!
mbed_official 146:f64d43ff0c18 1411 * @name Register SDHC_PRSSTAT, field RTA[9] (RO)
mbed_official 146:f64d43ff0c18 1412 *
mbed_official 146:f64d43ff0c18 1413 * Used for detecting completion of a read transfer. This bit is set for either
mbed_official 146:f64d43ff0c18 1414 * of the following conditions: After the end bit of the read command. When
mbed_official 146:f64d43ff0c18 1415 * writing a 1 to PROCTL[CREQ] to restart a read transfer. A transfer complete
mbed_official 146:f64d43ff0c18 1416 * interrupt is generated when this bit changes to 0. This bit is cleared for either of
mbed_official 146:f64d43ff0c18 1417 * the following conditions: When the last data block as specified by block
mbed_official 146:f64d43ff0c18 1418 * length is transferred to the system, that is, all data are read away from SDHC
mbed_official 146:f64d43ff0c18 1419 * internal buffer. When all valid data blocks have been transferred from SDHC
mbed_official 146:f64d43ff0c18 1420 * internal buffer to the system and no current block transfers are being sent as a
mbed_official 146:f64d43ff0c18 1421 * result of the stop at block gap request being set to 1.
mbed_official 146:f64d43ff0c18 1422 *
mbed_official 146:f64d43ff0c18 1423 * Values:
mbed_official 146:f64d43ff0c18 1424 * - 0 - No valid data.
mbed_official 146:f64d43ff0c18 1425 * - 1 - Transferring data.
mbed_official 146:f64d43ff0c18 1426 */
mbed_official 146:f64d43ff0c18 1427 //@{
mbed_official 146:f64d43ff0c18 1428 #define BP_SDHC_PRSSTAT_RTA (9U) //!< Bit position for SDHC_PRSSTAT_RTA.
mbed_official 146:f64d43ff0c18 1429 #define BM_SDHC_PRSSTAT_RTA (0x00000200U) //!< Bit mask for SDHC_PRSSTAT_RTA.
mbed_official 146:f64d43ff0c18 1430 #define BS_SDHC_PRSSTAT_RTA (1U) //!< Bit field size in bits for SDHC_PRSSTAT_RTA.
mbed_official 146:f64d43ff0c18 1431
mbed_official 146:f64d43ff0c18 1432 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1433 //! @brief Read current value of the SDHC_PRSSTAT_RTA field.
mbed_official 146:f64d43ff0c18 1434 #define BR_SDHC_PRSSTAT_RTA (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_RTA))
mbed_official 146:f64d43ff0c18 1435 #endif
mbed_official 146:f64d43ff0c18 1436 //@}
mbed_official 146:f64d43ff0c18 1437
mbed_official 146:f64d43ff0c18 1438 /*!
mbed_official 146:f64d43ff0c18 1439 * @name Register SDHC_PRSSTAT, field BWEN[10] (RO)
mbed_official 146:f64d43ff0c18 1440 *
mbed_official 146:f64d43ff0c18 1441 * Used for non-DMA write transfers. The SDHC can implement multiple buffers to
mbed_official 146:f64d43ff0c18 1442 * transfer data efficiently. This read-only flag indicates whether space is
mbed_official 146:f64d43ff0c18 1443 * available for write data. If this bit is 1, valid data greater than the watermark
mbed_official 146:f64d43ff0c18 1444 * level can be written to the buffer. This read-only flag indicates whether
mbed_official 146:f64d43ff0c18 1445 * space is available for write data.
mbed_official 146:f64d43ff0c18 1446 *
mbed_official 146:f64d43ff0c18 1447 * Values:
mbed_official 146:f64d43ff0c18 1448 * - 0 - Write disable, the buffer can hold valid data less than the write
mbed_official 146:f64d43ff0c18 1449 * watermark level.
mbed_official 146:f64d43ff0c18 1450 * - 1 - Write enable, the buffer can hold valid data greater than the write
mbed_official 146:f64d43ff0c18 1451 * watermark level.
mbed_official 146:f64d43ff0c18 1452 */
mbed_official 146:f64d43ff0c18 1453 //@{
mbed_official 146:f64d43ff0c18 1454 #define BP_SDHC_PRSSTAT_BWEN (10U) //!< Bit position for SDHC_PRSSTAT_BWEN.
mbed_official 146:f64d43ff0c18 1455 #define BM_SDHC_PRSSTAT_BWEN (0x00000400U) //!< Bit mask for SDHC_PRSSTAT_BWEN.
mbed_official 146:f64d43ff0c18 1456 #define BS_SDHC_PRSSTAT_BWEN (1U) //!< Bit field size in bits for SDHC_PRSSTAT_BWEN.
mbed_official 146:f64d43ff0c18 1457
mbed_official 146:f64d43ff0c18 1458 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1459 //! @brief Read current value of the SDHC_PRSSTAT_BWEN field.
mbed_official 146:f64d43ff0c18 1460 #define BR_SDHC_PRSSTAT_BWEN (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_BWEN))
mbed_official 146:f64d43ff0c18 1461 #endif
mbed_official 146:f64d43ff0c18 1462 //@}
mbed_official 146:f64d43ff0c18 1463
mbed_official 146:f64d43ff0c18 1464 /*!
mbed_official 146:f64d43ff0c18 1465 * @name Register SDHC_PRSSTAT, field BREN[11] (RO)
mbed_official 146:f64d43ff0c18 1466 *
mbed_official 146:f64d43ff0c18 1467 * Used for non-DMA read transfers. The SDHC may implement multiple buffers to
mbed_official 146:f64d43ff0c18 1468 * transfer data efficiently. This read-only flag indicates that valid data exists
mbed_official 146:f64d43ff0c18 1469 * in the host side buffer. If this bit is high, valid data greater than the
mbed_official 146:f64d43ff0c18 1470 * watermark level exist in the buffer. This read-only flag indicates that valid
mbed_official 146:f64d43ff0c18 1471 * data exists in the host side buffer.
mbed_official 146:f64d43ff0c18 1472 *
mbed_official 146:f64d43ff0c18 1473 * Values:
mbed_official 146:f64d43ff0c18 1474 * - 0 - Read disable, valid data less than the watermark level exist in the
mbed_official 146:f64d43ff0c18 1475 * buffer.
mbed_official 146:f64d43ff0c18 1476 * - 1 - Read enable, valid data greater than the watermark level exist in the
mbed_official 146:f64d43ff0c18 1477 * buffer.
mbed_official 146:f64d43ff0c18 1478 */
mbed_official 146:f64d43ff0c18 1479 //@{
mbed_official 146:f64d43ff0c18 1480 #define BP_SDHC_PRSSTAT_BREN (11U) //!< Bit position for SDHC_PRSSTAT_BREN.
mbed_official 146:f64d43ff0c18 1481 #define BM_SDHC_PRSSTAT_BREN (0x00000800U) //!< Bit mask for SDHC_PRSSTAT_BREN.
mbed_official 146:f64d43ff0c18 1482 #define BS_SDHC_PRSSTAT_BREN (1U) //!< Bit field size in bits for SDHC_PRSSTAT_BREN.
mbed_official 146:f64d43ff0c18 1483
mbed_official 146:f64d43ff0c18 1484 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1485 //! @brief Read current value of the SDHC_PRSSTAT_BREN field.
mbed_official 146:f64d43ff0c18 1486 #define BR_SDHC_PRSSTAT_BREN (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_BREN))
mbed_official 146:f64d43ff0c18 1487 #endif
mbed_official 146:f64d43ff0c18 1488 //@}
mbed_official 146:f64d43ff0c18 1489
mbed_official 146:f64d43ff0c18 1490 /*!
mbed_official 146:f64d43ff0c18 1491 * @name Register SDHC_PRSSTAT, field CINS[16] (RO)
mbed_official 146:f64d43ff0c18 1492 *
mbed_official 146:f64d43ff0c18 1493 * Indicates whether a card has been inserted. The SDHC debounces this signal so
mbed_official 146:f64d43ff0c18 1494 * that the host driver will not need to wait for it to stabilize. Changing from
mbed_official 146:f64d43ff0c18 1495 * a 0 to 1 generates a card insertion interrupt in the Interrupt Status
mbed_official 146:f64d43ff0c18 1496 * register. Changing from a 1 to 0 generates a card removal interrupt in the Interrupt
mbed_official 146:f64d43ff0c18 1497 * Status register. A write to the force event register does not effect this bit.
mbed_official 146:f64d43ff0c18 1498 * SYSCTL[RSTA] does not effect this bit. A software reset does not effect this
mbed_official 146:f64d43ff0c18 1499 * bit.
mbed_official 146:f64d43ff0c18 1500 *
mbed_official 146:f64d43ff0c18 1501 * Values:
mbed_official 146:f64d43ff0c18 1502 * - 0 - Power on reset or no card.
mbed_official 146:f64d43ff0c18 1503 * - 1 - Card inserted.
mbed_official 146:f64d43ff0c18 1504 */
mbed_official 146:f64d43ff0c18 1505 //@{
mbed_official 146:f64d43ff0c18 1506 #define BP_SDHC_PRSSTAT_CINS (16U) //!< Bit position for SDHC_PRSSTAT_CINS.
mbed_official 146:f64d43ff0c18 1507 #define BM_SDHC_PRSSTAT_CINS (0x00010000U) //!< Bit mask for SDHC_PRSSTAT_CINS.
mbed_official 146:f64d43ff0c18 1508 #define BS_SDHC_PRSSTAT_CINS (1U) //!< Bit field size in bits for SDHC_PRSSTAT_CINS.
mbed_official 146:f64d43ff0c18 1509
mbed_official 146:f64d43ff0c18 1510 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1511 //! @brief Read current value of the SDHC_PRSSTAT_CINS field.
mbed_official 146:f64d43ff0c18 1512 #define BR_SDHC_PRSSTAT_CINS (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_CINS))
mbed_official 146:f64d43ff0c18 1513 #endif
mbed_official 146:f64d43ff0c18 1514 //@}
mbed_official 146:f64d43ff0c18 1515
mbed_official 146:f64d43ff0c18 1516 /*!
mbed_official 146:f64d43ff0c18 1517 * @name Register SDHC_PRSSTAT, field CLSL[23] (RO)
mbed_official 146:f64d43ff0c18 1518 *
mbed_official 146:f64d43ff0c18 1519 * Used to check the CMD line level to recover from errors, and for debugging.
mbed_official 146:f64d43ff0c18 1520 * The reset value is effected by the external pullup/pulldown resistor, by
mbed_official 146:f64d43ff0c18 1521 * default, the read value of this bit after reset is 1b, when the command line is
mbed_official 146:f64d43ff0c18 1522 * pulled up.
mbed_official 146:f64d43ff0c18 1523 */
mbed_official 146:f64d43ff0c18 1524 //@{
mbed_official 146:f64d43ff0c18 1525 #define BP_SDHC_PRSSTAT_CLSL (23U) //!< Bit position for SDHC_PRSSTAT_CLSL.
mbed_official 146:f64d43ff0c18 1526 #define BM_SDHC_PRSSTAT_CLSL (0x00800000U) //!< Bit mask for SDHC_PRSSTAT_CLSL.
mbed_official 146:f64d43ff0c18 1527 #define BS_SDHC_PRSSTAT_CLSL (1U) //!< Bit field size in bits for SDHC_PRSSTAT_CLSL.
mbed_official 146:f64d43ff0c18 1528
mbed_official 146:f64d43ff0c18 1529 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1530 //! @brief Read current value of the SDHC_PRSSTAT_CLSL field.
mbed_official 146:f64d43ff0c18 1531 #define BR_SDHC_PRSSTAT_CLSL (BITBAND_ACCESS32(HW_SDHC_PRSSTAT_ADDR, BP_SDHC_PRSSTAT_CLSL))
mbed_official 146:f64d43ff0c18 1532 #endif
mbed_official 146:f64d43ff0c18 1533 //@}
mbed_official 146:f64d43ff0c18 1534
mbed_official 146:f64d43ff0c18 1535 /*!
mbed_official 146:f64d43ff0c18 1536 * @name Register SDHC_PRSSTAT, field DLSL[31:24] (RO)
mbed_official 146:f64d43ff0c18 1537 *
mbed_official 146:f64d43ff0c18 1538 * Used to check the DAT line level to recover from errors, and for debugging.
mbed_official 146:f64d43ff0c18 1539 * This is especially useful in detecting the busy signal level from DAT[0]. The
mbed_official 146:f64d43ff0c18 1540 * reset value is effected by the external pullup/pulldown resistors. By default,
mbed_official 146:f64d43ff0c18 1541 * the read value of this field after reset is 8'b11110111, when DAT[3] is pulled
mbed_official 146:f64d43ff0c18 1542 * down and the other lines are pulled up.
mbed_official 146:f64d43ff0c18 1543 */
mbed_official 146:f64d43ff0c18 1544 //@{
mbed_official 146:f64d43ff0c18 1545 #define BP_SDHC_PRSSTAT_DLSL (24U) //!< Bit position for SDHC_PRSSTAT_DLSL.
mbed_official 146:f64d43ff0c18 1546 #define BM_SDHC_PRSSTAT_DLSL (0xFF000000U) //!< Bit mask for SDHC_PRSSTAT_DLSL.
mbed_official 146:f64d43ff0c18 1547 #define BS_SDHC_PRSSTAT_DLSL (8U) //!< Bit field size in bits for SDHC_PRSSTAT_DLSL.
mbed_official 146:f64d43ff0c18 1548
mbed_official 146:f64d43ff0c18 1549 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1550 //! @brief Read current value of the SDHC_PRSSTAT_DLSL field.
mbed_official 146:f64d43ff0c18 1551 #define BR_SDHC_PRSSTAT_DLSL (HW_SDHC_PRSSTAT.B.DLSL)
mbed_official 146:f64d43ff0c18 1552 #endif
mbed_official 146:f64d43ff0c18 1553 //@}
mbed_official 146:f64d43ff0c18 1554
mbed_official 146:f64d43ff0c18 1555 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1556 // HW_SDHC_PROCTL - Protocol Control register
mbed_official 146:f64d43ff0c18 1557 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 1558
mbed_official 146:f64d43ff0c18 1559 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1560 /*!
mbed_official 146:f64d43ff0c18 1561 * @brief HW_SDHC_PROCTL - Protocol Control register (RW)
mbed_official 146:f64d43ff0c18 1562 *
mbed_official 146:f64d43ff0c18 1563 * Reset value: 0x00000020U
mbed_official 146:f64d43ff0c18 1564 *
mbed_official 146:f64d43ff0c18 1565 * There are three cases to restart the transfer after stop at the block gap.
mbed_official 146:f64d43ff0c18 1566 * Which case is appropriate depends on whether the SDHC issues a suspend command
mbed_official 146:f64d43ff0c18 1567 * or the SD card accepts the suspend command: If the host driver does not issue a
mbed_official 146:f64d43ff0c18 1568 * suspend command, the continue request shall be used to restart the transfer.
mbed_official 146:f64d43ff0c18 1569 * If the host driver issues a suspend command and the SD card accepts it, a
mbed_official 146:f64d43ff0c18 1570 * resume command shall be used to restart the transfer. If the host driver issues a
mbed_official 146:f64d43ff0c18 1571 * suspend command and the SD card does not accept it, the continue request shall
mbed_official 146:f64d43ff0c18 1572 * be used to restart the transfer. Any time stop at block gap request stops the
mbed_official 146:f64d43ff0c18 1573 * data transfer, the host driver shall wait for a transfer complete (in the
mbed_official 146:f64d43ff0c18 1574 * interrupt status register), before attempting to restart the transfer. When
mbed_official 146:f64d43ff0c18 1575 * restarting the data transfer by continue request, the host driver shall clear the
mbed_official 146:f64d43ff0c18 1576 * stop at block gap request before or simultaneously.
mbed_official 146:f64d43ff0c18 1577 */
mbed_official 146:f64d43ff0c18 1578 typedef union _hw_sdhc_proctl
mbed_official 146:f64d43ff0c18 1579 {
mbed_official 146:f64d43ff0c18 1580 uint32_t U;
mbed_official 146:f64d43ff0c18 1581 struct _hw_sdhc_proctl_bitfields
mbed_official 146:f64d43ff0c18 1582 {
mbed_official 146:f64d43ff0c18 1583 uint32_t LCTL : 1; //!< [0] LED Control
mbed_official 146:f64d43ff0c18 1584 uint32_t DTW : 2; //!< [2:1] Data Transfer Width
mbed_official 146:f64d43ff0c18 1585 uint32_t D3CD : 1; //!< [3] DAT3 As Card Detection Pin
mbed_official 146:f64d43ff0c18 1586 uint32_t EMODE : 2; //!< [5:4] Endian Mode
mbed_official 146:f64d43ff0c18 1587 uint32_t CDTL : 1; //!< [6] Card Detect Test Level
mbed_official 146:f64d43ff0c18 1588 uint32_t CDSS : 1; //!< [7] Card Detect Signal Selection
mbed_official 146:f64d43ff0c18 1589 uint32_t DMAS : 2; //!< [9:8] DMA Select
mbed_official 146:f64d43ff0c18 1590 uint32_t RESERVED0 : 6; //!< [15:10]
mbed_official 146:f64d43ff0c18 1591 uint32_t SABGREQ : 1; //!< [16] Stop At Block Gap Request
mbed_official 146:f64d43ff0c18 1592 uint32_t CREQ : 1; //!< [17] Continue Request
mbed_official 146:f64d43ff0c18 1593 uint32_t RWCTL : 1; //!< [18] Read Wait Control
mbed_official 146:f64d43ff0c18 1594 uint32_t IABG : 1; //!< [19] Interrupt At Block Gap
mbed_official 146:f64d43ff0c18 1595 uint32_t RESERVED1 : 4; //!< [23:20]
mbed_official 146:f64d43ff0c18 1596 uint32_t WECINT : 1; //!< [24] Wakeup Event Enable On Card Interrupt
mbed_official 146:f64d43ff0c18 1597 uint32_t WECINS : 1; //!< [25] Wakeup Event Enable On SD Card
mbed_official 146:f64d43ff0c18 1598 //! Insertion
mbed_official 146:f64d43ff0c18 1599 uint32_t WECRM : 1; //!< [26] Wakeup Event Enable On SD Card Removal
mbed_official 146:f64d43ff0c18 1600 uint32_t RESERVED2 : 5; //!< [31:27]
mbed_official 146:f64d43ff0c18 1601 } B;
mbed_official 146:f64d43ff0c18 1602 } hw_sdhc_proctl_t;
mbed_official 146:f64d43ff0c18 1603 #endif
mbed_official 146:f64d43ff0c18 1604
mbed_official 146:f64d43ff0c18 1605 /*!
mbed_official 146:f64d43ff0c18 1606 * @name Constants and macros for entire SDHC_PROCTL register
mbed_official 146:f64d43ff0c18 1607 */
mbed_official 146:f64d43ff0c18 1608 //@{
mbed_official 146:f64d43ff0c18 1609 #define HW_SDHC_PROCTL_ADDR (REGS_SDHC_BASE + 0x28U)
mbed_official 146:f64d43ff0c18 1610
mbed_official 146:f64d43ff0c18 1611 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1612 #define HW_SDHC_PROCTL (*(__IO hw_sdhc_proctl_t *) HW_SDHC_PROCTL_ADDR)
mbed_official 146:f64d43ff0c18 1613 #define HW_SDHC_PROCTL_RD() (HW_SDHC_PROCTL.U)
mbed_official 146:f64d43ff0c18 1614 #define HW_SDHC_PROCTL_WR(v) (HW_SDHC_PROCTL.U = (v))
mbed_official 146:f64d43ff0c18 1615 #define HW_SDHC_PROCTL_SET(v) (HW_SDHC_PROCTL_WR(HW_SDHC_PROCTL_RD() | (v)))
mbed_official 146:f64d43ff0c18 1616 #define HW_SDHC_PROCTL_CLR(v) (HW_SDHC_PROCTL_WR(HW_SDHC_PROCTL_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 1617 #define HW_SDHC_PROCTL_TOG(v) (HW_SDHC_PROCTL_WR(HW_SDHC_PROCTL_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 1618 #endif
mbed_official 146:f64d43ff0c18 1619 //@}
mbed_official 146:f64d43ff0c18 1620
mbed_official 146:f64d43ff0c18 1621 /*
mbed_official 146:f64d43ff0c18 1622 * Constants & macros for individual SDHC_PROCTL bitfields
mbed_official 146:f64d43ff0c18 1623 */
mbed_official 146:f64d43ff0c18 1624
mbed_official 146:f64d43ff0c18 1625 /*!
mbed_official 146:f64d43ff0c18 1626 * @name Register SDHC_PROCTL, field LCTL[0] (RW)
mbed_official 146:f64d43ff0c18 1627 *
mbed_official 146:f64d43ff0c18 1628 * This bit, fully controlled by the host driver, is used to caution the user
mbed_official 146:f64d43ff0c18 1629 * not to remove the card while the card is being accessed. If the software is
mbed_official 146:f64d43ff0c18 1630 * going to issue multiple SD commands, this bit can be set during all these
mbed_official 146:f64d43ff0c18 1631 * transactions. It is not necessary to change for each transaction. When the software
mbed_official 146:f64d43ff0c18 1632 * issues multiple SD commands, setting the bit once before the first command is
mbed_official 146:f64d43ff0c18 1633 * sufficient: it is not necessary to reset the bit between commands.
mbed_official 146:f64d43ff0c18 1634 *
mbed_official 146:f64d43ff0c18 1635 * Values:
mbed_official 146:f64d43ff0c18 1636 * - 0 - LED off.
mbed_official 146:f64d43ff0c18 1637 * - 1 - LED on.
mbed_official 146:f64d43ff0c18 1638 */
mbed_official 146:f64d43ff0c18 1639 //@{
mbed_official 146:f64d43ff0c18 1640 #define BP_SDHC_PROCTL_LCTL (0U) //!< Bit position for SDHC_PROCTL_LCTL.
mbed_official 146:f64d43ff0c18 1641 #define BM_SDHC_PROCTL_LCTL (0x00000001U) //!< Bit mask for SDHC_PROCTL_LCTL.
mbed_official 146:f64d43ff0c18 1642 #define BS_SDHC_PROCTL_LCTL (1U) //!< Bit field size in bits for SDHC_PROCTL_LCTL.
mbed_official 146:f64d43ff0c18 1643
mbed_official 146:f64d43ff0c18 1644 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1645 //! @brief Read current value of the SDHC_PROCTL_LCTL field.
mbed_official 146:f64d43ff0c18 1646 #define BR_SDHC_PROCTL_LCTL (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_LCTL))
mbed_official 146:f64d43ff0c18 1647 #endif
mbed_official 146:f64d43ff0c18 1648
mbed_official 146:f64d43ff0c18 1649 //! @brief Format value for bitfield SDHC_PROCTL_LCTL.
mbed_official 146:f64d43ff0c18 1650 #define BF_SDHC_PROCTL_LCTL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_LCTL), uint32_t) & BM_SDHC_PROCTL_LCTL)
mbed_official 146:f64d43ff0c18 1651
mbed_official 146:f64d43ff0c18 1652 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1653 //! @brief Set the LCTL field to a new value.
mbed_official 146:f64d43ff0c18 1654 #define BW_SDHC_PROCTL_LCTL(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_LCTL) = (v))
mbed_official 146:f64d43ff0c18 1655 #endif
mbed_official 146:f64d43ff0c18 1656 //@}
mbed_official 146:f64d43ff0c18 1657
mbed_official 146:f64d43ff0c18 1658 /*!
mbed_official 146:f64d43ff0c18 1659 * @name Register SDHC_PROCTL, field DTW[2:1] (RW)
mbed_official 146:f64d43ff0c18 1660 *
mbed_official 146:f64d43ff0c18 1661 * Selects the data width of the SD bus for a data transfer. The host driver
mbed_official 146:f64d43ff0c18 1662 * shall set it to match the data width of the card. Possible data transfer width is
mbed_official 146:f64d43ff0c18 1663 * 1-bit, 4-bits or 8-bits.
mbed_official 146:f64d43ff0c18 1664 *
mbed_official 146:f64d43ff0c18 1665 * Values:
mbed_official 146:f64d43ff0c18 1666 * - 00 - 1-bit mode
mbed_official 146:f64d43ff0c18 1667 * - 01 - 4-bit mode
mbed_official 146:f64d43ff0c18 1668 * - 10 - 8-bit mode
mbed_official 146:f64d43ff0c18 1669 * - 11 - Reserved
mbed_official 146:f64d43ff0c18 1670 */
mbed_official 146:f64d43ff0c18 1671 //@{
mbed_official 146:f64d43ff0c18 1672 #define BP_SDHC_PROCTL_DTW (1U) //!< Bit position for SDHC_PROCTL_DTW.
mbed_official 146:f64d43ff0c18 1673 #define BM_SDHC_PROCTL_DTW (0x00000006U) //!< Bit mask for SDHC_PROCTL_DTW.
mbed_official 146:f64d43ff0c18 1674 #define BS_SDHC_PROCTL_DTW (2U) //!< Bit field size in bits for SDHC_PROCTL_DTW.
mbed_official 146:f64d43ff0c18 1675
mbed_official 146:f64d43ff0c18 1676 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1677 //! @brief Read current value of the SDHC_PROCTL_DTW field.
mbed_official 146:f64d43ff0c18 1678 #define BR_SDHC_PROCTL_DTW (HW_SDHC_PROCTL.B.DTW)
mbed_official 146:f64d43ff0c18 1679 #endif
mbed_official 146:f64d43ff0c18 1680
mbed_official 146:f64d43ff0c18 1681 //! @brief Format value for bitfield SDHC_PROCTL_DTW.
mbed_official 146:f64d43ff0c18 1682 #define BF_SDHC_PROCTL_DTW(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_DTW), uint32_t) & BM_SDHC_PROCTL_DTW)
mbed_official 146:f64d43ff0c18 1683
mbed_official 146:f64d43ff0c18 1684 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1685 //! @brief Set the DTW field to a new value.
mbed_official 146:f64d43ff0c18 1686 #define BW_SDHC_PROCTL_DTW(v) (HW_SDHC_PROCTL_WR((HW_SDHC_PROCTL_RD() & ~BM_SDHC_PROCTL_DTW) | BF_SDHC_PROCTL_DTW(v)))
mbed_official 146:f64d43ff0c18 1687 #endif
mbed_official 146:f64d43ff0c18 1688 //@}
mbed_official 146:f64d43ff0c18 1689
mbed_official 146:f64d43ff0c18 1690 /*!
mbed_official 146:f64d43ff0c18 1691 * @name Register SDHC_PROCTL, field D3CD[3] (RW)
mbed_official 146:f64d43ff0c18 1692 *
mbed_official 146:f64d43ff0c18 1693 * If this bit is set, DAT3 should be pulled down to act as a card detection
mbed_official 146:f64d43ff0c18 1694 * pin. Be cautious when using this feature, because DAT3 is also a chip-select for
mbed_official 146:f64d43ff0c18 1695 * the SPI mode. A pulldown on this pin and CMD0 may set the card into the SPI
mbed_official 146:f64d43ff0c18 1696 * mode, which the SDHC does not support. Note: Keep this bit set if SDIO interrupt
mbed_official 146:f64d43ff0c18 1697 * is used.
mbed_official 146:f64d43ff0c18 1698 *
mbed_official 146:f64d43ff0c18 1699 * Values:
mbed_official 146:f64d43ff0c18 1700 * - 0 - DAT3 does not monitor card Insertion.
mbed_official 146:f64d43ff0c18 1701 * - 1 - DAT3 as card detection pin.
mbed_official 146:f64d43ff0c18 1702 */
mbed_official 146:f64d43ff0c18 1703 //@{
mbed_official 146:f64d43ff0c18 1704 #define BP_SDHC_PROCTL_D3CD (3U) //!< Bit position for SDHC_PROCTL_D3CD.
mbed_official 146:f64d43ff0c18 1705 #define BM_SDHC_PROCTL_D3CD (0x00000008U) //!< Bit mask for SDHC_PROCTL_D3CD.
mbed_official 146:f64d43ff0c18 1706 #define BS_SDHC_PROCTL_D3CD (1U) //!< Bit field size in bits for SDHC_PROCTL_D3CD.
mbed_official 146:f64d43ff0c18 1707
mbed_official 146:f64d43ff0c18 1708 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1709 //! @brief Read current value of the SDHC_PROCTL_D3CD field.
mbed_official 146:f64d43ff0c18 1710 #define BR_SDHC_PROCTL_D3CD (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_D3CD))
mbed_official 146:f64d43ff0c18 1711 #endif
mbed_official 146:f64d43ff0c18 1712
mbed_official 146:f64d43ff0c18 1713 //! @brief Format value for bitfield SDHC_PROCTL_D3CD.
mbed_official 146:f64d43ff0c18 1714 #define BF_SDHC_PROCTL_D3CD(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_D3CD), uint32_t) & BM_SDHC_PROCTL_D3CD)
mbed_official 146:f64d43ff0c18 1715
mbed_official 146:f64d43ff0c18 1716 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1717 //! @brief Set the D3CD field to a new value.
mbed_official 146:f64d43ff0c18 1718 #define BW_SDHC_PROCTL_D3CD(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_D3CD) = (v))
mbed_official 146:f64d43ff0c18 1719 #endif
mbed_official 146:f64d43ff0c18 1720 //@}
mbed_official 146:f64d43ff0c18 1721
mbed_official 146:f64d43ff0c18 1722 /*!
mbed_official 146:f64d43ff0c18 1723 * @name Register SDHC_PROCTL, field EMODE[5:4] (RW)
mbed_official 146:f64d43ff0c18 1724 *
mbed_official 146:f64d43ff0c18 1725 * The SDHC supports all four endian modes in data transfer.
mbed_official 146:f64d43ff0c18 1726 *
mbed_official 146:f64d43ff0c18 1727 * Values:
mbed_official 146:f64d43ff0c18 1728 * - 00 - Big endian mode
mbed_official 146:f64d43ff0c18 1729 * - 01 - Half word big endian mode
mbed_official 146:f64d43ff0c18 1730 * - 10 - Little endian mode
mbed_official 146:f64d43ff0c18 1731 * - 11 - Reserved
mbed_official 146:f64d43ff0c18 1732 */
mbed_official 146:f64d43ff0c18 1733 //@{
mbed_official 146:f64d43ff0c18 1734 #define BP_SDHC_PROCTL_EMODE (4U) //!< Bit position for SDHC_PROCTL_EMODE.
mbed_official 146:f64d43ff0c18 1735 #define BM_SDHC_PROCTL_EMODE (0x00000030U) //!< Bit mask for SDHC_PROCTL_EMODE.
mbed_official 146:f64d43ff0c18 1736 #define BS_SDHC_PROCTL_EMODE (2U) //!< Bit field size in bits for SDHC_PROCTL_EMODE.
mbed_official 146:f64d43ff0c18 1737
mbed_official 146:f64d43ff0c18 1738 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1739 //! @brief Read current value of the SDHC_PROCTL_EMODE field.
mbed_official 146:f64d43ff0c18 1740 #define BR_SDHC_PROCTL_EMODE (HW_SDHC_PROCTL.B.EMODE)
mbed_official 146:f64d43ff0c18 1741 #endif
mbed_official 146:f64d43ff0c18 1742
mbed_official 146:f64d43ff0c18 1743 //! @brief Format value for bitfield SDHC_PROCTL_EMODE.
mbed_official 146:f64d43ff0c18 1744 #define BF_SDHC_PROCTL_EMODE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_EMODE), uint32_t) & BM_SDHC_PROCTL_EMODE)
mbed_official 146:f64d43ff0c18 1745
mbed_official 146:f64d43ff0c18 1746 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1747 //! @brief Set the EMODE field to a new value.
mbed_official 146:f64d43ff0c18 1748 #define BW_SDHC_PROCTL_EMODE(v) (HW_SDHC_PROCTL_WR((HW_SDHC_PROCTL_RD() & ~BM_SDHC_PROCTL_EMODE) | BF_SDHC_PROCTL_EMODE(v)))
mbed_official 146:f64d43ff0c18 1749 #endif
mbed_official 146:f64d43ff0c18 1750 //@}
mbed_official 146:f64d43ff0c18 1751
mbed_official 146:f64d43ff0c18 1752 /*!
mbed_official 146:f64d43ff0c18 1753 * @name Register SDHC_PROCTL, field CDTL[6] (RW)
mbed_official 146:f64d43ff0c18 1754 *
mbed_official 146:f64d43ff0c18 1755 * Enabled while the CDSS is set to 1 and it indicates card insertion.
mbed_official 146:f64d43ff0c18 1756 *
mbed_official 146:f64d43ff0c18 1757 * Values:
mbed_official 146:f64d43ff0c18 1758 * - 0 - Card detect test level is 0, no card inserted.
mbed_official 146:f64d43ff0c18 1759 * - 1 - Card detect test level is 1, card inserted.
mbed_official 146:f64d43ff0c18 1760 */
mbed_official 146:f64d43ff0c18 1761 //@{
mbed_official 146:f64d43ff0c18 1762 #define BP_SDHC_PROCTL_CDTL (6U) //!< Bit position for SDHC_PROCTL_CDTL.
mbed_official 146:f64d43ff0c18 1763 #define BM_SDHC_PROCTL_CDTL (0x00000040U) //!< Bit mask for SDHC_PROCTL_CDTL.
mbed_official 146:f64d43ff0c18 1764 #define BS_SDHC_PROCTL_CDTL (1U) //!< Bit field size in bits for SDHC_PROCTL_CDTL.
mbed_official 146:f64d43ff0c18 1765
mbed_official 146:f64d43ff0c18 1766 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1767 //! @brief Read current value of the SDHC_PROCTL_CDTL field.
mbed_official 146:f64d43ff0c18 1768 #define BR_SDHC_PROCTL_CDTL (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CDTL))
mbed_official 146:f64d43ff0c18 1769 #endif
mbed_official 146:f64d43ff0c18 1770
mbed_official 146:f64d43ff0c18 1771 //! @brief Format value for bitfield SDHC_PROCTL_CDTL.
mbed_official 146:f64d43ff0c18 1772 #define BF_SDHC_PROCTL_CDTL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_CDTL), uint32_t) & BM_SDHC_PROCTL_CDTL)
mbed_official 146:f64d43ff0c18 1773
mbed_official 146:f64d43ff0c18 1774 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1775 //! @brief Set the CDTL field to a new value.
mbed_official 146:f64d43ff0c18 1776 #define BW_SDHC_PROCTL_CDTL(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CDTL) = (v))
mbed_official 146:f64d43ff0c18 1777 #endif
mbed_official 146:f64d43ff0c18 1778 //@}
mbed_official 146:f64d43ff0c18 1779
mbed_official 146:f64d43ff0c18 1780 /*!
mbed_official 146:f64d43ff0c18 1781 * @name Register SDHC_PROCTL, field CDSS[7] (RW)
mbed_official 146:f64d43ff0c18 1782 *
mbed_official 146:f64d43ff0c18 1783 * Selects the source for the card detection.
mbed_official 146:f64d43ff0c18 1784 *
mbed_official 146:f64d43ff0c18 1785 * Values:
mbed_official 146:f64d43ff0c18 1786 * - 0 - Card detection level is selected for normal purpose.
mbed_official 146:f64d43ff0c18 1787 * - 1 - Card detection test level is selected for test purpose.
mbed_official 146:f64d43ff0c18 1788 */
mbed_official 146:f64d43ff0c18 1789 //@{
mbed_official 146:f64d43ff0c18 1790 #define BP_SDHC_PROCTL_CDSS (7U) //!< Bit position for SDHC_PROCTL_CDSS.
mbed_official 146:f64d43ff0c18 1791 #define BM_SDHC_PROCTL_CDSS (0x00000080U) //!< Bit mask for SDHC_PROCTL_CDSS.
mbed_official 146:f64d43ff0c18 1792 #define BS_SDHC_PROCTL_CDSS (1U) //!< Bit field size in bits for SDHC_PROCTL_CDSS.
mbed_official 146:f64d43ff0c18 1793
mbed_official 146:f64d43ff0c18 1794 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1795 //! @brief Read current value of the SDHC_PROCTL_CDSS field.
mbed_official 146:f64d43ff0c18 1796 #define BR_SDHC_PROCTL_CDSS (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CDSS))
mbed_official 146:f64d43ff0c18 1797 #endif
mbed_official 146:f64d43ff0c18 1798
mbed_official 146:f64d43ff0c18 1799 //! @brief Format value for bitfield SDHC_PROCTL_CDSS.
mbed_official 146:f64d43ff0c18 1800 #define BF_SDHC_PROCTL_CDSS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_CDSS), uint32_t) & BM_SDHC_PROCTL_CDSS)
mbed_official 146:f64d43ff0c18 1801
mbed_official 146:f64d43ff0c18 1802 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1803 //! @brief Set the CDSS field to a new value.
mbed_official 146:f64d43ff0c18 1804 #define BW_SDHC_PROCTL_CDSS(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CDSS) = (v))
mbed_official 146:f64d43ff0c18 1805 #endif
mbed_official 146:f64d43ff0c18 1806 //@}
mbed_official 146:f64d43ff0c18 1807
mbed_official 146:f64d43ff0c18 1808 /*!
mbed_official 146:f64d43ff0c18 1809 * @name Register SDHC_PROCTL, field DMAS[9:8] (RW)
mbed_official 146:f64d43ff0c18 1810 *
mbed_official 146:f64d43ff0c18 1811 * This field is valid while DMA (SDMA or ADMA) is enabled and selects the DMA
mbed_official 146:f64d43ff0c18 1812 * operation.
mbed_official 146:f64d43ff0c18 1813 *
mbed_official 146:f64d43ff0c18 1814 * Values:
mbed_official 146:f64d43ff0c18 1815 * - 00 - No DMA or simple DMA is selected.
mbed_official 146:f64d43ff0c18 1816 * - 01 - ADMA1 is selected.
mbed_official 146:f64d43ff0c18 1817 * - 10 - ADMA2 is selected.
mbed_official 146:f64d43ff0c18 1818 * - 11 - Reserved
mbed_official 146:f64d43ff0c18 1819 */
mbed_official 146:f64d43ff0c18 1820 //@{
mbed_official 146:f64d43ff0c18 1821 #define BP_SDHC_PROCTL_DMAS (8U) //!< Bit position for SDHC_PROCTL_DMAS.
mbed_official 146:f64d43ff0c18 1822 #define BM_SDHC_PROCTL_DMAS (0x00000300U) //!< Bit mask for SDHC_PROCTL_DMAS.
mbed_official 146:f64d43ff0c18 1823 #define BS_SDHC_PROCTL_DMAS (2U) //!< Bit field size in bits for SDHC_PROCTL_DMAS.
mbed_official 146:f64d43ff0c18 1824
mbed_official 146:f64d43ff0c18 1825 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1826 //! @brief Read current value of the SDHC_PROCTL_DMAS field.
mbed_official 146:f64d43ff0c18 1827 #define BR_SDHC_PROCTL_DMAS (HW_SDHC_PROCTL.B.DMAS)
mbed_official 146:f64d43ff0c18 1828 #endif
mbed_official 146:f64d43ff0c18 1829
mbed_official 146:f64d43ff0c18 1830 //! @brief Format value for bitfield SDHC_PROCTL_DMAS.
mbed_official 146:f64d43ff0c18 1831 #define BF_SDHC_PROCTL_DMAS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_DMAS), uint32_t) & BM_SDHC_PROCTL_DMAS)
mbed_official 146:f64d43ff0c18 1832
mbed_official 146:f64d43ff0c18 1833 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1834 //! @brief Set the DMAS field to a new value.
mbed_official 146:f64d43ff0c18 1835 #define BW_SDHC_PROCTL_DMAS(v) (HW_SDHC_PROCTL_WR((HW_SDHC_PROCTL_RD() & ~BM_SDHC_PROCTL_DMAS) | BF_SDHC_PROCTL_DMAS(v)))
mbed_official 146:f64d43ff0c18 1836 #endif
mbed_official 146:f64d43ff0c18 1837 //@}
mbed_official 146:f64d43ff0c18 1838
mbed_official 146:f64d43ff0c18 1839 /*!
mbed_official 146:f64d43ff0c18 1840 * @name Register SDHC_PROCTL, field SABGREQ[16] (RW)
mbed_official 146:f64d43ff0c18 1841 *
mbed_official 146:f64d43ff0c18 1842 * Used to stop executing a transaction at the next block gap for both DMA and
mbed_official 146:f64d43ff0c18 1843 * non-DMA transfers. Until the IRQSTATEN[TCSEN] is set to 1, indicating a
mbed_official 146:f64d43ff0c18 1844 * transfer completion, the host driver shall leave this bit set to 1. Clearing both
mbed_official 146:f64d43ff0c18 1845 * PROCTL[SABGREQ] and PROCTL[CREQ] does not cause the transaction to restart. Read
mbed_official 146:f64d43ff0c18 1846 * Wait is used to stop the read transaction at the block gap. The SDHC will
mbed_official 146:f64d43ff0c18 1847 * honor the PROCTL[SABGREQ] for write transfers, but for read transfers it requires
mbed_official 146:f64d43ff0c18 1848 * that SDIO card support read wait. Therefore, the host driver shall not set
mbed_official 146:f64d43ff0c18 1849 * this bit during read transfers unless the SDIO card supports read wait and has
mbed_official 146:f64d43ff0c18 1850 * set PROCTL[RWCTL] to 1, otherwise the SDHC will stop the SD bus clock to pause
mbed_official 146:f64d43ff0c18 1851 * the read operation during block gap. In the case of write transfers in which
mbed_official 146:f64d43ff0c18 1852 * the host driver writes data to the data port register, the host driver shall set
mbed_official 146:f64d43ff0c18 1853 * this bit after all block data is written. If this bit is set to 1, the host
mbed_official 146:f64d43ff0c18 1854 * driver shall not write data to the Data Port register after a block is sent.
mbed_official 146:f64d43ff0c18 1855 * Once this bit is set, the host driver shall not clear this bit before
mbed_official 146:f64d43ff0c18 1856 * IRQSTATEN[TCSEN] is set, otherwise the SDHC's behavior is undefined. This bit effects
mbed_official 146:f64d43ff0c18 1857 * PRSSTAT[RTA], PRSSTAT[WTA], and PRSSTAT[CDIHB].
mbed_official 146:f64d43ff0c18 1858 *
mbed_official 146:f64d43ff0c18 1859 * Values:
mbed_official 146:f64d43ff0c18 1860 * - 0 - Transfer
mbed_official 146:f64d43ff0c18 1861 * - 1 - Stop
mbed_official 146:f64d43ff0c18 1862 */
mbed_official 146:f64d43ff0c18 1863 //@{
mbed_official 146:f64d43ff0c18 1864 #define BP_SDHC_PROCTL_SABGREQ (16U) //!< Bit position for SDHC_PROCTL_SABGREQ.
mbed_official 146:f64d43ff0c18 1865 #define BM_SDHC_PROCTL_SABGREQ (0x00010000U) //!< Bit mask for SDHC_PROCTL_SABGREQ.
mbed_official 146:f64d43ff0c18 1866 #define BS_SDHC_PROCTL_SABGREQ (1U) //!< Bit field size in bits for SDHC_PROCTL_SABGREQ.
mbed_official 146:f64d43ff0c18 1867
mbed_official 146:f64d43ff0c18 1868 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1869 //! @brief Read current value of the SDHC_PROCTL_SABGREQ field.
mbed_official 146:f64d43ff0c18 1870 #define BR_SDHC_PROCTL_SABGREQ (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_SABGREQ))
mbed_official 146:f64d43ff0c18 1871 #endif
mbed_official 146:f64d43ff0c18 1872
mbed_official 146:f64d43ff0c18 1873 //! @brief Format value for bitfield SDHC_PROCTL_SABGREQ.
mbed_official 146:f64d43ff0c18 1874 #define BF_SDHC_PROCTL_SABGREQ(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_SABGREQ), uint32_t) & BM_SDHC_PROCTL_SABGREQ)
mbed_official 146:f64d43ff0c18 1875
mbed_official 146:f64d43ff0c18 1876 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1877 //! @brief Set the SABGREQ field to a new value.
mbed_official 146:f64d43ff0c18 1878 #define BW_SDHC_PROCTL_SABGREQ(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_SABGREQ) = (v))
mbed_official 146:f64d43ff0c18 1879 #endif
mbed_official 146:f64d43ff0c18 1880 //@}
mbed_official 146:f64d43ff0c18 1881
mbed_official 146:f64d43ff0c18 1882 /*!
mbed_official 146:f64d43ff0c18 1883 * @name Register SDHC_PROCTL, field CREQ[17] (RW)
mbed_official 146:f64d43ff0c18 1884 *
mbed_official 146:f64d43ff0c18 1885 * Used to restart a transaction which was stopped using the PROCTL[SABGREQ].
mbed_official 146:f64d43ff0c18 1886 * When a suspend operation is not accepted by the card, it is also by setting this
mbed_official 146:f64d43ff0c18 1887 * bit to restart the paused transfer. To cancel stop at the block gap, set
mbed_official 146:f64d43ff0c18 1888 * PROCTL[SABGREQ] to 0 and set this bit to 1 to restart the transfer. The SDHC
mbed_official 146:f64d43ff0c18 1889 * automatically clears this bit, therefore it is not necessary for the host driver to
mbed_official 146:f64d43ff0c18 1890 * set this bit to 0. If both PROCTL[SABGREQ] and this bit are 1, the continue
mbed_official 146:f64d43ff0c18 1891 * request is ignored.
mbed_official 146:f64d43ff0c18 1892 *
mbed_official 146:f64d43ff0c18 1893 * Values:
mbed_official 146:f64d43ff0c18 1894 * - 0 - No effect.
mbed_official 146:f64d43ff0c18 1895 * - 1 - Restart
mbed_official 146:f64d43ff0c18 1896 */
mbed_official 146:f64d43ff0c18 1897 //@{
mbed_official 146:f64d43ff0c18 1898 #define BP_SDHC_PROCTL_CREQ (17U) //!< Bit position for SDHC_PROCTL_CREQ.
mbed_official 146:f64d43ff0c18 1899 #define BM_SDHC_PROCTL_CREQ (0x00020000U) //!< Bit mask for SDHC_PROCTL_CREQ.
mbed_official 146:f64d43ff0c18 1900 #define BS_SDHC_PROCTL_CREQ (1U) //!< Bit field size in bits for SDHC_PROCTL_CREQ.
mbed_official 146:f64d43ff0c18 1901
mbed_official 146:f64d43ff0c18 1902 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1903 //! @brief Read current value of the SDHC_PROCTL_CREQ field.
mbed_official 146:f64d43ff0c18 1904 #define BR_SDHC_PROCTL_CREQ (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CREQ))
mbed_official 146:f64d43ff0c18 1905 #endif
mbed_official 146:f64d43ff0c18 1906
mbed_official 146:f64d43ff0c18 1907 //! @brief Format value for bitfield SDHC_PROCTL_CREQ.
mbed_official 146:f64d43ff0c18 1908 #define BF_SDHC_PROCTL_CREQ(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_CREQ), uint32_t) & BM_SDHC_PROCTL_CREQ)
mbed_official 146:f64d43ff0c18 1909
mbed_official 146:f64d43ff0c18 1910 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1911 //! @brief Set the CREQ field to a new value.
mbed_official 146:f64d43ff0c18 1912 #define BW_SDHC_PROCTL_CREQ(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_CREQ) = (v))
mbed_official 146:f64d43ff0c18 1913 #endif
mbed_official 146:f64d43ff0c18 1914 //@}
mbed_official 146:f64d43ff0c18 1915
mbed_official 146:f64d43ff0c18 1916 /*!
mbed_official 146:f64d43ff0c18 1917 * @name Register SDHC_PROCTL, field RWCTL[18] (RW)
mbed_official 146:f64d43ff0c18 1918 *
mbed_official 146:f64d43ff0c18 1919 * The read wait function is optional for SDIO cards. If the card supports read
mbed_official 146:f64d43ff0c18 1920 * wait, set this bit to enable use of the read wait protocol to stop read data
mbed_official 146:f64d43ff0c18 1921 * using the DAT[2] line. Otherwise, the SDHC has to stop the SD Clock to hold
mbed_official 146:f64d43ff0c18 1922 * read data, which restricts commands generation. When the host driver detects an
mbed_official 146:f64d43ff0c18 1923 * SDIO card insertion, it shall set this bit according to the CCCR of the card.
mbed_official 146:f64d43ff0c18 1924 * If the card does not support read wait, this bit shall never be set to 1,
mbed_official 146:f64d43ff0c18 1925 * otherwise DAT line conflicts may occur. If this bit is set to 0, stop at block gap
mbed_official 146:f64d43ff0c18 1926 * during read operation is also supported, but the SDHC will stop the SD Clock
mbed_official 146:f64d43ff0c18 1927 * to pause reading operation.
mbed_official 146:f64d43ff0c18 1928 *
mbed_official 146:f64d43ff0c18 1929 * Values:
mbed_official 146:f64d43ff0c18 1930 * - 0 - Disable read wait control, and stop SD clock at block gap when SABGREQ
mbed_official 146:f64d43ff0c18 1931 * is set.
mbed_official 146:f64d43ff0c18 1932 * - 1 - Enable read wait control, and assert read wait without stopping SD
mbed_official 146:f64d43ff0c18 1933 * clock at block gap when SABGREQ bit is set.
mbed_official 146:f64d43ff0c18 1934 */
mbed_official 146:f64d43ff0c18 1935 //@{
mbed_official 146:f64d43ff0c18 1936 #define BP_SDHC_PROCTL_RWCTL (18U) //!< Bit position for SDHC_PROCTL_RWCTL.
mbed_official 146:f64d43ff0c18 1937 #define BM_SDHC_PROCTL_RWCTL (0x00040000U) //!< Bit mask for SDHC_PROCTL_RWCTL.
mbed_official 146:f64d43ff0c18 1938 #define BS_SDHC_PROCTL_RWCTL (1U) //!< Bit field size in bits for SDHC_PROCTL_RWCTL.
mbed_official 146:f64d43ff0c18 1939
mbed_official 146:f64d43ff0c18 1940 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1941 //! @brief Read current value of the SDHC_PROCTL_RWCTL field.
mbed_official 146:f64d43ff0c18 1942 #define BR_SDHC_PROCTL_RWCTL (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_RWCTL))
mbed_official 146:f64d43ff0c18 1943 #endif
mbed_official 146:f64d43ff0c18 1944
mbed_official 146:f64d43ff0c18 1945 //! @brief Format value for bitfield SDHC_PROCTL_RWCTL.
mbed_official 146:f64d43ff0c18 1946 #define BF_SDHC_PROCTL_RWCTL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_RWCTL), uint32_t) & BM_SDHC_PROCTL_RWCTL)
mbed_official 146:f64d43ff0c18 1947
mbed_official 146:f64d43ff0c18 1948 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1949 //! @brief Set the RWCTL field to a new value.
mbed_official 146:f64d43ff0c18 1950 #define BW_SDHC_PROCTL_RWCTL(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_RWCTL) = (v))
mbed_official 146:f64d43ff0c18 1951 #endif
mbed_official 146:f64d43ff0c18 1952 //@}
mbed_official 146:f64d43ff0c18 1953
mbed_official 146:f64d43ff0c18 1954 /*!
mbed_official 146:f64d43ff0c18 1955 * @name Register SDHC_PROCTL, field IABG[19] (RW)
mbed_official 146:f64d43ff0c18 1956 *
mbed_official 146:f64d43ff0c18 1957 * Valid only in 4-bit mode, of the SDIO card, and selects a sample point in the
mbed_official 146:f64d43ff0c18 1958 * interrupt cycle. Setting to 1 enables interrupt detection at the block gap
mbed_official 146:f64d43ff0c18 1959 * for a multiple block transfer. Setting to 0 disables interrupt detection during
mbed_official 146:f64d43ff0c18 1960 * a multiple block transfer. If the SDIO card can't signal an interrupt during a
mbed_official 146:f64d43ff0c18 1961 * multiple block transfer, this bit must be set to 0 to avoid an inadvertent
mbed_official 146:f64d43ff0c18 1962 * interrupt. When the host driver detects an SDIO card insertion, it shall set
mbed_official 146:f64d43ff0c18 1963 * this bit according to the CCCR of the card.
mbed_official 146:f64d43ff0c18 1964 *
mbed_official 146:f64d43ff0c18 1965 * Values:
mbed_official 146:f64d43ff0c18 1966 * - 0 - Disabled
mbed_official 146:f64d43ff0c18 1967 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 1968 */
mbed_official 146:f64d43ff0c18 1969 //@{
mbed_official 146:f64d43ff0c18 1970 #define BP_SDHC_PROCTL_IABG (19U) //!< Bit position for SDHC_PROCTL_IABG.
mbed_official 146:f64d43ff0c18 1971 #define BM_SDHC_PROCTL_IABG (0x00080000U) //!< Bit mask for SDHC_PROCTL_IABG.
mbed_official 146:f64d43ff0c18 1972 #define BS_SDHC_PROCTL_IABG (1U) //!< Bit field size in bits for SDHC_PROCTL_IABG.
mbed_official 146:f64d43ff0c18 1973
mbed_official 146:f64d43ff0c18 1974 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1975 //! @brief Read current value of the SDHC_PROCTL_IABG field.
mbed_official 146:f64d43ff0c18 1976 #define BR_SDHC_PROCTL_IABG (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_IABG))
mbed_official 146:f64d43ff0c18 1977 #endif
mbed_official 146:f64d43ff0c18 1978
mbed_official 146:f64d43ff0c18 1979 //! @brief Format value for bitfield SDHC_PROCTL_IABG.
mbed_official 146:f64d43ff0c18 1980 #define BF_SDHC_PROCTL_IABG(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_IABG), uint32_t) & BM_SDHC_PROCTL_IABG)
mbed_official 146:f64d43ff0c18 1981
mbed_official 146:f64d43ff0c18 1982 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 1983 //! @brief Set the IABG field to a new value.
mbed_official 146:f64d43ff0c18 1984 #define BW_SDHC_PROCTL_IABG(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_IABG) = (v))
mbed_official 146:f64d43ff0c18 1985 #endif
mbed_official 146:f64d43ff0c18 1986 //@}
mbed_official 146:f64d43ff0c18 1987
mbed_official 146:f64d43ff0c18 1988 /*!
mbed_official 146:f64d43ff0c18 1989 * @name Register SDHC_PROCTL, field WECINT[24] (RW)
mbed_official 146:f64d43ff0c18 1990 *
mbed_official 146:f64d43ff0c18 1991 * Enables a wakeup event, via IRQSTAT[CINT]. This bit can be set to 1 if FN_WUS
mbed_official 146:f64d43ff0c18 1992 * (Wake Up Support) in CIS is set to 1. When this bit is set, the card
mbed_official 146:f64d43ff0c18 1993 * interrupt status and the SDHC interrupt can be asserted without SD_CLK toggling. When
mbed_official 146:f64d43ff0c18 1994 * the wakeup feature is not enabled, the SD_CLK must be active to assert the
mbed_official 146:f64d43ff0c18 1995 * card interrupt status and the SDHC interrupt.
mbed_official 146:f64d43ff0c18 1996 *
mbed_official 146:f64d43ff0c18 1997 * Values:
mbed_official 146:f64d43ff0c18 1998 * - 0 - Disabled
mbed_official 146:f64d43ff0c18 1999 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 2000 */
mbed_official 146:f64d43ff0c18 2001 //@{
mbed_official 146:f64d43ff0c18 2002 #define BP_SDHC_PROCTL_WECINT (24U) //!< Bit position for SDHC_PROCTL_WECINT.
mbed_official 146:f64d43ff0c18 2003 #define BM_SDHC_PROCTL_WECINT (0x01000000U) //!< Bit mask for SDHC_PROCTL_WECINT.
mbed_official 146:f64d43ff0c18 2004 #define BS_SDHC_PROCTL_WECINT (1U) //!< Bit field size in bits for SDHC_PROCTL_WECINT.
mbed_official 146:f64d43ff0c18 2005
mbed_official 146:f64d43ff0c18 2006 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2007 //! @brief Read current value of the SDHC_PROCTL_WECINT field.
mbed_official 146:f64d43ff0c18 2008 #define BR_SDHC_PROCTL_WECINT (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECINT))
mbed_official 146:f64d43ff0c18 2009 #endif
mbed_official 146:f64d43ff0c18 2010
mbed_official 146:f64d43ff0c18 2011 //! @brief Format value for bitfield SDHC_PROCTL_WECINT.
mbed_official 146:f64d43ff0c18 2012 #define BF_SDHC_PROCTL_WECINT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_WECINT), uint32_t) & BM_SDHC_PROCTL_WECINT)
mbed_official 146:f64d43ff0c18 2013
mbed_official 146:f64d43ff0c18 2014 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2015 //! @brief Set the WECINT field to a new value.
mbed_official 146:f64d43ff0c18 2016 #define BW_SDHC_PROCTL_WECINT(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECINT) = (v))
mbed_official 146:f64d43ff0c18 2017 #endif
mbed_official 146:f64d43ff0c18 2018 //@}
mbed_official 146:f64d43ff0c18 2019
mbed_official 146:f64d43ff0c18 2020 /*!
mbed_official 146:f64d43ff0c18 2021 * @name Register SDHC_PROCTL, field WECINS[25] (RW)
mbed_official 146:f64d43ff0c18 2022 *
mbed_official 146:f64d43ff0c18 2023 * Enables a wakeup event, via IRQSTAT[CINS]. FN_WUS (Wake Up Support) in CIS
mbed_official 146:f64d43ff0c18 2024 * does not effect this bit. When this bit is set, IRQSTATEN[CINSEN] and the SDHC
mbed_official 146:f64d43ff0c18 2025 * interrupt can be asserted without SD_CLK toggling. When the wakeup feature is
mbed_official 146:f64d43ff0c18 2026 * not enabled, the SD_CLK must be active to assert IRQSTATEN[CINSEN] and the SDHC
mbed_official 146:f64d43ff0c18 2027 * interrupt.
mbed_official 146:f64d43ff0c18 2028 *
mbed_official 146:f64d43ff0c18 2029 * Values:
mbed_official 146:f64d43ff0c18 2030 * - 0 - Disabled
mbed_official 146:f64d43ff0c18 2031 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 2032 */
mbed_official 146:f64d43ff0c18 2033 //@{
mbed_official 146:f64d43ff0c18 2034 #define BP_SDHC_PROCTL_WECINS (25U) //!< Bit position for SDHC_PROCTL_WECINS.
mbed_official 146:f64d43ff0c18 2035 #define BM_SDHC_PROCTL_WECINS (0x02000000U) //!< Bit mask for SDHC_PROCTL_WECINS.
mbed_official 146:f64d43ff0c18 2036 #define BS_SDHC_PROCTL_WECINS (1U) //!< Bit field size in bits for SDHC_PROCTL_WECINS.
mbed_official 146:f64d43ff0c18 2037
mbed_official 146:f64d43ff0c18 2038 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2039 //! @brief Read current value of the SDHC_PROCTL_WECINS field.
mbed_official 146:f64d43ff0c18 2040 #define BR_SDHC_PROCTL_WECINS (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECINS))
mbed_official 146:f64d43ff0c18 2041 #endif
mbed_official 146:f64d43ff0c18 2042
mbed_official 146:f64d43ff0c18 2043 //! @brief Format value for bitfield SDHC_PROCTL_WECINS.
mbed_official 146:f64d43ff0c18 2044 #define BF_SDHC_PROCTL_WECINS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_WECINS), uint32_t) & BM_SDHC_PROCTL_WECINS)
mbed_official 146:f64d43ff0c18 2045
mbed_official 146:f64d43ff0c18 2046 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2047 //! @brief Set the WECINS field to a new value.
mbed_official 146:f64d43ff0c18 2048 #define BW_SDHC_PROCTL_WECINS(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECINS) = (v))
mbed_official 146:f64d43ff0c18 2049 #endif
mbed_official 146:f64d43ff0c18 2050 //@}
mbed_official 146:f64d43ff0c18 2051
mbed_official 146:f64d43ff0c18 2052 /*!
mbed_official 146:f64d43ff0c18 2053 * @name Register SDHC_PROCTL, field WECRM[26] (RW)
mbed_official 146:f64d43ff0c18 2054 *
mbed_official 146:f64d43ff0c18 2055 * Enables a wakeup event, via IRQSTAT[CRM]. FN_WUS (Wake Up Support) in CIS
mbed_official 146:f64d43ff0c18 2056 * does not effect this bit. When this bit is set, IRQSTAT[CRM] and the SDHC
mbed_official 146:f64d43ff0c18 2057 * interrupt can be asserted without SD_CLK toggling. When the wakeup feature is not
mbed_official 146:f64d43ff0c18 2058 * enabled, the SD_CLK must be active to assert IRQSTAT[CRM] and the SDHC interrupt.
mbed_official 146:f64d43ff0c18 2059 *
mbed_official 146:f64d43ff0c18 2060 * Values:
mbed_official 146:f64d43ff0c18 2061 * - 0 - Disabled
mbed_official 146:f64d43ff0c18 2062 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 2063 */
mbed_official 146:f64d43ff0c18 2064 //@{
mbed_official 146:f64d43ff0c18 2065 #define BP_SDHC_PROCTL_WECRM (26U) //!< Bit position for SDHC_PROCTL_WECRM.
mbed_official 146:f64d43ff0c18 2066 #define BM_SDHC_PROCTL_WECRM (0x04000000U) //!< Bit mask for SDHC_PROCTL_WECRM.
mbed_official 146:f64d43ff0c18 2067 #define BS_SDHC_PROCTL_WECRM (1U) //!< Bit field size in bits for SDHC_PROCTL_WECRM.
mbed_official 146:f64d43ff0c18 2068
mbed_official 146:f64d43ff0c18 2069 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2070 //! @brief Read current value of the SDHC_PROCTL_WECRM field.
mbed_official 146:f64d43ff0c18 2071 #define BR_SDHC_PROCTL_WECRM (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECRM))
mbed_official 146:f64d43ff0c18 2072 #endif
mbed_official 146:f64d43ff0c18 2073
mbed_official 146:f64d43ff0c18 2074 //! @brief Format value for bitfield SDHC_PROCTL_WECRM.
mbed_official 146:f64d43ff0c18 2075 #define BF_SDHC_PROCTL_WECRM(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_PROCTL_WECRM), uint32_t) & BM_SDHC_PROCTL_WECRM)
mbed_official 146:f64d43ff0c18 2076
mbed_official 146:f64d43ff0c18 2077 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2078 //! @brief Set the WECRM field to a new value.
mbed_official 146:f64d43ff0c18 2079 #define BW_SDHC_PROCTL_WECRM(v) (BITBAND_ACCESS32(HW_SDHC_PROCTL_ADDR, BP_SDHC_PROCTL_WECRM) = (v))
mbed_official 146:f64d43ff0c18 2080 #endif
mbed_official 146:f64d43ff0c18 2081 //@}
mbed_official 146:f64d43ff0c18 2082
mbed_official 146:f64d43ff0c18 2083 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 2084 // HW_SDHC_SYSCTL - System Control register
mbed_official 146:f64d43ff0c18 2085 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 2086
mbed_official 146:f64d43ff0c18 2087 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2088 /*!
mbed_official 146:f64d43ff0c18 2089 * @brief HW_SDHC_SYSCTL - System Control register (RW)
mbed_official 146:f64d43ff0c18 2090 *
mbed_official 146:f64d43ff0c18 2091 * Reset value: 0x00008008U
mbed_official 146:f64d43ff0c18 2092 */
mbed_official 146:f64d43ff0c18 2093 typedef union _hw_sdhc_sysctl
mbed_official 146:f64d43ff0c18 2094 {
mbed_official 146:f64d43ff0c18 2095 uint32_t U;
mbed_official 146:f64d43ff0c18 2096 struct _hw_sdhc_sysctl_bitfields
mbed_official 146:f64d43ff0c18 2097 {
mbed_official 146:f64d43ff0c18 2098 uint32_t IPGEN : 1; //!< [0] IPG Clock Enable
mbed_official 146:f64d43ff0c18 2099 uint32_t HCKEN : 1; //!< [1] System Clock Enable
mbed_official 146:f64d43ff0c18 2100 uint32_t PEREN : 1; //!< [2] Peripheral Clock Enable
mbed_official 146:f64d43ff0c18 2101 uint32_t SDCLKEN : 1; //!< [3] SD Clock Enable
mbed_official 146:f64d43ff0c18 2102 uint32_t DVS : 4; //!< [7:4] Divisor
mbed_official 146:f64d43ff0c18 2103 uint32_t SDCLKFS : 8; //!< [15:8] SDCLK Frequency Select
mbed_official 146:f64d43ff0c18 2104 uint32_t DTOCV : 4; //!< [19:16] Data Timeout Counter Value
mbed_official 146:f64d43ff0c18 2105 uint32_t RESERVED0 : 4; //!< [23:20]
mbed_official 146:f64d43ff0c18 2106 uint32_t RSTA : 1; //!< [24] Software Reset For ALL
mbed_official 146:f64d43ff0c18 2107 uint32_t RSTC : 1; //!< [25] Software Reset For CMD Line
mbed_official 146:f64d43ff0c18 2108 uint32_t RSTD : 1; //!< [26] Software Reset For DAT Line
mbed_official 146:f64d43ff0c18 2109 uint32_t INITA : 1; //!< [27] Initialization Active
mbed_official 146:f64d43ff0c18 2110 uint32_t RESERVED1 : 4; //!< [31:28]
mbed_official 146:f64d43ff0c18 2111 } B;
mbed_official 146:f64d43ff0c18 2112 } hw_sdhc_sysctl_t;
mbed_official 146:f64d43ff0c18 2113 #endif
mbed_official 146:f64d43ff0c18 2114
mbed_official 146:f64d43ff0c18 2115 /*!
mbed_official 146:f64d43ff0c18 2116 * @name Constants and macros for entire SDHC_SYSCTL register
mbed_official 146:f64d43ff0c18 2117 */
mbed_official 146:f64d43ff0c18 2118 //@{
mbed_official 146:f64d43ff0c18 2119 #define HW_SDHC_SYSCTL_ADDR (REGS_SDHC_BASE + 0x2CU)
mbed_official 146:f64d43ff0c18 2120
mbed_official 146:f64d43ff0c18 2121 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2122 #define HW_SDHC_SYSCTL (*(__IO hw_sdhc_sysctl_t *) HW_SDHC_SYSCTL_ADDR)
mbed_official 146:f64d43ff0c18 2123 #define HW_SDHC_SYSCTL_RD() (HW_SDHC_SYSCTL.U)
mbed_official 146:f64d43ff0c18 2124 #define HW_SDHC_SYSCTL_WR(v) (HW_SDHC_SYSCTL.U = (v))
mbed_official 146:f64d43ff0c18 2125 #define HW_SDHC_SYSCTL_SET(v) (HW_SDHC_SYSCTL_WR(HW_SDHC_SYSCTL_RD() | (v)))
mbed_official 146:f64d43ff0c18 2126 #define HW_SDHC_SYSCTL_CLR(v) (HW_SDHC_SYSCTL_WR(HW_SDHC_SYSCTL_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 2127 #define HW_SDHC_SYSCTL_TOG(v) (HW_SDHC_SYSCTL_WR(HW_SDHC_SYSCTL_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 2128 #endif
mbed_official 146:f64d43ff0c18 2129 //@}
mbed_official 146:f64d43ff0c18 2130
mbed_official 146:f64d43ff0c18 2131 /*
mbed_official 146:f64d43ff0c18 2132 * Constants & macros for individual SDHC_SYSCTL bitfields
mbed_official 146:f64d43ff0c18 2133 */
mbed_official 146:f64d43ff0c18 2134
mbed_official 146:f64d43ff0c18 2135 /*!
mbed_official 146:f64d43ff0c18 2136 * @name Register SDHC_SYSCTL, field IPGEN[0] (RW)
mbed_official 146:f64d43ff0c18 2137 *
mbed_official 146:f64d43ff0c18 2138 * If this bit is set, bus clock will always be active and no automatic gating
mbed_official 146:f64d43ff0c18 2139 * is applied. The bus clock will be internally gated off, if none of the
mbed_official 146:f64d43ff0c18 2140 * following factors are met: The cmd part is reset, or Data part is reset, or Soft
mbed_official 146:f64d43ff0c18 2141 * reset, or The cmd is about to send, or Clock divisor is just updated, or Continue
mbed_official 146:f64d43ff0c18 2142 * request is just set, or This bit is set, or Card insertion is detected, or Card
mbed_official 146:f64d43ff0c18 2143 * removal is detected, or Card external interrupt is detected, or The SDHC
mbed_official 146:f64d43ff0c18 2144 * clock is not gated off The bus clock will not be auto gated off if the SDHC clock
mbed_official 146:f64d43ff0c18 2145 * is not gated off. So clearing only this bit has no effect unless the PEREN bit
mbed_official 146:f64d43ff0c18 2146 * is also cleared.
mbed_official 146:f64d43ff0c18 2147 *
mbed_official 146:f64d43ff0c18 2148 * Values:
mbed_official 146:f64d43ff0c18 2149 * - 0 - Bus clock will be internally gated off.
mbed_official 146:f64d43ff0c18 2150 * - 1 - Bus clock will not be automatically gated off.
mbed_official 146:f64d43ff0c18 2151 */
mbed_official 146:f64d43ff0c18 2152 //@{
mbed_official 146:f64d43ff0c18 2153 #define BP_SDHC_SYSCTL_IPGEN (0U) //!< Bit position for SDHC_SYSCTL_IPGEN.
mbed_official 146:f64d43ff0c18 2154 #define BM_SDHC_SYSCTL_IPGEN (0x00000001U) //!< Bit mask for SDHC_SYSCTL_IPGEN.
mbed_official 146:f64d43ff0c18 2155 #define BS_SDHC_SYSCTL_IPGEN (1U) //!< Bit field size in bits for SDHC_SYSCTL_IPGEN.
mbed_official 146:f64d43ff0c18 2156
mbed_official 146:f64d43ff0c18 2157 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2158 //! @brief Read current value of the SDHC_SYSCTL_IPGEN field.
mbed_official 146:f64d43ff0c18 2159 #define BR_SDHC_SYSCTL_IPGEN (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_IPGEN))
mbed_official 146:f64d43ff0c18 2160 #endif
mbed_official 146:f64d43ff0c18 2161
mbed_official 146:f64d43ff0c18 2162 //! @brief Format value for bitfield SDHC_SYSCTL_IPGEN.
mbed_official 146:f64d43ff0c18 2163 #define BF_SDHC_SYSCTL_IPGEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_IPGEN), uint32_t) & BM_SDHC_SYSCTL_IPGEN)
mbed_official 146:f64d43ff0c18 2164
mbed_official 146:f64d43ff0c18 2165 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2166 //! @brief Set the IPGEN field to a new value.
mbed_official 146:f64d43ff0c18 2167 #define BW_SDHC_SYSCTL_IPGEN(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_IPGEN) = (v))
mbed_official 146:f64d43ff0c18 2168 #endif
mbed_official 146:f64d43ff0c18 2169 //@}
mbed_official 146:f64d43ff0c18 2170
mbed_official 146:f64d43ff0c18 2171 /*!
mbed_official 146:f64d43ff0c18 2172 * @name Register SDHC_SYSCTL, field HCKEN[1] (RW)
mbed_official 146:f64d43ff0c18 2173 *
mbed_official 146:f64d43ff0c18 2174 * If this bit is set, system clock will always be active and no automatic
mbed_official 146:f64d43ff0c18 2175 * gating is applied. When this bit is cleared, system clock will be automatically off
mbed_official 146:f64d43ff0c18 2176 * when no data transfer is on the SD bus.
mbed_official 146:f64d43ff0c18 2177 *
mbed_official 146:f64d43ff0c18 2178 * Values:
mbed_official 146:f64d43ff0c18 2179 * - 0 - System clock will be internally gated off.
mbed_official 146:f64d43ff0c18 2180 * - 1 - System clock will not be automatically gated off.
mbed_official 146:f64d43ff0c18 2181 */
mbed_official 146:f64d43ff0c18 2182 //@{
mbed_official 146:f64d43ff0c18 2183 #define BP_SDHC_SYSCTL_HCKEN (1U) //!< Bit position for SDHC_SYSCTL_HCKEN.
mbed_official 146:f64d43ff0c18 2184 #define BM_SDHC_SYSCTL_HCKEN (0x00000002U) //!< Bit mask for SDHC_SYSCTL_HCKEN.
mbed_official 146:f64d43ff0c18 2185 #define BS_SDHC_SYSCTL_HCKEN (1U) //!< Bit field size in bits for SDHC_SYSCTL_HCKEN.
mbed_official 146:f64d43ff0c18 2186
mbed_official 146:f64d43ff0c18 2187 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2188 //! @brief Read current value of the SDHC_SYSCTL_HCKEN field.
mbed_official 146:f64d43ff0c18 2189 #define BR_SDHC_SYSCTL_HCKEN (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_HCKEN))
mbed_official 146:f64d43ff0c18 2190 #endif
mbed_official 146:f64d43ff0c18 2191
mbed_official 146:f64d43ff0c18 2192 //! @brief Format value for bitfield SDHC_SYSCTL_HCKEN.
mbed_official 146:f64d43ff0c18 2193 #define BF_SDHC_SYSCTL_HCKEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_HCKEN), uint32_t) & BM_SDHC_SYSCTL_HCKEN)
mbed_official 146:f64d43ff0c18 2194
mbed_official 146:f64d43ff0c18 2195 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2196 //! @brief Set the HCKEN field to a new value.
mbed_official 146:f64d43ff0c18 2197 #define BW_SDHC_SYSCTL_HCKEN(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_HCKEN) = (v))
mbed_official 146:f64d43ff0c18 2198 #endif
mbed_official 146:f64d43ff0c18 2199 //@}
mbed_official 146:f64d43ff0c18 2200
mbed_official 146:f64d43ff0c18 2201 /*!
mbed_official 146:f64d43ff0c18 2202 * @name Register SDHC_SYSCTL, field PEREN[2] (RW)
mbed_official 146:f64d43ff0c18 2203 *
mbed_official 146:f64d43ff0c18 2204 * If this bit is set, SDHC clock will always be active and no automatic gating
mbed_official 146:f64d43ff0c18 2205 * is applied. Thus the SDCLK is active except for when auto gating-off during
mbed_official 146:f64d43ff0c18 2206 * buffer danger (buffer about to over-run or under-run). When this bit is cleared,
mbed_official 146:f64d43ff0c18 2207 * the SDHC clock will be automatically off whenever there is no transaction on
mbed_official 146:f64d43ff0c18 2208 * the SD bus. Because this bit is only a feature enabling bit, clearing this bit
mbed_official 146:f64d43ff0c18 2209 * does not stop SDCLK immediately. The SDHC clock will be internally gated off,
mbed_official 146:f64d43ff0c18 2210 * if none of the following factors are met: The cmd part is reset, or Data part
mbed_official 146:f64d43ff0c18 2211 * is reset, or A soft reset, or The cmd is about to send, or Clock divisor is
mbed_official 146:f64d43ff0c18 2212 * just updated, or Continue request is just set, or This bit is set, or Card
mbed_official 146:f64d43ff0c18 2213 * insertion is detected, or Card removal is detected, or Card external interrupt is
mbed_official 146:f64d43ff0c18 2214 * detected, or 80 clocks for initialization phase is ongoing
mbed_official 146:f64d43ff0c18 2215 *
mbed_official 146:f64d43ff0c18 2216 * Values:
mbed_official 146:f64d43ff0c18 2217 * - 0 - SDHC clock will be internally gated off.
mbed_official 146:f64d43ff0c18 2218 * - 1 - SDHC clock will not be automatically gated off.
mbed_official 146:f64d43ff0c18 2219 */
mbed_official 146:f64d43ff0c18 2220 //@{
mbed_official 146:f64d43ff0c18 2221 #define BP_SDHC_SYSCTL_PEREN (2U) //!< Bit position for SDHC_SYSCTL_PEREN.
mbed_official 146:f64d43ff0c18 2222 #define BM_SDHC_SYSCTL_PEREN (0x00000004U) //!< Bit mask for SDHC_SYSCTL_PEREN.
mbed_official 146:f64d43ff0c18 2223 #define BS_SDHC_SYSCTL_PEREN (1U) //!< Bit field size in bits for SDHC_SYSCTL_PEREN.
mbed_official 146:f64d43ff0c18 2224
mbed_official 146:f64d43ff0c18 2225 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2226 //! @brief Read current value of the SDHC_SYSCTL_PEREN field.
mbed_official 146:f64d43ff0c18 2227 #define BR_SDHC_SYSCTL_PEREN (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_PEREN))
mbed_official 146:f64d43ff0c18 2228 #endif
mbed_official 146:f64d43ff0c18 2229
mbed_official 146:f64d43ff0c18 2230 //! @brief Format value for bitfield SDHC_SYSCTL_PEREN.
mbed_official 146:f64d43ff0c18 2231 #define BF_SDHC_SYSCTL_PEREN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_PEREN), uint32_t) & BM_SDHC_SYSCTL_PEREN)
mbed_official 146:f64d43ff0c18 2232
mbed_official 146:f64d43ff0c18 2233 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2234 //! @brief Set the PEREN field to a new value.
mbed_official 146:f64d43ff0c18 2235 #define BW_SDHC_SYSCTL_PEREN(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_PEREN) = (v))
mbed_official 146:f64d43ff0c18 2236 #endif
mbed_official 146:f64d43ff0c18 2237 //@}
mbed_official 146:f64d43ff0c18 2238
mbed_official 146:f64d43ff0c18 2239 /*!
mbed_official 146:f64d43ff0c18 2240 * @name Register SDHC_SYSCTL, field SDCLKEN[3] (RW)
mbed_official 146:f64d43ff0c18 2241 *
mbed_official 146:f64d43ff0c18 2242 * The host controller shall stop SDCLK when writing this bit to 0. SDCLK
mbed_official 146:f64d43ff0c18 2243 * frequency can be changed when this bit is 0. Then, the host controller shall
mbed_official 146:f64d43ff0c18 2244 * maintain the same clock frequency until SDCLK is stopped (stop at SDCLK = 0). If the
mbed_official 146:f64d43ff0c18 2245 * IRQSTAT[CINS] is cleared, this bit must be cleared by the host driver to save
mbed_official 146:f64d43ff0c18 2246 * power.
mbed_official 146:f64d43ff0c18 2247 */
mbed_official 146:f64d43ff0c18 2248 //@{
mbed_official 146:f64d43ff0c18 2249 #define BP_SDHC_SYSCTL_SDCLKEN (3U) //!< Bit position for SDHC_SYSCTL_SDCLKEN.
mbed_official 146:f64d43ff0c18 2250 #define BM_SDHC_SYSCTL_SDCLKEN (0x00000008U) //!< Bit mask for SDHC_SYSCTL_SDCLKEN.
mbed_official 146:f64d43ff0c18 2251 #define BS_SDHC_SYSCTL_SDCLKEN (1U) //!< Bit field size in bits for SDHC_SYSCTL_SDCLKEN.
mbed_official 146:f64d43ff0c18 2252
mbed_official 146:f64d43ff0c18 2253 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2254 //! @brief Read current value of the SDHC_SYSCTL_SDCLKEN field.
mbed_official 146:f64d43ff0c18 2255 #define BR_SDHC_SYSCTL_SDCLKEN (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_SDCLKEN))
mbed_official 146:f64d43ff0c18 2256 #endif
mbed_official 146:f64d43ff0c18 2257
mbed_official 146:f64d43ff0c18 2258 //! @brief Format value for bitfield SDHC_SYSCTL_SDCLKEN.
mbed_official 146:f64d43ff0c18 2259 #define BF_SDHC_SYSCTL_SDCLKEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_SDCLKEN), uint32_t) & BM_SDHC_SYSCTL_SDCLKEN)
mbed_official 146:f64d43ff0c18 2260
mbed_official 146:f64d43ff0c18 2261 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2262 //! @brief Set the SDCLKEN field to a new value.
mbed_official 146:f64d43ff0c18 2263 #define BW_SDHC_SYSCTL_SDCLKEN(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_SDCLKEN) = (v))
mbed_official 146:f64d43ff0c18 2264 #endif
mbed_official 146:f64d43ff0c18 2265 //@}
mbed_official 146:f64d43ff0c18 2266
mbed_official 146:f64d43ff0c18 2267 /*!
mbed_official 146:f64d43ff0c18 2268 * @name Register SDHC_SYSCTL, field DVS[7:4] (RW)
mbed_official 146:f64d43ff0c18 2269 *
mbed_official 146:f64d43ff0c18 2270 * Used to provide a more exact divisor to generate the desired SD clock
mbed_official 146:f64d43ff0c18 2271 * frequency. Note the divider can even support odd divisor without deterioration of
mbed_official 146:f64d43ff0c18 2272 * duty cycle. The setting are as following:
mbed_official 146:f64d43ff0c18 2273 *
mbed_official 146:f64d43ff0c18 2274 * Values:
mbed_official 146:f64d43ff0c18 2275 * - 0 - Divisor by 1.
mbed_official 146:f64d43ff0c18 2276 * - 1 - Divisor by 2.
mbed_official 146:f64d43ff0c18 2277 * - 1110 - Divisor by 15.
mbed_official 146:f64d43ff0c18 2278 * - 1111 - Divisor by 16.
mbed_official 146:f64d43ff0c18 2279 */
mbed_official 146:f64d43ff0c18 2280 //@{
mbed_official 146:f64d43ff0c18 2281 #define BP_SDHC_SYSCTL_DVS (4U) //!< Bit position for SDHC_SYSCTL_DVS.
mbed_official 146:f64d43ff0c18 2282 #define BM_SDHC_SYSCTL_DVS (0x000000F0U) //!< Bit mask for SDHC_SYSCTL_DVS.
mbed_official 146:f64d43ff0c18 2283 #define BS_SDHC_SYSCTL_DVS (4U) //!< Bit field size in bits for SDHC_SYSCTL_DVS.
mbed_official 146:f64d43ff0c18 2284
mbed_official 146:f64d43ff0c18 2285 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2286 //! @brief Read current value of the SDHC_SYSCTL_DVS field.
mbed_official 146:f64d43ff0c18 2287 #define BR_SDHC_SYSCTL_DVS (HW_SDHC_SYSCTL.B.DVS)
mbed_official 146:f64d43ff0c18 2288 #endif
mbed_official 146:f64d43ff0c18 2289
mbed_official 146:f64d43ff0c18 2290 //! @brief Format value for bitfield SDHC_SYSCTL_DVS.
mbed_official 146:f64d43ff0c18 2291 #define BF_SDHC_SYSCTL_DVS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_DVS), uint32_t) & BM_SDHC_SYSCTL_DVS)
mbed_official 146:f64d43ff0c18 2292
mbed_official 146:f64d43ff0c18 2293 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2294 //! @brief Set the DVS field to a new value.
mbed_official 146:f64d43ff0c18 2295 #define BW_SDHC_SYSCTL_DVS(v) (HW_SDHC_SYSCTL_WR((HW_SDHC_SYSCTL_RD() & ~BM_SDHC_SYSCTL_DVS) | BF_SDHC_SYSCTL_DVS(v)))
mbed_official 146:f64d43ff0c18 2296 #endif
mbed_official 146:f64d43ff0c18 2297 //@}
mbed_official 146:f64d43ff0c18 2298
mbed_official 146:f64d43ff0c18 2299 /*!
mbed_official 146:f64d43ff0c18 2300 * @name Register SDHC_SYSCTL, field SDCLKFS[15:8] (RW)
mbed_official 146:f64d43ff0c18 2301 *
mbed_official 146:f64d43ff0c18 2302 * Used to select the frequency of the SDCLK pin. The frequency is not
mbed_official 146:f64d43ff0c18 2303 * programmed directly. Rather this register holds the prescaler (this register) and
mbed_official 146:f64d43ff0c18 2304 * divisor (next register) of the base clock frequency register. Setting 00h bypasses
mbed_official 146:f64d43ff0c18 2305 * the frequency prescaler of the SD Clock. Multiple bits must not be set, or the
mbed_official 146:f64d43ff0c18 2306 * behavior of this prescaler is undefined. The two default divider values can
mbed_official 146:f64d43ff0c18 2307 * be calculated by the frequency of SDHC clock and the following divisor bits.
mbed_official 146:f64d43ff0c18 2308 * The frequency of SDCLK is set by the following formula: Clock frequency = (Base
mbed_official 146:f64d43ff0c18 2309 * clock) / (prescaler x divisor) For example, if the base clock frequency is 96
mbed_official 146:f64d43ff0c18 2310 * MHz, and the target frequency is 25 MHz, then choosing the prescaler value of
mbed_official 146:f64d43ff0c18 2311 * 01h and divisor value of 1h will yield 24 MHz, which is the nearest frequency
mbed_official 146:f64d43ff0c18 2312 * less than or equal to the target. Similarly, to approach a clock value of 400
mbed_official 146:f64d43ff0c18 2313 * kHz, the prescaler value of 08h and divisor value of eh yields the exact clock
mbed_official 146:f64d43ff0c18 2314 * value of 400 kHz. The reset value of this field is 80h, so if the input base
mbed_official 146:f64d43ff0c18 2315 * clock ( SDHC clock ) is about 96 MHz, the default SD clock after reset is 375
mbed_official 146:f64d43ff0c18 2316 * kHz. According to the SD Physical Specification Version 1.1 and the SDIO Card
mbed_official 146:f64d43ff0c18 2317 * Specification Version 1.2, the maximum SD clock frequency is 50 MHz and shall
mbed_official 146:f64d43ff0c18 2318 * never exceed this limit. Only the following settings are allowed:
mbed_official 146:f64d43ff0c18 2319 *
mbed_official 146:f64d43ff0c18 2320 * Values:
mbed_official 146:f64d43ff0c18 2321 * - 1 - Base clock divided by 2.
mbed_official 146:f64d43ff0c18 2322 * - 10 - Base clock divided by 4.
mbed_official 146:f64d43ff0c18 2323 * - 100 - Base clock divided by 8.
mbed_official 146:f64d43ff0c18 2324 * - 1000 - Base clock divided by 16.
mbed_official 146:f64d43ff0c18 2325 * - 10000 - Base clock divided by 32.
mbed_official 146:f64d43ff0c18 2326 * - 100000 - Base clock divided by 64.
mbed_official 146:f64d43ff0c18 2327 * - 1000000 - Base clock divided by 128.
mbed_official 146:f64d43ff0c18 2328 * - 10000000 - Base clock divided by 256.
mbed_official 146:f64d43ff0c18 2329 */
mbed_official 146:f64d43ff0c18 2330 //@{
mbed_official 146:f64d43ff0c18 2331 #define BP_SDHC_SYSCTL_SDCLKFS (8U) //!< Bit position for SDHC_SYSCTL_SDCLKFS.
mbed_official 146:f64d43ff0c18 2332 #define BM_SDHC_SYSCTL_SDCLKFS (0x0000FF00U) //!< Bit mask for SDHC_SYSCTL_SDCLKFS.
mbed_official 146:f64d43ff0c18 2333 #define BS_SDHC_SYSCTL_SDCLKFS (8U) //!< Bit field size in bits for SDHC_SYSCTL_SDCLKFS.
mbed_official 146:f64d43ff0c18 2334
mbed_official 146:f64d43ff0c18 2335 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2336 //! @brief Read current value of the SDHC_SYSCTL_SDCLKFS field.
mbed_official 146:f64d43ff0c18 2337 #define BR_SDHC_SYSCTL_SDCLKFS (HW_SDHC_SYSCTL.B.SDCLKFS)
mbed_official 146:f64d43ff0c18 2338 #endif
mbed_official 146:f64d43ff0c18 2339
mbed_official 146:f64d43ff0c18 2340 //! @brief Format value for bitfield SDHC_SYSCTL_SDCLKFS.
mbed_official 146:f64d43ff0c18 2341 #define BF_SDHC_SYSCTL_SDCLKFS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_SDCLKFS), uint32_t) & BM_SDHC_SYSCTL_SDCLKFS)
mbed_official 146:f64d43ff0c18 2342
mbed_official 146:f64d43ff0c18 2343 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2344 //! @brief Set the SDCLKFS field to a new value.
mbed_official 146:f64d43ff0c18 2345 #define BW_SDHC_SYSCTL_SDCLKFS(v) (HW_SDHC_SYSCTL_WR((HW_SDHC_SYSCTL_RD() & ~BM_SDHC_SYSCTL_SDCLKFS) | BF_SDHC_SYSCTL_SDCLKFS(v)))
mbed_official 146:f64d43ff0c18 2346 #endif
mbed_official 146:f64d43ff0c18 2347 //@}
mbed_official 146:f64d43ff0c18 2348
mbed_official 146:f64d43ff0c18 2349 /*!
mbed_official 146:f64d43ff0c18 2350 * @name Register SDHC_SYSCTL, field DTOCV[19:16] (RW)
mbed_official 146:f64d43ff0c18 2351 *
mbed_official 146:f64d43ff0c18 2352 * Determines the interval by which DAT line timeouts are detected. See
mbed_official 146:f64d43ff0c18 2353 * IRQSTAT[DTOE] for information on factors that dictate time-out generation. Time-out
mbed_official 146:f64d43ff0c18 2354 * clock frequency will be generated by dividing the base clock SDCLK value by this
mbed_official 146:f64d43ff0c18 2355 * value. The host driver can clear IRQSTATEN[DTOESEN] to prevent inadvertent
mbed_official 146:f64d43ff0c18 2356 * time-out events.
mbed_official 146:f64d43ff0c18 2357 *
mbed_official 146:f64d43ff0c18 2358 * Values:
mbed_official 146:f64d43ff0c18 2359 * - 0000 - SDCLK x 2 13
mbed_official 146:f64d43ff0c18 2360 * - 0001 - SDCLK x 2 14
mbed_official 146:f64d43ff0c18 2361 * - 1110 - SDCLK x 2 27
mbed_official 146:f64d43ff0c18 2362 * - 1111 - Reserved
mbed_official 146:f64d43ff0c18 2363 */
mbed_official 146:f64d43ff0c18 2364 //@{
mbed_official 146:f64d43ff0c18 2365 #define BP_SDHC_SYSCTL_DTOCV (16U) //!< Bit position for SDHC_SYSCTL_DTOCV.
mbed_official 146:f64d43ff0c18 2366 #define BM_SDHC_SYSCTL_DTOCV (0x000F0000U) //!< Bit mask for SDHC_SYSCTL_DTOCV.
mbed_official 146:f64d43ff0c18 2367 #define BS_SDHC_SYSCTL_DTOCV (4U) //!< Bit field size in bits for SDHC_SYSCTL_DTOCV.
mbed_official 146:f64d43ff0c18 2368
mbed_official 146:f64d43ff0c18 2369 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2370 //! @brief Read current value of the SDHC_SYSCTL_DTOCV field.
mbed_official 146:f64d43ff0c18 2371 #define BR_SDHC_SYSCTL_DTOCV (HW_SDHC_SYSCTL.B.DTOCV)
mbed_official 146:f64d43ff0c18 2372 #endif
mbed_official 146:f64d43ff0c18 2373
mbed_official 146:f64d43ff0c18 2374 //! @brief Format value for bitfield SDHC_SYSCTL_DTOCV.
mbed_official 146:f64d43ff0c18 2375 #define BF_SDHC_SYSCTL_DTOCV(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_DTOCV), uint32_t) & BM_SDHC_SYSCTL_DTOCV)
mbed_official 146:f64d43ff0c18 2376
mbed_official 146:f64d43ff0c18 2377 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2378 //! @brief Set the DTOCV field to a new value.
mbed_official 146:f64d43ff0c18 2379 #define BW_SDHC_SYSCTL_DTOCV(v) (HW_SDHC_SYSCTL_WR((HW_SDHC_SYSCTL_RD() & ~BM_SDHC_SYSCTL_DTOCV) | BF_SDHC_SYSCTL_DTOCV(v)))
mbed_official 146:f64d43ff0c18 2380 #endif
mbed_official 146:f64d43ff0c18 2381 //@}
mbed_official 146:f64d43ff0c18 2382
mbed_official 146:f64d43ff0c18 2383 /*!
mbed_official 146:f64d43ff0c18 2384 * @name Register SDHC_SYSCTL, field RSTA[24] (WORZ)
mbed_official 146:f64d43ff0c18 2385 *
mbed_official 146:f64d43ff0c18 2386 * Effects the entire host controller except for the card detection circuit.
mbed_official 146:f64d43ff0c18 2387 * Register bits of type ROC, RW, RW1C, RWAC are cleared. During its initialization,
mbed_official 146:f64d43ff0c18 2388 * the host driver shall set this bit to 1 to reset the SDHC. The SDHC shall
mbed_official 146:f64d43ff0c18 2389 * reset this bit to 0 when the capabilities registers are valid and the host driver
mbed_official 146:f64d43ff0c18 2390 * can read them. Additional use of software reset for all does not affect the
mbed_official 146:f64d43ff0c18 2391 * value of the capabilities registers. After this bit is set, it is recommended
mbed_official 146:f64d43ff0c18 2392 * that the host driver reset the external card and reinitialize it.
mbed_official 146:f64d43ff0c18 2393 *
mbed_official 146:f64d43ff0c18 2394 * Values:
mbed_official 146:f64d43ff0c18 2395 * - 0 - No reset.
mbed_official 146:f64d43ff0c18 2396 * - 1 - Reset.
mbed_official 146:f64d43ff0c18 2397 */
mbed_official 146:f64d43ff0c18 2398 //@{
mbed_official 146:f64d43ff0c18 2399 #define BP_SDHC_SYSCTL_RSTA (24U) //!< Bit position for SDHC_SYSCTL_RSTA.
mbed_official 146:f64d43ff0c18 2400 #define BM_SDHC_SYSCTL_RSTA (0x01000000U) //!< Bit mask for SDHC_SYSCTL_RSTA.
mbed_official 146:f64d43ff0c18 2401 #define BS_SDHC_SYSCTL_RSTA (1U) //!< Bit field size in bits for SDHC_SYSCTL_RSTA.
mbed_official 146:f64d43ff0c18 2402
mbed_official 146:f64d43ff0c18 2403 //! @brief Format value for bitfield SDHC_SYSCTL_RSTA.
mbed_official 146:f64d43ff0c18 2404 #define BF_SDHC_SYSCTL_RSTA(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_RSTA), uint32_t) & BM_SDHC_SYSCTL_RSTA)
mbed_official 146:f64d43ff0c18 2405
mbed_official 146:f64d43ff0c18 2406 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2407 //! @brief Set the RSTA field to a new value.
mbed_official 146:f64d43ff0c18 2408 #define BW_SDHC_SYSCTL_RSTA(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_RSTA) = (v))
mbed_official 146:f64d43ff0c18 2409 #endif
mbed_official 146:f64d43ff0c18 2410 //@}
mbed_official 146:f64d43ff0c18 2411
mbed_official 146:f64d43ff0c18 2412 /*!
mbed_official 146:f64d43ff0c18 2413 * @name Register SDHC_SYSCTL, field RSTC[25] (WORZ)
mbed_official 146:f64d43ff0c18 2414 *
mbed_official 146:f64d43ff0c18 2415 * Only part of the command circuit is reset. The following registers and bits
mbed_official 146:f64d43ff0c18 2416 * are cleared by this bit: PRSSTAT[CIHB] IRQSTAT[CC]
mbed_official 146:f64d43ff0c18 2417 *
mbed_official 146:f64d43ff0c18 2418 * Values:
mbed_official 146:f64d43ff0c18 2419 * - 0 - No reset.
mbed_official 146:f64d43ff0c18 2420 * - 1 - Reset.
mbed_official 146:f64d43ff0c18 2421 */
mbed_official 146:f64d43ff0c18 2422 //@{
mbed_official 146:f64d43ff0c18 2423 #define BP_SDHC_SYSCTL_RSTC (25U) //!< Bit position for SDHC_SYSCTL_RSTC.
mbed_official 146:f64d43ff0c18 2424 #define BM_SDHC_SYSCTL_RSTC (0x02000000U) //!< Bit mask for SDHC_SYSCTL_RSTC.
mbed_official 146:f64d43ff0c18 2425 #define BS_SDHC_SYSCTL_RSTC (1U) //!< Bit field size in bits for SDHC_SYSCTL_RSTC.
mbed_official 146:f64d43ff0c18 2426
mbed_official 146:f64d43ff0c18 2427 //! @brief Format value for bitfield SDHC_SYSCTL_RSTC.
mbed_official 146:f64d43ff0c18 2428 #define BF_SDHC_SYSCTL_RSTC(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_RSTC), uint32_t) & BM_SDHC_SYSCTL_RSTC)
mbed_official 146:f64d43ff0c18 2429
mbed_official 146:f64d43ff0c18 2430 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2431 //! @brief Set the RSTC field to a new value.
mbed_official 146:f64d43ff0c18 2432 #define BW_SDHC_SYSCTL_RSTC(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_RSTC) = (v))
mbed_official 146:f64d43ff0c18 2433 #endif
mbed_official 146:f64d43ff0c18 2434 //@}
mbed_official 146:f64d43ff0c18 2435
mbed_official 146:f64d43ff0c18 2436 /*!
mbed_official 146:f64d43ff0c18 2437 * @name Register SDHC_SYSCTL, field RSTD[26] (WORZ)
mbed_official 146:f64d43ff0c18 2438 *
mbed_official 146:f64d43ff0c18 2439 * Only part of the data circuit is reset. DMA circuit is also reset. The
mbed_official 146:f64d43ff0c18 2440 * following registers and bits are cleared by this bit: Data Port register Buffer Is
mbed_official 146:f64d43ff0c18 2441 * Cleared And Initialized.Present State register Buffer Read Enable Buffer Write
mbed_official 146:f64d43ff0c18 2442 * Enable Read Transfer Active Write Transfer Active DAT Line Active Command
mbed_official 146:f64d43ff0c18 2443 * Inhibit (DAT) Protocol Control register Continue Request Stop At Block Gap Request
mbed_official 146:f64d43ff0c18 2444 * Interrupt Status register Buffer Read Ready Buffer Write Ready DMA Interrupt
mbed_official 146:f64d43ff0c18 2445 * Block Gap Event Transfer Complete
mbed_official 146:f64d43ff0c18 2446 *
mbed_official 146:f64d43ff0c18 2447 * Values:
mbed_official 146:f64d43ff0c18 2448 * - 0 - No reset.
mbed_official 146:f64d43ff0c18 2449 * - 1 - Reset.
mbed_official 146:f64d43ff0c18 2450 */
mbed_official 146:f64d43ff0c18 2451 //@{
mbed_official 146:f64d43ff0c18 2452 #define BP_SDHC_SYSCTL_RSTD (26U) //!< Bit position for SDHC_SYSCTL_RSTD.
mbed_official 146:f64d43ff0c18 2453 #define BM_SDHC_SYSCTL_RSTD (0x04000000U) //!< Bit mask for SDHC_SYSCTL_RSTD.
mbed_official 146:f64d43ff0c18 2454 #define BS_SDHC_SYSCTL_RSTD (1U) //!< Bit field size in bits for SDHC_SYSCTL_RSTD.
mbed_official 146:f64d43ff0c18 2455
mbed_official 146:f64d43ff0c18 2456 //! @brief Format value for bitfield SDHC_SYSCTL_RSTD.
mbed_official 146:f64d43ff0c18 2457 #define BF_SDHC_SYSCTL_RSTD(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_RSTD), uint32_t) & BM_SDHC_SYSCTL_RSTD)
mbed_official 146:f64d43ff0c18 2458
mbed_official 146:f64d43ff0c18 2459 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2460 //! @brief Set the RSTD field to a new value.
mbed_official 146:f64d43ff0c18 2461 #define BW_SDHC_SYSCTL_RSTD(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_RSTD) = (v))
mbed_official 146:f64d43ff0c18 2462 #endif
mbed_official 146:f64d43ff0c18 2463 //@}
mbed_official 146:f64d43ff0c18 2464
mbed_official 146:f64d43ff0c18 2465 /*!
mbed_official 146:f64d43ff0c18 2466 * @name Register SDHC_SYSCTL, field INITA[27] (RW)
mbed_official 146:f64d43ff0c18 2467 *
mbed_official 146:f64d43ff0c18 2468 * When this bit is set, 80 SD-clocks are sent to the card. After the 80 clocks
mbed_official 146:f64d43ff0c18 2469 * are sent, this bit is self-cleared. This bit is very useful during the card
mbed_official 146:f64d43ff0c18 2470 * power-up period when 74 SD-clocks are needed and the clock auto gating feature
mbed_official 146:f64d43ff0c18 2471 * is enabled. Writing 1 to this bit when this bit is already 1 has no effect.
mbed_official 146:f64d43ff0c18 2472 * Writing 0 to this bit at any time has no effect. When either of the PRSSTAT[CIHB]
mbed_official 146:f64d43ff0c18 2473 * and PRSSTAT[CDIHB] bits are set, writing 1 to this bit is ignored, that is,
mbed_official 146:f64d43ff0c18 2474 * when command line or data lines are active, write to this bit is not allowed.
mbed_official 146:f64d43ff0c18 2475 * On the otherhand, when this bit is set, that is, during intialization active
mbed_official 146:f64d43ff0c18 2476 * period, it is allowed to issue command, and the command bit stream will appear
mbed_official 146:f64d43ff0c18 2477 * on the CMD pad after all 80 clock cycles are done. So when this command ends,
mbed_official 146:f64d43ff0c18 2478 * the driver can make sure the 80 clock cycles are sent out. This is very useful
mbed_official 146:f64d43ff0c18 2479 * when the driver needs send 80 cycles to the card and does not want to wait
mbed_official 146:f64d43ff0c18 2480 * till this bit is self-cleared.
mbed_official 146:f64d43ff0c18 2481 */
mbed_official 146:f64d43ff0c18 2482 //@{
mbed_official 146:f64d43ff0c18 2483 #define BP_SDHC_SYSCTL_INITA (27U) //!< Bit position for SDHC_SYSCTL_INITA.
mbed_official 146:f64d43ff0c18 2484 #define BM_SDHC_SYSCTL_INITA (0x08000000U) //!< Bit mask for SDHC_SYSCTL_INITA.
mbed_official 146:f64d43ff0c18 2485 #define BS_SDHC_SYSCTL_INITA (1U) //!< Bit field size in bits for SDHC_SYSCTL_INITA.
mbed_official 146:f64d43ff0c18 2486
mbed_official 146:f64d43ff0c18 2487 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2488 //! @brief Read current value of the SDHC_SYSCTL_INITA field.
mbed_official 146:f64d43ff0c18 2489 #define BR_SDHC_SYSCTL_INITA (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_INITA))
mbed_official 146:f64d43ff0c18 2490 #endif
mbed_official 146:f64d43ff0c18 2491
mbed_official 146:f64d43ff0c18 2492 //! @brief Format value for bitfield SDHC_SYSCTL_INITA.
mbed_official 146:f64d43ff0c18 2493 #define BF_SDHC_SYSCTL_INITA(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_SYSCTL_INITA), uint32_t) & BM_SDHC_SYSCTL_INITA)
mbed_official 146:f64d43ff0c18 2494
mbed_official 146:f64d43ff0c18 2495 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2496 //! @brief Set the INITA field to a new value.
mbed_official 146:f64d43ff0c18 2497 #define BW_SDHC_SYSCTL_INITA(v) (BITBAND_ACCESS32(HW_SDHC_SYSCTL_ADDR, BP_SDHC_SYSCTL_INITA) = (v))
mbed_official 146:f64d43ff0c18 2498 #endif
mbed_official 146:f64d43ff0c18 2499 //@}
mbed_official 146:f64d43ff0c18 2500
mbed_official 146:f64d43ff0c18 2501 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 2502 // HW_SDHC_IRQSTAT - Interrupt Status register
mbed_official 146:f64d43ff0c18 2503 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 2504
mbed_official 146:f64d43ff0c18 2505 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2506 /*!
mbed_official 146:f64d43ff0c18 2507 * @brief HW_SDHC_IRQSTAT - Interrupt Status register (RW)
mbed_official 146:f64d43ff0c18 2508 *
mbed_official 146:f64d43ff0c18 2509 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 2510 *
mbed_official 146:f64d43ff0c18 2511 * An interrupt is generated when the Normal Interrupt Signal Enable is enabled
mbed_official 146:f64d43ff0c18 2512 * and at least one of the status bits is set to 1. For all bits, writing 1 to a
mbed_official 146:f64d43ff0c18 2513 * bit clears it; writing to 0 keeps the bit unchanged. More than one status can
mbed_official 146:f64d43ff0c18 2514 * be cleared with a single register write. For Card Interrupt, before writing 1
mbed_official 146:f64d43ff0c18 2515 * to clear, it is required that the card stops asserting the interrupt, meaning
mbed_official 146:f64d43ff0c18 2516 * that when the Card Driver services the interrupt condition, otherwise the CINT
mbed_official 146:f64d43ff0c18 2517 * bit will be asserted again. The table below shows the relationship between
mbed_official 146:f64d43ff0c18 2518 * the CTOE and the CC bits. SDHC status for CTOE/CC bit combinations Command
mbed_official 146:f64d43ff0c18 2519 * complete Command timeout error Meaning of the status 0 0 X X 1 Response not
mbed_official 146:f64d43ff0c18 2520 * received within 64 SDCLK cycles 1 0 Response received The table below shows the
mbed_official 146:f64d43ff0c18 2521 * relationship between the Transfer Complete and the Data Timeout Error. SDHC status
mbed_official 146:f64d43ff0c18 2522 * for data timeout error/transfer complete bit combinations Transfer complete
mbed_official 146:f64d43ff0c18 2523 * Data timeout error Meaning of the status 0 0 X 0 1 Timeout occurred during
mbed_official 146:f64d43ff0c18 2524 * transfer 1 X Data transfer complete The table below shows the relationship between
mbed_official 146:f64d43ff0c18 2525 * the command CRC Error (CCE) and Command Timeout Error (CTOE). SDHC status for
mbed_official 146:f64d43ff0c18 2526 * CCE/CTOE Bit Combinations Command complete Command timeout error Meaning of
mbed_official 146:f64d43ff0c18 2527 * the status 0 0 No error 0 1 Response timeout error 1 0 Response CRC error 1 1
mbed_official 146:f64d43ff0c18 2528 * CMD line conflict
mbed_official 146:f64d43ff0c18 2529 */
mbed_official 146:f64d43ff0c18 2530 typedef union _hw_sdhc_irqstat
mbed_official 146:f64d43ff0c18 2531 {
mbed_official 146:f64d43ff0c18 2532 uint32_t U;
mbed_official 146:f64d43ff0c18 2533 struct _hw_sdhc_irqstat_bitfields
mbed_official 146:f64d43ff0c18 2534 {
mbed_official 146:f64d43ff0c18 2535 uint32_t CC : 1; //!< [0] Command Complete
mbed_official 146:f64d43ff0c18 2536 uint32_t TC : 1; //!< [1] Transfer Complete
mbed_official 146:f64d43ff0c18 2537 uint32_t BGE : 1; //!< [2] Block Gap Event
mbed_official 146:f64d43ff0c18 2538 uint32_t DINT : 1; //!< [3] DMA Interrupt
mbed_official 146:f64d43ff0c18 2539 uint32_t BWR : 1; //!< [4] Buffer Write Ready
mbed_official 146:f64d43ff0c18 2540 uint32_t BRR : 1; //!< [5] Buffer Read Ready
mbed_official 146:f64d43ff0c18 2541 uint32_t CINS : 1; //!< [6] Card Insertion
mbed_official 146:f64d43ff0c18 2542 uint32_t CRM : 1; //!< [7] Card Removal
mbed_official 146:f64d43ff0c18 2543 uint32_t CINT : 1; //!< [8] Card Interrupt
mbed_official 146:f64d43ff0c18 2544 uint32_t RESERVED0 : 7; //!< [15:9]
mbed_official 146:f64d43ff0c18 2545 uint32_t CTOE : 1; //!< [16] Command Timeout Error
mbed_official 146:f64d43ff0c18 2546 uint32_t CCE : 1; //!< [17] Command CRC Error
mbed_official 146:f64d43ff0c18 2547 uint32_t CEBE : 1; //!< [18] Command End Bit Error
mbed_official 146:f64d43ff0c18 2548 uint32_t CIE : 1; //!< [19] Command Index Error
mbed_official 146:f64d43ff0c18 2549 uint32_t DTOE : 1; //!< [20] Data Timeout Error
mbed_official 146:f64d43ff0c18 2550 uint32_t DCE : 1; //!< [21] Data CRC Error
mbed_official 146:f64d43ff0c18 2551 uint32_t DEBE : 1; //!< [22] Data End Bit Error
mbed_official 146:f64d43ff0c18 2552 uint32_t RESERVED1 : 1; //!< [23]
mbed_official 146:f64d43ff0c18 2553 uint32_t AC12E : 1; //!< [24] Auto CMD12 Error
mbed_official 146:f64d43ff0c18 2554 uint32_t RESERVED2 : 3; //!< [27:25]
mbed_official 146:f64d43ff0c18 2555 uint32_t DMAE : 1; //!< [28] DMA Error
mbed_official 146:f64d43ff0c18 2556 uint32_t RESERVED3 : 3; //!< [31:29]
mbed_official 146:f64d43ff0c18 2557 } B;
mbed_official 146:f64d43ff0c18 2558 } hw_sdhc_irqstat_t;
mbed_official 146:f64d43ff0c18 2559 #endif
mbed_official 146:f64d43ff0c18 2560
mbed_official 146:f64d43ff0c18 2561 /*!
mbed_official 146:f64d43ff0c18 2562 * @name Constants and macros for entire SDHC_IRQSTAT register
mbed_official 146:f64d43ff0c18 2563 */
mbed_official 146:f64d43ff0c18 2564 //@{
mbed_official 146:f64d43ff0c18 2565 #define HW_SDHC_IRQSTAT_ADDR (REGS_SDHC_BASE + 0x30U)
mbed_official 146:f64d43ff0c18 2566
mbed_official 146:f64d43ff0c18 2567 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2568 #define HW_SDHC_IRQSTAT (*(__IO hw_sdhc_irqstat_t *) HW_SDHC_IRQSTAT_ADDR)
mbed_official 146:f64d43ff0c18 2569 #define HW_SDHC_IRQSTAT_RD() (HW_SDHC_IRQSTAT.U)
mbed_official 146:f64d43ff0c18 2570 #define HW_SDHC_IRQSTAT_WR(v) (HW_SDHC_IRQSTAT.U = (v))
mbed_official 146:f64d43ff0c18 2571 #define HW_SDHC_IRQSTAT_SET(v) (HW_SDHC_IRQSTAT_WR(HW_SDHC_IRQSTAT_RD() | (v)))
mbed_official 146:f64d43ff0c18 2572 #define HW_SDHC_IRQSTAT_CLR(v) (HW_SDHC_IRQSTAT_WR(HW_SDHC_IRQSTAT_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 2573 #define HW_SDHC_IRQSTAT_TOG(v) (HW_SDHC_IRQSTAT_WR(HW_SDHC_IRQSTAT_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 2574 #endif
mbed_official 146:f64d43ff0c18 2575 //@}
mbed_official 146:f64d43ff0c18 2576
mbed_official 146:f64d43ff0c18 2577 /*
mbed_official 146:f64d43ff0c18 2578 * Constants & macros for individual SDHC_IRQSTAT bitfields
mbed_official 146:f64d43ff0c18 2579 */
mbed_official 146:f64d43ff0c18 2580
mbed_official 146:f64d43ff0c18 2581 /*!
mbed_official 146:f64d43ff0c18 2582 * @name Register SDHC_IRQSTAT, field CC[0] (W1C)
mbed_official 146:f64d43ff0c18 2583 *
mbed_official 146:f64d43ff0c18 2584 * This bit is set when you receive the end bit of the command response, except
mbed_official 146:f64d43ff0c18 2585 * Auto CMD12. See PRSSTAT[CIHB].
mbed_official 146:f64d43ff0c18 2586 *
mbed_official 146:f64d43ff0c18 2587 * Values:
mbed_official 146:f64d43ff0c18 2588 * - 0 - Command not complete.
mbed_official 146:f64d43ff0c18 2589 * - 1 - Command complete.
mbed_official 146:f64d43ff0c18 2590 */
mbed_official 146:f64d43ff0c18 2591 //@{
mbed_official 146:f64d43ff0c18 2592 #define BP_SDHC_IRQSTAT_CC (0U) //!< Bit position for SDHC_IRQSTAT_CC.
mbed_official 146:f64d43ff0c18 2593 #define BM_SDHC_IRQSTAT_CC (0x00000001U) //!< Bit mask for SDHC_IRQSTAT_CC.
mbed_official 146:f64d43ff0c18 2594 #define BS_SDHC_IRQSTAT_CC (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CC.
mbed_official 146:f64d43ff0c18 2595
mbed_official 146:f64d43ff0c18 2596 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2597 //! @brief Read current value of the SDHC_IRQSTAT_CC field.
mbed_official 146:f64d43ff0c18 2598 #define BR_SDHC_IRQSTAT_CC (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CC))
mbed_official 146:f64d43ff0c18 2599 #endif
mbed_official 146:f64d43ff0c18 2600
mbed_official 146:f64d43ff0c18 2601 //! @brief Format value for bitfield SDHC_IRQSTAT_CC.
mbed_official 146:f64d43ff0c18 2602 #define BF_SDHC_IRQSTAT_CC(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CC), uint32_t) & BM_SDHC_IRQSTAT_CC)
mbed_official 146:f64d43ff0c18 2603
mbed_official 146:f64d43ff0c18 2604 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2605 //! @brief Set the CC field to a new value.
mbed_official 146:f64d43ff0c18 2606 #define BW_SDHC_IRQSTAT_CC(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CC) = (v))
mbed_official 146:f64d43ff0c18 2607 #endif
mbed_official 146:f64d43ff0c18 2608 //@}
mbed_official 146:f64d43ff0c18 2609
mbed_official 146:f64d43ff0c18 2610 /*!
mbed_official 146:f64d43ff0c18 2611 * @name Register SDHC_IRQSTAT, field TC[1] (W1C)
mbed_official 146:f64d43ff0c18 2612 *
mbed_official 146:f64d43ff0c18 2613 * This bit is set when a read or write transfer is completed. In the case of a
mbed_official 146:f64d43ff0c18 2614 * read transaction: This bit is set at the falling edge of the read transfer
mbed_official 146:f64d43ff0c18 2615 * active status. There are two cases in which this interrupt is generated. The
mbed_official 146:f64d43ff0c18 2616 * first is when a data transfer is completed as specified by the data length, after
mbed_official 146:f64d43ff0c18 2617 * the last data has been read to the host system. The second is when data has
mbed_official 146:f64d43ff0c18 2618 * stopped at the block gap and completed the data transfer by setting
mbed_official 146:f64d43ff0c18 2619 * PROCTL[SABGREQ], after valid data has been read to the host system. In the case of a write
mbed_official 146:f64d43ff0c18 2620 * transaction: This bit is set at the falling edge of the DAT line active
mbed_official 146:f64d43ff0c18 2621 * status. There are two cases in which this interrupt is generated. The first is when
mbed_official 146:f64d43ff0c18 2622 * the last data is written to the SD card as specified by the data length and
mbed_official 146:f64d43ff0c18 2623 * the busy signal is released. The second is when data transfers are stopped at
mbed_official 146:f64d43ff0c18 2624 * the block gap, by setting PROCTL[SABGREQ], and the data transfers are
mbed_official 146:f64d43ff0c18 2625 * completed,after valid data is written to the SD card and the busy signal released.
mbed_official 146:f64d43ff0c18 2626 *
mbed_official 146:f64d43ff0c18 2627 * Values:
mbed_official 146:f64d43ff0c18 2628 * - 0 - Transfer not complete.
mbed_official 146:f64d43ff0c18 2629 * - 1 - Transfer complete.
mbed_official 146:f64d43ff0c18 2630 */
mbed_official 146:f64d43ff0c18 2631 //@{
mbed_official 146:f64d43ff0c18 2632 #define BP_SDHC_IRQSTAT_TC (1U) //!< Bit position for SDHC_IRQSTAT_TC.
mbed_official 146:f64d43ff0c18 2633 #define BM_SDHC_IRQSTAT_TC (0x00000002U) //!< Bit mask for SDHC_IRQSTAT_TC.
mbed_official 146:f64d43ff0c18 2634 #define BS_SDHC_IRQSTAT_TC (1U) //!< Bit field size in bits for SDHC_IRQSTAT_TC.
mbed_official 146:f64d43ff0c18 2635
mbed_official 146:f64d43ff0c18 2636 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2637 //! @brief Read current value of the SDHC_IRQSTAT_TC field.
mbed_official 146:f64d43ff0c18 2638 #define BR_SDHC_IRQSTAT_TC (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_TC))
mbed_official 146:f64d43ff0c18 2639 #endif
mbed_official 146:f64d43ff0c18 2640
mbed_official 146:f64d43ff0c18 2641 //! @brief Format value for bitfield SDHC_IRQSTAT_TC.
mbed_official 146:f64d43ff0c18 2642 #define BF_SDHC_IRQSTAT_TC(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_TC), uint32_t) & BM_SDHC_IRQSTAT_TC)
mbed_official 146:f64d43ff0c18 2643
mbed_official 146:f64d43ff0c18 2644 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2645 //! @brief Set the TC field to a new value.
mbed_official 146:f64d43ff0c18 2646 #define BW_SDHC_IRQSTAT_TC(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_TC) = (v))
mbed_official 146:f64d43ff0c18 2647 #endif
mbed_official 146:f64d43ff0c18 2648 //@}
mbed_official 146:f64d43ff0c18 2649
mbed_official 146:f64d43ff0c18 2650 /*!
mbed_official 146:f64d43ff0c18 2651 * @name Register SDHC_IRQSTAT, field BGE[2] (W1C)
mbed_official 146:f64d43ff0c18 2652 *
mbed_official 146:f64d43ff0c18 2653 * If PROCTL[SABGREQ] is set, this bit is set when a read or write transaction
mbed_official 146:f64d43ff0c18 2654 * is stopped at a block gap. If PROCTL[SABGREQ] is not set to 1, this bit is not
mbed_official 146:f64d43ff0c18 2655 * set to 1. In the case of a read transaction: This bit is set at the falling
mbed_official 146:f64d43ff0c18 2656 * edge of the DAT line active status, when the transaction is stopped at SD Bus
mbed_official 146:f64d43ff0c18 2657 * timing. The read wait must be supported in order to use this function. In the
mbed_official 146:f64d43ff0c18 2658 * case of write transaction: This bit is set at the falling edge of write transfer
mbed_official 146:f64d43ff0c18 2659 * active status, after getting CRC status at SD bus timing.
mbed_official 146:f64d43ff0c18 2660 *
mbed_official 146:f64d43ff0c18 2661 * Values:
mbed_official 146:f64d43ff0c18 2662 * - 0 - No block gap event.
mbed_official 146:f64d43ff0c18 2663 * - 1 - Transaction stopped at block gap.
mbed_official 146:f64d43ff0c18 2664 */
mbed_official 146:f64d43ff0c18 2665 //@{
mbed_official 146:f64d43ff0c18 2666 #define BP_SDHC_IRQSTAT_BGE (2U) //!< Bit position for SDHC_IRQSTAT_BGE.
mbed_official 146:f64d43ff0c18 2667 #define BM_SDHC_IRQSTAT_BGE (0x00000004U) //!< Bit mask for SDHC_IRQSTAT_BGE.
mbed_official 146:f64d43ff0c18 2668 #define BS_SDHC_IRQSTAT_BGE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_BGE.
mbed_official 146:f64d43ff0c18 2669
mbed_official 146:f64d43ff0c18 2670 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2671 //! @brief Read current value of the SDHC_IRQSTAT_BGE field.
mbed_official 146:f64d43ff0c18 2672 #define BR_SDHC_IRQSTAT_BGE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BGE))
mbed_official 146:f64d43ff0c18 2673 #endif
mbed_official 146:f64d43ff0c18 2674
mbed_official 146:f64d43ff0c18 2675 //! @brief Format value for bitfield SDHC_IRQSTAT_BGE.
mbed_official 146:f64d43ff0c18 2676 #define BF_SDHC_IRQSTAT_BGE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_BGE), uint32_t) & BM_SDHC_IRQSTAT_BGE)
mbed_official 146:f64d43ff0c18 2677
mbed_official 146:f64d43ff0c18 2678 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2679 //! @brief Set the BGE field to a new value.
mbed_official 146:f64d43ff0c18 2680 #define BW_SDHC_IRQSTAT_BGE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BGE) = (v))
mbed_official 146:f64d43ff0c18 2681 #endif
mbed_official 146:f64d43ff0c18 2682 //@}
mbed_official 146:f64d43ff0c18 2683
mbed_official 146:f64d43ff0c18 2684 /*!
mbed_official 146:f64d43ff0c18 2685 * @name Register SDHC_IRQSTAT, field DINT[3] (W1C)
mbed_official 146:f64d43ff0c18 2686 *
mbed_official 146:f64d43ff0c18 2687 * Occurs only when the internal DMA finishes the data transfer successfully.
mbed_official 146:f64d43ff0c18 2688 * Whenever errors occur during data transfer, this bit will not be set. Instead,
mbed_official 146:f64d43ff0c18 2689 * the DMAE bit will be set. Either Simple DMA or ADMA finishes data transferring,
mbed_official 146:f64d43ff0c18 2690 * this bit will be set.
mbed_official 146:f64d43ff0c18 2691 *
mbed_official 146:f64d43ff0c18 2692 * Values:
mbed_official 146:f64d43ff0c18 2693 * - 0 - No DMA Interrupt.
mbed_official 146:f64d43ff0c18 2694 * - 1 - DMA Interrupt is generated.
mbed_official 146:f64d43ff0c18 2695 */
mbed_official 146:f64d43ff0c18 2696 //@{
mbed_official 146:f64d43ff0c18 2697 #define BP_SDHC_IRQSTAT_DINT (3U) //!< Bit position for SDHC_IRQSTAT_DINT.
mbed_official 146:f64d43ff0c18 2698 #define BM_SDHC_IRQSTAT_DINT (0x00000008U) //!< Bit mask for SDHC_IRQSTAT_DINT.
mbed_official 146:f64d43ff0c18 2699 #define BS_SDHC_IRQSTAT_DINT (1U) //!< Bit field size in bits for SDHC_IRQSTAT_DINT.
mbed_official 146:f64d43ff0c18 2700
mbed_official 146:f64d43ff0c18 2701 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2702 //! @brief Read current value of the SDHC_IRQSTAT_DINT field.
mbed_official 146:f64d43ff0c18 2703 #define BR_SDHC_IRQSTAT_DINT (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DINT))
mbed_official 146:f64d43ff0c18 2704 #endif
mbed_official 146:f64d43ff0c18 2705
mbed_official 146:f64d43ff0c18 2706 //! @brief Format value for bitfield SDHC_IRQSTAT_DINT.
mbed_official 146:f64d43ff0c18 2707 #define BF_SDHC_IRQSTAT_DINT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_DINT), uint32_t) & BM_SDHC_IRQSTAT_DINT)
mbed_official 146:f64d43ff0c18 2708
mbed_official 146:f64d43ff0c18 2709 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2710 //! @brief Set the DINT field to a new value.
mbed_official 146:f64d43ff0c18 2711 #define BW_SDHC_IRQSTAT_DINT(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DINT) = (v))
mbed_official 146:f64d43ff0c18 2712 #endif
mbed_official 146:f64d43ff0c18 2713 //@}
mbed_official 146:f64d43ff0c18 2714
mbed_official 146:f64d43ff0c18 2715 /*!
mbed_official 146:f64d43ff0c18 2716 * @name Register SDHC_IRQSTAT, field BWR[4] (W1C)
mbed_official 146:f64d43ff0c18 2717 *
mbed_official 146:f64d43ff0c18 2718 * This status bit is set if the Buffer Write Enable bit, in the Present State
mbed_official 146:f64d43ff0c18 2719 * register, changes from 0 to 1. See the Buffer Write Enable bit in the Present
mbed_official 146:f64d43ff0c18 2720 * State register for additional information.
mbed_official 146:f64d43ff0c18 2721 *
mbed_official 146:f64d43ff0c18 2722 * Values:
mbed_official 146:f64d43ff0c18 2723 * - 0 - Not ready to write buffer.
mbed_official 146:f64d43ff0c18 2724 * - 1 - Ready to write buffer.
mbed_official 146:f64d43ff0c18 2725 */
mbed_official 146:f64d43ff0c18 2726 //@{
mbed_official 146:f64d43ff0c18 2727 #define BP_SDHC_IRQSTAT_BWR (4U) //!< Bit position for SDHC_IRQSTAT_BWR.
mbed_official 146:f64d43ff0c18 2728 #define BM_SDHC_IRQSTAT_BWR (0x00000010U) //!< Bit mask for SDHC_IRQSTAT_BWR.
mbed_official 146:f64d43ff0c18 2729 #define BS_SDHC_IRQSTAT_BWR (1U) //!< Bit field size in bits for SDHC_IRQSTAT_BWR.
mbed_official 146:f64d43ff0c18 2730
mbed_official 146:f64d43ff0c18 2731 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2732 //! @brief Read current value of the SDHC_IRQSTAT_BWR field.
mbed_official 146:f64d43ff0c18 2733 #define BR_SDHC_IRQSTAT_BWR (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BWR))
mbed_official 146:f64d43ff0c18 2734 #endif
mbed_official 146:f64d43ff0c18 2735
mbed_official 146:f64d43ff0c18 2736 //! @brief Format value for bitfield SDHC_IRQSTAT_BWR.
mbed_official 146:f64d43ff0c18 2737 #define BF_SDHC_IRQSTAT_BWR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_BWR), uint32_t) & BM_SDHC_IRQSTAT_BWR)
mbed_official 146:f64d43ff0c18 2738
mbed_official 146:f64d43ff0c18 2739 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2740 //! @brief Set the BWR field to a new value.
mbed_official 146:f64d43ff0c18 2741 #define BW_SDHC_IRQSTAT_BWR(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BWR) = (v))
mbed_official 146:f64d43ff0c18 2742 #endif
mbed_official 146:f64d43ff0c18 2743 //@}
mbed_official 146:f64d43ff0c18 2744
mbed_official 146:f64d43ff0c18 2745 /*!
mbed_official 146:f64d43ff0c18 2746 * @name Register SDHC_IRQSTAT, field BRR[5] (W1C)
mbed_official 146:f64d43ff0c18 2747 *
mbed_official 146:f64d43ff0c18 2748 * This status bit is set if the Buffer Read Enable bit, in the Present State
mbed_official 146:f64d43ff0c18 2749 * register, changes from 0 to 1. See the Buffer Read Enable bit in the Present
mbed_official 146:f64d43ff0c18 2750 * State register for additional information.
mbed_official 146:f64d43ff0c18 2751 *
mbed_official 146:f64d43ff0c18 2752 * Values:
mbed_official 146:f64d43ff0c18 2753 * - 0 - Not ready to read buffer.
mbed_official 146:f64d43ff0c18 2754 * - 1 - Ready to read buffer.
mbed_official 146:f64d43ff0c18 2755 */
mbed_official 146:f64d43ff0c18 2756 //@{
mbed_official 146:f64d43ff0c18 2757 #define BP_SDHC_IRQSTAT_BRR (5U) //!< Bit position for SDHC_IRQSTAT_BRR.
mbed_official 146:f64d43ff0c18 2758 #define BM_SDHC_IRQSTAT_BRR (0x00000020U) //!< Bit mask for SDHC_IRQSTAT_BRR.
mbed_official 146:f64d43ff0c18 2759 #define BS_SDHC_IRQSTAT_BRR (1U) //!< Bit field size in bits for SDHC_IRQSTAT_BRR.
mbed_official 146:f64d43ff0c18 2760
mbed_official 146:f64d43ff0c18 2761 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2762 //! @brief Read current value of the SDHC_IRQSTAT_BRR field.
mbed_official 146:f64d43ff0c18 2763 #define BR_SDHC_IRQSTAT_BRR (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BRR))
mbed_official 146:f64d43ff0c18 2764 #endif
mbed_official 146:f64d43ff0c18 2765
mbed_official 146:f64d43ff0c18 2766 //! @brief Format value for bitfield SDHC_IRQSTAT_BRR.
mbed_official 146:f64d43ff0c18 2767 #define BF_SDHC_IRQSTAT_BRR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_BRR), uint32_t) & BM_SDHC_IRQSTAT_BRR)
mbed_official 146:f64d43ff0c18 2768
mbed_official 146:f64d43ff0c18 2769 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2770 //! @brief Set the BRR field to a new value.
mbed_official 146:f64d43ff0c18 2771 #define BW_SDHC_IRQSTAT_BRR(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_BRR) = (v))
mbed_official 146:f64d43ff0c18 2772 #endif
mbed_official 146:f64d43ff0c18 2773 //@}
mbed_official 146:f64d43ff0c18 2774
mbed_official 146:f64d43ff0c18 2775 /*!
mbed_official 146:f64d43ff0c18 2776 * @name Register SDHC_IRQSTAT, field CINS[6] (W1C)
mbed_official 146:f64d43ff0c18 2777 *
mbed_official 146:f64d43ff0c18 2778 * This status bit is set if the Card Inserted bit in the Present State register
mbed_official 146:f64d43ff0c18 2779 * changes from 0 to 1. When the host driver writes this bit to 1 to clear this
mbed_official 146:f64d43ff0c18 2780 * status, the status of the Card Inserted in the Present State register must be
mbed_official 146:f64d43ff0c18 2781 * confirmed. Because the card state may possibly be changed when the host driver
mbed_official 146:f64d43ff0c18 2782 * clears this bit and the interrupt event may not be generated. When this bit
mbed_official 146:f64d43ff0c18 2783 * is cleared, it will be set again if a card is inserted. To leave it cleared,
mbed_official 146:f64d43ff0c18 2784 * clear the Card Inserted Status Enable bit in Interrupt Status Enable register.
mbed_official 146:f64d43ff0c18 2785 *
mbed_official 146:f64d43ff0c18 2786 * Values:
mbed_official 146:f64d43ff0c18 2787 * - 0 - Card state unstable or removed.
mbed_official 146:f64d43ff0c18 2788 * - 1 - Card inserted.
mbed_official 146:f64d43ff0c18 2789 */
mbed_official 146:f64d43ff0c18 2790 //@{
mbed_official 146:f64d43ff0c18 2791 #define BP_SDHC_IRQSTAT_CINS (6U) //!< Bit position for SDHC_IRQSTAT_CINS.
mbed_official 146:f64d43ff0c18 2792 #define BM_SDHC_IRQSTAT_CINS (0x00000040U) //!< Bit mask for SDHC_IRQSTAT_CINS.
mbed_official 146:f64d43ff0c18 2793 #define BS_SDHC_IRQSTAT_CINS (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CINS.
mbed_official 146:f64d43ff0c18 2794
mbed_official 146:f64d43ff0c18 2795 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2796 //! @brief Read current value of the SDHC_IRQSTAT_CINS field.
mbed_official 146:f64d43ff0c18 2797 #define BR_SDHC_IRQSTAT_CINS (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CINS))
mbed_official 146:f64d43ff0c18 2798 #endif
mbed_official 146:f64d43ff0c18 2799
mbed_official 146:f64d43ff0c18 2800 //! @brief Format value for bitfield SDHC_IRQSTAT_CINS.
mbed_official 146:f64d43ff0c18 2801 #define BF_SDHC_IRQSTAT_CINS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CINS), uint32_t) & BM_SDHC_IRQSTAT_CINS)
mbed_official 146:f64d43ff0c18 2802
mbed_official 146:f64d43ff0c18 2803 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2804 //! @brief Set the CINS field to a new value.
mbed_official 146:f64d43ff0c18 2805 #define BW_SDHC_IRQSTAT_CINS(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CINS) = (v))
mbed_official 146:f64d43ff0c18 2806 #endif
mbed_official 146:f64d43ff0c18 2807 //@}
mbed_official 146:f64d43ff0c18 2808
mbed_official 146:f64d43ff0c18 2809 /*!
mbed_official 146:f64d43ff0c18 2810 * @name Register SDHC_IRQSTAT, field CRM[7] (W1C)
mbed_official 146:f64d43ff0c18 2811 *
mbed_official 146:f64d43ff0c18 2812 * This status bit is set if the Card Inserted bit in the Present State register
mbed_official 146:f64d43ff0c18 2813 * changes from 1 to 0. When the host driver writes this bit to 1 to clear this
mbed_official 146:f64d43ff0c18 2814 * status, the status of the Card Inserted in the Present State register must be
mbed_official 146:f64d43ff0c18 2815 * confirmed. Because the card state may possibly be changed when the host driver
mbed_official 146:f64d43ff0c18 2816 * clears this bit and the interrupt event may not be generated. When this bit
mbed_official 146:f64d43ff0c18 2817 * is cleared, it will be set again if no card is inserted. To leave it cleared,
mbed_official 146:f64d43ff0c18 2818 * clear the Card Removal Status Enable bit in Interrupt Status Enable register.
mbed_official 146:f64d43ff0c18 2819 *
mbed_official 146:f64d43ff0c18 2820 * Values:
mbed_official 146:f64d43ff0c18 2821 * - 0 - Card state unstable or inserted.
mbed_official 146:f64d43ff0c18 2822 * - 1 - Card removed.
mbed_official 146:f64d43ff0c18 2823 */
mbed_official 146:f64d43ff0c18 2824 //@{
mbed_official 146:f64d43ff0c18 2825 #define BP_SDHC_IRQSTAT_CRM (7U) //!< Bit position for SDHC_IRQSTAT_CRM.
mbed_official 146:f64d43ff0c18 2826 #define BM_SDHC_IRQSTAT_CRM (0x00000080U) //!< Bit mask for SDHC_IRQSTAT_CRM.
mbed_official 146:f64d43ff0c18 2827 #define BS_SDHC_IRQSTAT_CRM (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CRM.
mbed_official 146:f64d43ff0c18 2828
mbed_official 146:f64d43ff0c18 2829 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2830 //! @brief Read current value of the SDHC_IRQSTAT_CRM field.
mbed_official 146:f64d43ff0c18 2831 #define BR_SDHC_IRQSTAT_CRM (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CRM))
mbed_official 146:f64d43ff0c18 2832 #endif
mbed_official 146:f64d43ff0c18 2833
mbed_official 146:f64d43ff0c18 2834 //! @brief Format value for bitfield SDHC_IRQSTAT_CRM.
mbed_official 146:f64d43ff0c18 2835 #define BF_SDHC_IRQSTAT_CRM(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CRM), uint32_t) & BM_SDHC_IRQSTAT_CRM)
mbed_official 146:f64d43ff0c18 2836
mbed_official 146:f64d43ff0c18 2837 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2838 //! @brief Set the CRM field to a new value.
mbed_official 146:f64d43ff0c18 2839 #define BW_SDHC_IRQSTAT_CRM(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CRM) = (v))
mbed_official 146:f64d43ff0c18 2840 #endif
mbed_official 146:f64d43ff0c18 2841 //@}
mbed_official 146:f64d43ff0c18 2842
mbed_official 146:f64d43ff0c18 2843 /*!
mbed_official 146:f64d43ff0c18 2844 * @name Register SDHC_IRQSTAT, field CINT[8] (W1C)
mbed_official 146:f64d43ff0c18 2845 *
mbed_official 146:f64d43ff0c18 2846 * This status bit is set when an interrupt signal is detected from the external
mbed_official 146:f64d43ff0c18 2847 * card. In 1-bit mode, the SDHC will detect the Card Interrupt without the SD
mbed_official 146:f64d43ff0c18 2848 * Clock to support wakeup. In 4-bit mode, the card interrupt signal is sampled
mbed_official 146:f64d43ff0c18 2849 * during the interrupt cycle, so the interrupt from card can only be sampled
mbed_official 146:f64d43ff0c18 2850 * during interrupt cycle, introducing some delay between the interrupt signal from
mbed_official 146:f64d43ff0c18 2851 * the SDIO card and the interrupt to the host system. Writing this bit to 1 can
mbed_official 146:f64d43ff0c18 2852 * clear this bit, but as the interrupt factor from the SDIO card does not clear,
mbed_official 146:f64d43ff0c18 2853 * this bit is set again. To clear this bit, it is required to reset the interrupt
mbed_official 146:f64d43ff0c18 2854 * factor from the external card followed by a writing 1 to this bit. When this
mbed_official 146:f64d43ff0c18 2855 * status has been set, and the host driver needs to service this interrupt, the
mbed_official 146:f64d43ff0c18 2856 * Card Interrupt Signal Enable in the Interrupt Signal Enable register should be
mbed_official 146:f64d43ff0c18 2857 * 0 to stop driving the interrupt signal to the host system. After completion
mbed_official 146:f64d43ff0c18 2858 * of the card interrupt service (it must reset the interrupt factors in the SDIO
mbed_official 146:f64d43ff0c18 2859 * card and the interrupt signal may not be asserted), write 1 to clear this bit,
mbed_official 146:f64d43ff0c18 2860 * set the Card Interrupt Signal Enable to 1, and start sampling the interrupt
mbed_official 146:f64d43ff0c18 2861 * signal again.
mbed_official 146:f64d43ff0c18 2862 *
mbed_official 146:f64d43ff0c18 2863 * Values:
mbed_official 146:f64d43ff0c18 2864 * - 0 - No Card Interrupt.
mbed_official 146:f64d43ff0c18 2865 * - 1 - Generate Card Interrupt.
mbed_official 146:f64d43ff0c18 2866 */
mbed_official 146:f64d43ff0c18 2867 //@{
mbed_official 146:f64d43ff0c18 2868 #define BP_SDHC_IRQSTAT_CINT (8U) //!< Bit position for SDHC_IRQSTAT_CINT.
mbed_official 146:f64d43ff0c18 2869 #define BM_SDHC_IRQSTAT_CINT (0x00000100U) //!< Bit mask for SDHC_IRQSTAT_CINT.
mbed_official 146:f64d43ff0c18 2870 #define BS_SDHC_IRQSTAT_CINT (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CINT.
mbed_official 146:f64d43ff0c18 2871
mbed_official 146:f64d43ff0c18 2872 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2873 //! @brief Read current value of the SDHC_IRQSTAT_CINT field.
mbed_official 146:f64d43ff0c18 2874 #define BR_SDHC_IRQSTAT_CINT (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CINT))
mbed_official 146:f64d43ff0c18 2875 #endif
mbed_official 146:f64d43ff0c18 2876
mbed_official 146:f64d43ff0c18 2877 //! @brief Format value for bitfield SDHC_IRQSTAT_CINT.
mbed_official 146:f64d43ff0c18 2878 #define BF_SDHC_IRQSTAT_CINT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CINT), uint32_t) & BM_SDHC_IRQSTAT_CINT)
mbed_official 146:f64d43ff0c18 2879
mbed_official 146:f64d43ff0c18 2880 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2881 //! @brief Set the CINT field to a new value.
mbed_official 146:f64d43ff0c18 2882 #define BW_SDHC_IRQSTAT_CINT(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CINT) = (v))
mbed_official 146:f64d43ff0c18 2883 #endif
mbed_official 146:f64d43ff0c18 2884 //@}
mbed_official 146:f64d43ff0c18 2885
mbed_official 146:f64d43ff0c18 2886 /*!
mbed_official 146:f64d43ff0c18 2887 * @name Register SDHC_IRQSTAT, field CTOE[16] (W1C)
mbed_official 146:f64d43ff0c18 2888 *
mbed_official 146:f64d43ff0c18 2889 * Occurs only if no response is returned within 64 SDCLK cycles from the end
mbed_official 146:f64d43ff0c18 2890 * bit of the command. If the SDHC detects a CMD line conflict, in which case a
mbed_official 146:f64d43ff0c18 2891 * Command CRC Error shall also be set, this bit shall be set without waiting for 64
mbed_official 146:f64d43ff0c18 2892 * SDCLK cycles. This is because the command will be aborted by the SDHC.
mbed_official 146:f64d43ff0c18 2893 *
mbed_official 146:f64d43ff0c18 2894 * Values:
mbed_official 146:f64d43ff0c18 2895 * - 0 - No error.
mbed_official 146:f64d43ff0c18 2896 * - 1 - Time out.
mbed_official 146:f64d43ff0c18 2897 */
mbed_official 146:f64d43ff0c18 2898 //@{
mbed_official 146:f64d43ff0c18 2899 #define BP_SDHC_IRQSTAT_CTOE (16U) //!< Bit position for SDHC_IRQSTAT_CTOE.
mbed_official 146:f64d43ff0c18 2900 #define BM_SDHC_IRQSTAT_CTOE (0x00010000U) //!< Bit mask for SDHC_IRQSTAT_CTOE.
mbed_official 146:f64d43ff0c18 2901 #define BS_SDHC_IRQSTAT_CTOE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CTOE.
mbed_official 146:f64d43ff0c18 2902
mbed_official 146:f64d43ff0c18 2903 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2904 //! @brief Read current value of the SDHC_IRQSTAT_CTOE field.
mbed_official 146:f64d43ff0c18 2905 #define BR_SDHC_IRQSTAT_CTOE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CTOE))
mbed_official 146:f64d43ff0c18 2906 #endif
mbed_official 146:f64d43ff0c18 2907
mbed_official 146:f64d43ff0c18 2908 //! @brief Format value for bitfield SDHC_IRQSTAT_CTOE.
mbed_official 146:f64d43ff0c18 2909 #define BF_SDHC_IRQSTAT_CTOE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CTOE), uint32_t) & BM_SDHC_IRQSTAT_CTOE)
mbed_official 146:f64d43ff0c18 2910
mbed_official 146:f64d43ff0c18 2911 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2912 //! @brief Set the CTOE field to a new value.
mbed_official 146:f64d43ff0c18 2913 #define BW_SDHC_IRQSTAT_CTOE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CTOE) = (v))
mbed_official 146:f64d43ff0c18 2914 #endif
mbed_official 146:f64d43ff0c18 2915 //@}
mbed_official 146:f64d43ff0c18 2916
mbed_official 146:f64d43ff0c18 2917 /*!
mbed_official 146:f64d43ff0c18 2918 * @name Register SDHC_IRQSTAT, field CCE[17] (W1C)
mbed_official 146:f64d43ff0c18 2919 *
mbed_official 146:f64d43ff0c18 2920 * Command CRC Error is generated in two cases. If a response is returned and
mbed_official 146:f64d43ff0c18 2921 * the Command Timeout Error is set to 0, indicating no time-out, this bit is set
mbed_official 146:f64d43ff0c18 2922 * when detecting a CRC error in the command response. The SDHC detects a CMD line
mbed_official 146:f64d43ff0c18 2923 * conflict by monitoring the CMD line when a command is issued. If the SDHC
mbed_official 146:f64d43ff0c18 2924 * drives the CMD line to 1, but detects 0 on the CMD line at the next SDCLK edge,
mbed_official 146:f64d43ff0c18 2925 * then the SDHC shall abort the command (Stop driving CMD line) and set this bit
mbed_official 146:f64d43ff0c18 2926 * to 1. The Command Timeout Error shall also be set to 1 to distinguish CMD line
mbed_official 146:f64d43ff0c18 2927 * conflict.
mbed_official 146:f64d43ff0c18 2928 *
mbed_official 146:f64d43ff0c18 2929 * Values:
mbed_official 146:f64d43ff0c18 2930 * - 0 - No error.
mbed_official 146:f64d43ff0c18 2931 * - 1 - CRC Error generated.
mbed_official 146:f64d43ff0c18 2932 */
mbed_official 146:f64d43ff0c18 2933 //@{
mbed_official 146:f64d43ff0c18 2934 #define BP_SDHC_IRQSTAT_CCE (17U) //!< Bit position for SDHC_IRQSTAT_CCE.
mbed_official 146:f64d43ff0c18 2935 #define BM_SDHC_IRQSTAT_CCE (0x00020000U) //!< Bit mask for SDHC_IRQSTAT_CCE.
mbed_official 146:f64d43ff0c18 2936 #define BS_SDHC_IRQSTAT_CCE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CCE.
mbed_official 146:f64d43ff0c18 2937
mbed_official 146:f64d43ff0c18 2938 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2939 //! @brief Read current value of the SDHC_IRQSTAT_CCE field.
mbed_official 146:f64d43ff0c18 2940 #define BR_SDHC_IRQSTAT_CCE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CCE))
mbed_official 146:f64d43ff0c18 2941 #endif
mbed_official 146:f64d43ff0c18 2942
mbed_official 146:f64d43ff0c18 2943 //! @brief Format value for bitfield SDHC_IRQSTAT_CCE.
mbed_official 146:f64d43ff0c18 2944 #define BF_SDHC_IRQSTAT_CCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CCE), uint32_t) & BM_SDHC_IRQSTAT_CCE)
mbed_official 146:f64d43ff0c18 2945
mbed_official 146:f64d43ff0c18 2946 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2947 //! @brief Set the CCE field to a new value.
mbed_official 146:f64d43ff0c18 2948 #define BW_SDHC_IRQSTAT_CCE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CCE) = (v))
mbed_official 146:f64d43ff0c18 2949 #endif
mbed_official 146:f64d43ff0c18 2950 //@}
mbed_official 146:f64d43ff0c18 2951
mbed_official 146:f64d43ff0c18 2952 /*!
mbed_official 146:f64d43ff0c18 2953 * @name Register SDHC_IRQSTAT, field CEBE[18] (W1C)
mbed_official 146:f64d43ff0c18 2954 *
mbed_official 146:f64d43ff0c18 2955 * Occurs when detecting that the end bit of a command response is 0.
mbed_official 146:f64d43ff0c18 2956 *
mbed_official 146:f64d43ff0c18 2957 * Values:
mbed_official 146:f64d43ff0c18 2958 * - 0 - No error.
mbed_official 146:f64d43ff0c18 2959 * - 1 - End Bit Error generated.
mbed_official 146:f64d43ff0c18 2960 */
mbed_official 146:f64d43ff0c18 2961 //@{
mbed_official 146:f64d43ff0c18 2962 #define BP_SDHC_IRQSTAT_CEBE (18U) //!< Bit position for SDHC_IRQSTAT_CEBE.
mbed_official 146:f64d43ff0c18 2963 #define BM_SDHC_IRQSTAT_CEBE (0x00040000U) //!< Bit mask for SDHC_IRQSTAT_CEBE.
mbed_official 146:f64d43ff0c18 2964 #define BS_SDHC_IRQSTAT_CEBE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CEBE.
mbed_official 146:f64d43ff0c18 2965
mbed_official 146:f64d43ff0c18 2966 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2967 //! @brief Read current value of the SDHC_IRQSTAT_CEBE field.
mbed_official 146:f64d43ff0c18 2968 #define BR_SDHC_IRQSTAT_CEBE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CEBE))
mbed_official 146:f64d43ff0c18 2969 #endif
mbed_official 146:f64d43ff0c18 2970
mbed_official 146:f64d43ff0c18 2971 //! @brief Format value for bitfield SDHC_IRQSTAT_CEBE.
mbed_official 146:f64d43ff0c18 2972 #define BF_SDHC_IRQSTAT_CEBE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CEBE), uint32_t) & BM_SDHC_IRQSTAT_CEBE)
mbed_official 146:f64d43ff0c18 2973
mbed_official 146:f64d43ff0c18 2974 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2975 //! @brief Set the CEBE field to a new value.
mbed_official 146:f64d43ff0c18 2976 #define BW_SDHC_IRQSTAT_CEBE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CEBE) = (v))
mbed_official 146:f64d43ff0c18 2977 #endif
mbed_official 146:f64d43ff0c18 2978 //@}
mbed_official 146:f64d43ff0c18 2979
mbed_official 146:f64d43ff0c18 2980 /*!
mbed_official 146:f64d43ff0c18 2981 * @name Register SDHC_IRQSTAT, field CIE[19] (W1C)
mbed_official 146:f64d43ff0c18 2982 *
mbed_official 146:f64d43ff0c18 2983 * Occurs if a Command Index error occurs in the command response.
mbed_official 146:f64d43ff0c18 2984 *
mbed_official 146:f64d43ff0c18 2985 * Values:
mbed_official 146:f64d43ff0c18 2986 * - 0 - No error.
mbed_official 146:f64d43ff0c18 2987 * - 1 - Error.
mbed_official 146:f64d43ff0c18 2988 */
mbed_official 146:f64d43ff0c18 2989 //@{
mbed_official 146:f64d43ff0c18 2990 #define BP_SDHC_IRQSTAT_CIE (19U) //!< Bit position for SDHC_IRQSTAT_CIE.
mbed_official 146:f64d43ff0c18 2991 #define BM_SDHC_IRQSTAT_CIE (0x00080000U) //!< Bit mask for SDHC_IRQSTAT_CIE.
mbed_official 146:f64d43ff0c18 2992 #define BS_SDHC_IRQSTAT_CIE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_CIE.
mbed_official 146:f64d43ff0c18 2993
mbed_official 146:f64d43ff0c18 2994 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 2995 //! @brief Read current value of the SDHC_IRQSTAT_CIE field.
mbed_official 146:f64d43ff0c18 2996 #define BR_SDHC_IRQSTAT_CIE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CIE))
mbed_official 146:f64d43ff0c18 2997 #endif
mbed_official 146:f64d43ff0c18 2998
mbed_official 146:f64d43ff0c18 2999 //! @brief Format value for bitfield SDHC_IRQSTAT_CIE.
mbed_official 146:f64d43ff0c18 3000 #define BF_SDHC_IRQSTAT_CIE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_CIE), uint32_t) & BM_SDHC_IRQSTAT_CIE)
mbed_official 146:f64d43ff0c18 3001
mbed_official 146:f64d43ff0c18 3002 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3003 //! @brief Set the CIE field to a new value.
mbed_official 146:f64d43ff0c18 3004 #define BW_SDHC_IRQSTAT_CIE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_CIE) = (v))
mbed_official 146:f64d43ff0c18 3005 #endif
mbed_official 146:f64d43ff0c18 3006 //@}
mbed_official 146:f64d43ff0c18 3007
mbed_official 146:f64d43ff0c18 3008 /*!
mbed_official 146:f64d43ff0c18 3009 * @name Register SDHC_IRQSTAT, field DTOE[20] (W1C)
mbed_official 146:f64d43ff0c18 3010 *
mbed_official 146:f64d43ff0c18 3011 * Occurs when detecting one of following time-out conditions. Busy time-out for
mbed_official 146:f64d43ff0c18 3012 * R1b,R5b type Busy time-out after Write CRC status Read Data time-out
mbed_official 146:f64d43ff0c18 3013 *
mbed_official 146:f64d43ff0c18 3014 * Values:
mbed_official 146:f64d43ff0c18 3015 * - 0 - No error.
mbed_official 146:f64d43ff0c18 3016 * - 1 - Time out.
mbed_official 146:f64d43ff0c18 3017 */
mbed_official 146:f64d43ff0c18 3018 //@{
mbed_official 146:f64d43ff0c18 3019 #define BP_SDHC_IRQSTAT_DTOE (20U) //!< Bit position for SDHC_IRQSTAT_DTOE.
mbed_official 146:f64d43ff0c18 3020 #define BM_SDHC_IRQSTAT_DTOE (0x00100000U) //!< Bit mask for SDHC_IRQSTAT_DTOE.
mbed_official 146:f64d43ff0c18 3021 #define BS_SDHC_IRQSTAT_DTOE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_DTOE.
mbed_official 146:f64d43ff0c18 3022
mbed_official 146:f64d43ff0c18 3023 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3024 //! @brief Read current value of the SDHC_IRQSTAT_DTOE field.
mbed_official 146:f64d43ff0c18 3025 #define BR_SDHC_IRQSTAT_DTOE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DTOE))
mbed_official 146:f64d43ff0c18 3026 #endif
mbed_official 146:f64d43ff0c18 3027
mbed_official 146:f64d43ff0c18 3028 //! @brief Format value for bitfield SDHC_IRQSTAT_DTOE.
mbed_official 146:f64d43ff0c18 3029 #define BF_SDHC_IRQSTAT_DTOE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_DTOE), uint32_t) & BM_SDHC_IRQSTAT_DTOE)
mbed_official 146:f64d43ff0c18 3030
mbed_official 146:f64d43ff0c18 3031 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3032 //! @brief Set the DTOE field to a new value.
mbed_official 146:f64d43ff0c18 3033 #define BW_SDHC_IRQSTAT_DTOE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DTOE) = (v))
mbed_official 146:f64d43ff0c18 3034 #endif
mbed_official 146:f64d43ff0c18 3035 //@}
mbed_official 146:f64d43ff0c18 3036
mbed_official 146:f64d43ff0c18 3037 /*!
mbed_official 146:f64d43ff0c18 3038 * @name Register SDHC_IRQSTAT, field DCE[21] (W1C)
mbed_official 146:f64d43ff0c18 3039 *
mbed_official 146:f64d43ff0c18 3040 * Occurs when detecting a CRC error when transferring read data, which uses the
mbed_official 146:f64d43ff0c18 3041 * DAT line, or when detecting the Write CRC status having a value other than
mbed_official 146:f64d43ff0c18 3042 * 010.
mbed_official 146:f64d43ff0c18 3043 *
mbed_official 146:f64d43ff0c18 3044 * Values:
mbed_official 146:f64d43ff0c18 3045 * - 0 - No error.
mbed_official 146:f64d43ff0c18 3046 * - 1 - Error.
mbed_official 146:f64d43ff0c18 3047 */
mbed_official 146:f64d43ff0c18 3048 //@{
mbed_official 146:f64d43ff0c18 3049 #define BP_SDHC_IRQSTAT_DCE (21U) //!< Bit position for SDHC_IRQSTAT_DCE.
mbed_official 146:f64d43ff0c18 3050 #define BM_SDHC_IRQSTAT_DCE (0x00200000U) //!< Bit mask for SDHC_IRQSTAT_DCE.
mbed_official 146:f64d43ff0c18 3051 #define BS_SDHC_IRQSTAT_DCE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_DCE.
mbed_official 146:f64d43ff0c18 3052
mbed_official 146:f64d43ff0c18 3053 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3054 //! @brief Read current value of the SDHC_IRQSTAT_DCE field.
mbed_official 146:f64d43ff0c18 3055 #define BR_SDHC_IRQSTAT_DCE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DCE))
mbed_official 146:f64d43ff0c18 3056 #endif
mbed_official 146:f64d43ff0c18 3057
mbed_official 146:f64d43ff0c18 3058 //! @brief Format value for bitfield SDHC_IRQSTAT_DCE.
mbed_official 146:f64d43ff0c18 3059 #define BF_SDHC_IRQSTAT_DCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_DCE), uint32_t) & BM_SDHC_IRQSTAT_DCE)
mbed_official 146:f64d43ff0c18 3060
mbed_official 146:f64d43ff0c18 3061 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3062 //! @brief Set the DCE field to a new value.
mbed_official 146:f64d43ff0c18 3063 #define BW_SDHC_IRQSTAT_DCE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DCE) = (v))
mbed_official 146:f64d43ff0c18 3064 #endif
mbed_official 146:f64d43ff0c18 3065 //@}
mbed_official 146:f64d43ff0c18 3066
mbed_official 146:f64d43ff0c18 3067 /*!
mbed_official 146:f64d43ff0c18 3068 * @name Register SDHC_IRQSTAT, field DEBE[22] (W1C)
mbed_official 146:f64d43ff0c18 3069 *
mbed_official 146:f64d43ff0c18 3070 * Occurs either when detecting 0 at the end bit position of read data, which
mbed_official 146:f64d43ff0c18 3071 * uses the DAT line, or at the end bit position of the CRC.
mbed_official 146:f64d43ff0c18 3072 *
mbed_official 146:f64d43ff0c18 3073 * Values:
mbed_official 146:f64d43ff0c18 3074 * - 0 - No error.
mbed_official 146:f64d43ff0c18 3075 * - 1 - Error.
mbed_official 146:f64d43ff0c18 3076 */
mbed_official 146:f64d43ff0c18 3077 //@{
mbed_official 146:f64d43ff0c18 3078 #define BP_SDHC_IRQSTAT_DEBE (22U) //!< Bit position for SDHC_IRQSTAT_DEBE.
mbed_official 146:f64d43ff0c18 3079 #define BM_SDHC_IRQSTAT_DEBE (0x00400000U) //!< Bit mask for SDHC_IRQSTAT_DEBE.
mbed_official 146:f64d43ff0c18 3080 #define BS_SDHC_IRQSTAT_DEBE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_DEBE.
mbed_official 146:f64d43ff0c18 3081
mbed_official 146:f64d43ff0c18 3082 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3083 //! @brief Read current value of the SDHC_IRQSTAT_DEBE field.
mbed_official 146:f64d43ff0c18 3084 #define BR_SDHC_IRQSTAT_DEBE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DEBE))
mbed_official 146:f64d43ff0c18 3085 #endif
mbed_official 146:f64d43ff0c18 3086
mbed_official 146:f64d43ff0c18 3087 //! @brief Format value for bitfield SDHC_IRQSTAT_DEBE.
mbed_official 146:f64d43ff0c18 3088 #define BF_SDHC_IRQSTAT_DEBE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_DEBE), uint32_t) & BM_SDHC_IRQSTAT_DEBE)
mbed_official 146:f64d43ff0c18 3089
mbed_official 146:f64d43ff0c18 3090 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3091 //! @brief Set the DEBE field to a new value.
mbed_official 146:f64d43ff0c18 3092 #define BW_SDHC_IRQSTAT_DEBE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DEBE) = (v))
mbed_official 146:f64d43ff0c18 3093 #endif
mbed_official 146:f64d43ff0c18 3094 //@}
mbed_official 146:f64d43ff0c18 3095
mbed_official 146:f64d43ff0c18 3096 /*!
mbed_official 146:f64d43ff0c18 3097 * @name Register SDHC_IRQSTAT, field AC12E[24] (W1C)
mbed_official 146:f64d43ff0c18 3098 *
mbed_official 146:f64d43ff0c18 3099 * Occurs when detecting that one of the bits in the Auto CMD12 Error Status
mbed_official 146:f64d43ff0c18 3100 * register has changed from 0 to 1. This bit is set to 1, not only when the errors
mbed_official 146:f64d43ff0c18 3101 * in Auto CMD12 occur, but also when the Auto CMD12 is not executed due to the
mbed_official 146:f64d43ff0c18 3102 * previous command error.
mbed_official 146:f64d43ff0c18 3103 *
mbed_official 146:f64d43ff0c18 3104 * Values:
mbed_official 146:f64d43ff0c18 3105 * - 0 - No error.
mbed_official 146:f64d43ff0c18 3106 * - 1 - Error.
mbed_official 146:f64d43ff0c18 3107 */
mbed_official 146:f64d43ff0c18 3108 //@{
mbed_official 146:f64d43ff0c18 3109 #define BP_SDHC_IRQSTAT_AC12E (24U) //!< Bit position for SDHC_IRQSTAT_AC12E.
mbed_official 146:f64d43ff0c18 3110 #define BM_SDHC_IRQSTAT_AC12E (0x01000000U) //!< Bit mask for SDHC_IRQSTAT_AC12E.
mbed_official 146:f64d43ff0c18 3111 #define BS_SDHC_IRQSTAT_AC12E (1U) //!< Bit field size in bits for SDHC_IRQSTAT_AC12E.
mbed_official 146:f64d43ff0c18 3112
mbed_official 146:f64d43ff0c18 3113 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3114 //! @brief Read current value of the SDHC_IRQSTAT_AC12E field.
mbed_official 146:f64d43ff0c18 3115 #define BR_SDHC_IRQSTAT_AC12E (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_AC12E))
mbed_official 146:f64d43ff0c18 3116 #endif
mbed_official 146:f64d43ff0c18 3117
mbed_official 146:f64d43ff0c18 3118 //! @brief Format value for bitfield SDHC_IRQSTAT_AC12E.
mbed_official 146:f64d43ff0c18 3119 #define BF_SDHC_IRQSTAT_AC12E(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_AC12E), uint32_t) & BM_SDHC_IRQSTAT_AC12E)
mbed_official 146:f64d43ff0c18 3120
mbed_official 146:f64d43ff0c18 3121 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3122 //! @brief Set the AC12E field to a new value.
mbed_official 146:f64d43ff0c18 3123 #define BW_SDHC_IRQSTAT_AC12E(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_AC12E) = (v))
mbed_official 146:f64d43ff0c18 3124 #endif
mbed_official 146:f64d43ff0c18 3125 //@}
mbed_official 146:f64d43ff0c18 3126
mbed_official 146:f64d43ff0c18 3127 /*!
mbed_official 146:f64d43ff0c18 3128 * @name Register SDHC_IRQSTAT, field DMAE[28] (W1C)
mbed_official 146:f64d43ff0c18 3129 *
mbed_official 146:f64d43ff0c18 3130 * Occurs when an Internal DMA transfer has failed. This bit is set to 1, when
mbed_official 146:f64d43ff0c18 3131 * some error occurs in the data transfer. This error can be caused by either
mbed_official 146:f64d43ff0c18 3132 * Simple DMA or ADMA, depending on which DMA is in use. The value in DMA System
mbed_official 146:f64d43ff0c18 3133 * Address register is the next fetch address where the error occurs. Because any
mbed_official 146:f64d43ff0c18 3134 * error corrupts the whole data block, the host driver shall restart the transfer
mbed_official 146:f64d43ff0c18 3135 * from the corrupted block boundary. The address of the block boundary can be
mbed_official 146:f64d43ff0c18 3136 * calculated either from the current DSADDR value or from the remaining number of
mbed_official 146:f64d43ff0c18 3137 * blocks and the block size.
mbed_official 146:f64d43ff0c18 3138 *
mbed_official 146:f64d43ff0c18 3139 * Values:
mbed_official 146:f64d43ff0c18 3140 * - 0 - No error.
mbed_official 146:f64d43ff0c18 3141 * - 1 - Error.
mbed_official 146:f64d43ff0c18 3142 */
mbed_official 146:f64d43ff0c18 3143 //@{
mbed_official 146:f64d43ff0c18 3144 #define BP_SDHC_IRQSTAT_DMAE (28U) //!< Bit position for SDHC_IRQSTAT_DMAE.
mbed_official 146:f64d43ff0c18 3145 #define BM_SDHC_IRQSTAT_DMAE (0x10000000U) //!< Bit mask for SDHC_IRQSTAT_DMAE.
mbed_official 146:f64d43ff0c18 3146 #define BS_SDHC_IRQSTAT_DMAE (1U) //!< Bit field size in bits for SDHC_IRQSTAT_DMAE.
mbed_official 146:f64d43ff0c18 3147
mbed_official 146:f64d43ff0c18 3148 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3149 //! @brief Read current value of the SDHC_IRQSTAT_DMAE field.
mbed_official 146:f64d43ff0c18 3150 #define BR_SDHC_IRQSTAT_DMAE (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DMAE))
mbed_official 146:f64d43ff0c18 3151 #endif
mbed_official 146:f64d43ff0c18 3152
mbed_official 146:f64d43ff0c18 3153 //! @brief Format value for bitfield SDHC_IRQSTAT_DMAE.
mbed_official 146:f64d43ff0c18 3154 #define BF_SDHC_IRQSTAT_DMAE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTAT_DMAE), uint32_t) & BM_SDHC_IRQSTAT_DMAE)
mbed_official 146:f64d43ff0c18 3155
mbed_official 146:f64d43ff0c18 3156 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3157 //! @brief Set the DMAE field to a new value.
mbed_official 146:f64d43ff0c18 3158 #define BW_SDHC_IRQSTAT_DMAE(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTAT_ADDR, BP_SDHC_IRQSTAT_DMAE) = (v))
mbed_official 146:f64d43ff0c18 3159 #endif
mbed_official 146:f64d43ff0c18 3160 //@}
mbed_official 146:f64d43ff0c18 3161
mbed_official 146:f64d43ff0c18 3162 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 3163 // HW_SDHC_IRQSTATEN - Interrupt Status Enable register
mbed_official 146:f64d43ff0c18 3164 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 3165
mbed_official 146:f64d43ff0c18 3166 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3167 /*!
mbed_official 146:f64d43ff0c18 3168 * @brief HW_SDHC_IRQSTATEN - Interrupt Status Enable register (RW)
mbed_official 146:f64d43ff0c18 3169 *
mbed_official 146:f64d43ff0c18 3170 * Reset value: 0x117F013FU
mbed_official 146:f64d43ff0c18 3171 *
mbed_official 146:f64d43ff0c18 3172 * Setting the bits in this register to 1 enables the corresponding interrupt
mbed_official 146:f64d43ff0c18 3173 * status to be set by the specified event. If any bit is cleared, the
mbed_official 146:f64d43ff0c18 3174 * corresponding interrupt status bit is also cleared, that is, when the bit in this register
mbed_official 146:f64d43ff0c18 3175 * is cleared, the corresponding bit in interrupt status register is always 0.
mbed_official 146:f64d43ff0c18 3176 * Depending on PROCTL[IABG] bit setting, SDHC may be programmed to sample the
mbed_official 146:f64d43ff0c18 3177 * card interrupt signal during the interrupt period and hold its value in the
mbed_official 146:f64d43ff0c18 3178 * flip-flop. There will be some delays on the card interrupt, asserted from the card,
mbed_official 146:f64d43ff0c18 3179 * to the time the host system is informed. To detect a CMD line conflict, the
mbed_official 146:f64d43ff0c18 3180 * host driver must set both IRQSTATEN[CTOESEN] and IRQSTATEN[CCESEN] to 1.
mbed_official 146:f64d43ff0c18 3181 */
mbed_official 146:f64d43ff0c18 3182 typedef union _hw_sdhc_irqstaten
mbed_official 146:f64d43ff0c18 3183 {
mbed_official 146:f64d43ff0c18 3184 uint32_t U;
mbed_official 146:f64d43ff0c18 3185 struct _hw_sdhc_irqstaten_bitfields
mbed_official 146:f64d43ff0c18 3186 {
mbed_official 146:f64d43ff0c18 3187 uint32_t CCSEN : 1; //!< [0] Command Complete Status Enable
mbed_official 146:f64d43ff0c18 3188 uint32_t TCSEN : 1; //!< [1] Transfer Complete Status Enable
mbed_official 146:f64d43ff0c18 3189 uint32_t BGESEN : 1; //!< [2] Block Gap Event Status Enable
mbed_official 146:f64d43ff0c18 3190 uint32_t DINTSEN : 1; //!< [3] DMA Interrupt Status Enable
mbed_official 146:f64d43ff0c18 3191 uint32_t BWRSEN : 1; //!< [4] Buffer Write Ready Status Enable
mbed_official 146:f64d43ff0c18 3192 uint32_t BRRSEN : 1; //!< [5] Buffer Read Ready Status Enable
mbed_official 146:f64d43ff0c18 3193 uint32_t CINSEN : 1; //!< [6] Card Insertion Status Enable
mbed_official 146:f64d43ff0c18 3194 uint32_t CRMSEN : 1; //!< [7] Card Removal Status Enable
mbed_official 146:f64d43ff0c18 3195 uint32_t CINTSEN : 1; //!< [8] Card Interrupt Status Enable
mbed_official 146:f64d43ff0c18 3196 uint32_t RESERVED0 : 7; //!< [15:9]
mbed_official 146:f64d43ff0c18 3197 uint32_t CTOESEN : 1; //!< [16] Command Timeout Error Status Enable
mbed_official 146:f64d43ff0c18 3198 uint32_t CCESEN : 1; //!< [17] Command CRC Error Status Enable
mbed_official 146:f64d43ff0c18 3199 uint32_t CEBESEN : 1; //!< [18] Command End Bit Error Status Enable
mbed_official 146:f64d43ff0c18 3200 uint32_t CIESEN : 1; //!< [19] Command Index Error Status Enable
mbed_official 146:f64d43ff0c18 3201 uint32_t DTOESEN : 1; //!< [20] Data Timeout Error Status Enable
mbed_official 146:f64d43ff0c18 3202 uint32_t DCESEN : 1; //!< [21] Data CRC Error Status Enable
mbed_official 146:f64d43ff0c18 3203 uint32_t DEBESEN : 1; //!< [22] Data End Bit Error Status Enable
mbed_official 146:f64d43ff0c18 3204 uint32_t RESERVED1 : 1; //!< [23]
mbed_official 146:f64d43ff0c18 3205 uint32_t AC12ESEN : 1; //!< [24] Auto CMD12 Error Status Enable
mbed_official 146:f64d43ff0c18 3206 uint32_t RESERVED2 : 3; //!< [27:25]
mbed_official 146:f64d43ff0c18 3207 uint32_t DMAESEN : 1; //!< [28] DMA Error Status Enable
mbed_official 146:f64d43ff0c18 3208 uint32_t RESERVED3 : 3; //!< [31:29]
mbed_official 146:f64d43ff0c18 3209 } B;
mbed_official 146:f64d43ff0c18 3210 } hw_sdhc_irqstaten_t;
mbed_official 146:f64d43ff0c18 3211 #endif
mbed_official 146:f64d43ff0c18 3212
mbed_official 146:f64d43ff0c18 3213 /*!
mbed_official 146:f64d43ff0c18 3214 * @name Constants and macros for entire SDHC_IRQSTATEN register
mbed_official 146:f64d43ff0c18 3215 */
mbed_official 146:f64d43ff0c18 3216 //@{
mbed_official 146:f64d43ff0c18 3217 #define HW_SDHC_IRQSTATEN_ADDR (REGS_SDHC_BASE + 0x34U)
mbed_official 146:f64d43ff0c18 3218
mbed_official 146:f64d43ff0c18 3219 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3220 #define HW_SDHC_IRQSTATEN (*(__IO hw_sdhc_irqstaten_t *) HW_SDHC_IRQSTATEN_ADDR)
mbed_official 146:f64d43ff0c18 3221 #define HW_SDHC_IRQSTATEN_RD() (HW_SDHC_IRQSTATEN.U)
mbed_official 146:f64d43ff0c18 3222 #define HW_SDHC_IRQSTATEN_WR(v) (HW_SDHC_IRQSTATEN.U = (v))
mbed_official 146:f64d43ff0c18 3223 #define HW_SDHC_IRQSTATEN_SET(v) (HW_SDHC_IRQSTATEN_WR(HW_SDHC_IRQSTATEN_RD() | (v)))
mbed_official 146:f64d43ff0c18 3224 #define HW_SDHC_IRQSTATEN_CLR(v) (HW_SDHC_IRQSTATEN_WR(HW_SDHC_IRQSTATEN_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 3225 #define HW_SDHC_IRQSTATEN_TOG(v) (HW_SDHC_IRQSTATEN_WR(HW_SDHC_IRQSTATEN_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 3226 #endif
mbed_official 146:f64d43ff0c18 3227 //@}
mbed_official 146:f64d43ff0c18 3228
mbed_official 146:f64d43ff0c18 3229 /*
mbed_official 146:f64d43ff0c18 3230 * Constants & macros for individual SDHC_IRQSTATEN bitfields
mbed_official 146:f64d43ff0c18 3231 */
mbed_official 146:f64d43ff0c18 3232
mbed_official 146:f64d43ff0c18 3233 /*!
mbed_official 146:f64d43ff0c18 3234 * @name Register SDHC_IRQSTATEN, field CCSEN[0] (RW)
mbed_official 146:f64d43ff0c18 3235 *
mbed_official 146:f64d43ff0c18 3236 * Values:
mbed_official 146:f64d43ff0c18 3237 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3238 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3239 */
mbed_official 146:f64d43ff0c18 3240 //@{
mbed_official 146:f64d43ff0c18 3241 #define BP_SDHC_IRQSTATEN_CCSEN (0U) //!< Bit position for SDHC_IRQSTATEN_CCSEN.
mbed_official 146:f64d43ff0c18 3242 #define BM_SDHC_IRQSTATEN_CCSEN (0x00000001U) //!< Bit mask for SDHC_IRQSTATEN_CCSEN.
mbed_official 146:f64d43ff0c18 3243 #define BS_SDHC_IRQSTATEN_CCSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CCSEN.
mbed_official 146:f64d43ff0c18 3244
mbed_official 146:f64d43ff0c18 3245 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3246 //! @brief Read current value of the SDHC_IRQSTATEN_CCSEN field.
mbed_official 146:f64d43ff0c18 3247 #define BR_SDHC_IRQSTATEN_CCSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CCSEN))
mbed_official 146:f64d43ff0c18 3248 #endif
mbed_official 146:f64d43ff0c18 3249
mbed_official 146:f64d43ff0c18 3250 //! @brief Format value for bitfield SDHC_IRQSTATEN_CCSEN.
mbed_official 146:f64d43ff0c18 3251 #define BF_SDHC_IRQSTATEN_CCSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CCSEN), uint32_t) & BM_SDHC_IRQSTATEN_CCSEN)
mbed_official 146:f64d43ff0c18 3252
mbed_official 146:f64d43ff0c18 3253 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3254 //! @brief Set the CCSEN field to a new value.
mbed_official 146:f64d43ff0c18 3255 #define BW_SDHC_IRQSTATEN_CCSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CCSEN) = (v))
mbed_official 146:f64d43ff0c18 3256 #endif
mbed_official 146:f64d43ff0c18 3257 //@}
mbed_official 146:f64d43ff0c18 3258
mbed_official 146:f64d43ff0c18 3259 /*!
mbed_official 146:f64d43ff0c18 3260 * @name Register SDHC_IRQSTATEN, field TCSEN[1] (RW)
mbed_official 146:f64d43ff0c18 3261 *
mbed_official 146:f64d43ff0c18 3262 * Values:
mbed_official 146:f64d43ff0c18 3263 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3264 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3265 */
mbed_official 146:f64d43ff0c18 3266 //@{
mbed_official 146:f64d43ff0c18 3267 #define BP_SDHC_IRQSTATEN_TCSEN (1U) //!< Bit position for SDHC_IRQSTATEN_TCSEN.
mbed_official 146:f64d43ff0c18 3268 #define BM_SDHC_IRQSTATEN_TCSEN (0x00000002U) //!< Bit mask for SDHC_IRQSTATEN_TCSEN.
mbed_official 146:f64d43ff0c18 3269 #define BS_SDHC_IRQSTATEN_TCSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_TCSEN.
mbed_official 146:f64d43ff0c18 3270
mbed_official 146:f64d43ff0c18 3271 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3272 //! @brief Read current value of the SDHC_IRQSTATEN_TCSEN field.
mbed_official 146:f64d43ff0c18 3273 #define BR_SDHC_IRQSTATEN_TCSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_TCSEN))
mbed_official 146:f64d43ff0c18 3274 #endif
mbed_official 146:f64d43ff0c18 3275
mbed_official 146:f64d43ff0c18 3276 //! @brief Format value for bitfield SDHC_IRQSTATEN_TCSEN.
mbed_official 146:f64d43ff0c18 3277 #define BF_SDHC_IRQSTATEN_TCSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_TCSEN), uint32_t) & BM_SDHC_IRQSTATEN_TCSEN)
mbed_official 146:f64d43ff0c18 3278
mbed_official 146:f64d43ff0c18 3279 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3280 //! @brief Set the TCSEN field to a new value.
mbed_official 146:f64d43ff0c18 3281 #define BW_SDHC_IRQSTATEN_TCSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_TCSEN) = (v))
mbed_official 146:f64d43ff0c18 3282 #endif
mbed_official 146:f64d43ff0c18 3283 //@}
mbed_official 146:f64d43ff0c18 3284
mbed_official 146:f64d43ff0c18 3285 /*!
mbed_official 146:f64d43ff0c18 3286 * @name Register SDHC_IRQSTATEN, field BGESEN[2] (RW)
mbed_official 146:f64d43ff0c18 3287 *
mbed_official 146:f64d43ff0c18 3288 * Values:
mbed_official 146:f64d43ff0c18 3289 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3290 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3291 */
mbed_official 146:f64d43ff0c18 3292 //@{
mbed_official 146:f64d43ff0c18 3293 #define BP_SDHC_IRQSTATEN_BGESEN (2U) //!< Bit position for SDHC_IRQSTATEN_BGESEN.
mbed_official 146:f64d43ff0c18 3294 #define BM_SDHC_IRQSTATEN_BGESEN (0x00000004U) //!< Bit mask for SDHC_IRQSTATEN_BGESEN.
mbed_official 146:f64d43ff0c18 3295 #define BS_SDHC_IRQSTATEN_BGESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_BGESEN.
mbed_official 146:f64d43ff0c18 3296
mbed_official 146:f64d43ff0c18 3297 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3298 //! @brief Read current value of the SDHC_IRQSTATEN_BGESEN field.
mbed_official 146:f64d43ff0c18 3299 #define BR_SDHC_IRQSTATEN_BGESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BGESEN))
mbed_official 146:f64d43ff0c18 3300 #endif
mbed_official 146:f64d43ff0c18 3301
mbed_official 146:f64d43ff0c18 3302 //! @brief Format value for bitfield SDHC_IRQSTATEN_BGESEN.
mbed_official 146:f64d43ff0c18 3303 #define BF_SDHC_IRQSTATEN_BGESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_BGESEN), uint32_t) & BM_SDHC_IRQSTATEN_BGESEN)
mbed_official 146:f64d43ff0c18 3304
mbed_official 146:f64d43ff0c18 3305 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3306 //! @brief Set the BGESEN field to a new value.
mbed_official 146:f64d43ff0c18 3307 #define BW_SDHC_IRQSTATEN_BGESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BGESEN) = (v))
mbed_official 146:f64d43ff0c18 3308 #endif
mbed_official 146:f64d43ff0c18 3309 //@}
mbed_official 146:f64d43ff0c18 3310
mbed_official 146:f64d43ff0c18 3311 /*!
mbed_official 146:f64d43ff0c18 3312 * @name Register SDHC_IRQSTATEN, field DINTSEN[3] (RW)
mbed_official 146:f64d43ff0c18 3313 *
mbed_official 146:f64d43ff0c18 3314 * Values:
mbed_official 146:f64d43ff0c18 3315 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3316 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3317 */
mbed_official 146:f64d43ff0c18 3318 //@{
mbed_official 146:f64d43ff0c18 3319 #define BP_SDHC_IRQSTATEN_DINTSEN (3U) //!< Bit position for SDHC_IRQSTATEN_DINTSEN.
mbed_official 146:f64d43ff0c18 3320 #define BM_SDHC_IRQSTATEN_DINTSEN (0x00000008U) //!< Bit mask for SDHC_IRQSTATEN_DINTSEN.
mbed_official 146:f64d43ff0c18 3321 #define BS_SDHC_IRQSTATEN_DINTSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_DINTSEN.
mbed_official 146:f64d43ff0c18 3322
mbed_official 146:f64d43ff0c18 3323 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3324 //! @brief Read current value of the SDHC_IRQSTATEN_DINTSEN field.
mbed_official 146:f64d43ff0c18 3325 #define BR_SDHC_IRQSTATEN_DINTSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DINTSEN))
mbed_official 146:f64d43ff0c18 3326 #endif
mbed_official 146:f64d43ff0c18 3327
mbed_official 146:f64d43ff0c18 3328 //! @brief Format value for bitfield SDHC_IRQSTATEN_DINTSEN.
mbed_official 146:f64d43ff0c18 3329 #define BF_SDHC_IRQSTATEN_DINTSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_DINTSEN), uint32_t) & BM_SDHC_IRQSTATEN_DINTSEN)
mbed_official 146:f64d43ff0c18 3330
mbed_official 146:f64d43ff0c18 3331 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3332 //! @brief Set the DINTSEN field to a new value.
mbed_official 146:f64d43ff0c18 3333 #define BW_SDHC_IRQSTATEN_DINTSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DINTSEN) = (v))
mbed_official 146:f64d43ff0c18 3334 #endif
mbed_official 146:f64d43ff0c18 3335 //@}
mbed_official 146:f64d43ff0c18 3336
mbed_official 146:f64d43ff0c18 3337 /*!
mbed_official 146:f64d43ff0c18 3338 * @name Register SDHC_IRQSTATEN, field BWRSEN[4] (RW)
mbed_official 146:f64d43ff0c18 3339 *
mbed_official 146:f64d43ff0c18 3340 * Values:
mbed_official 146:f64d43ff0c18 3341 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3342 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3343 */
mbed_official 146:f64d43ff0c18 3344 //@{
mbed_official 146:f64d43ff0c18 3345 #define BP_SDHC_IRQSTATEN_BWRSEN (4U) //!< Bit position for SDHC_IRQSTATEN_BWRSEN.
mbed_official 146:f64d43ff0c18 3346 #define BM_SDHC_IRQSTATEN_BWRSEN (0x00000010U) //!< Bit mask for SDHC_IRQSTATEN_BWRSEN.
mbed_official 146:f64d43ff0c18 3347 #define BS_SDHC_IRQSTATEN_BWRSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_BWRSEN.
mbed_official 146:f64d43ff0c18 3348
mbed_official 146:f64d43ff0c18 3349 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3350 //! @brief Read current value of the SDHC_IRQSTATEN_BWRSEN field.
mbed_official 146:f64d43ff0c18 3351 #define BR_SDHC_IRQSTATEN_BWRSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BWRSEN))
mbed_official 146:f64d43ff0c18 3352 #endif
mbed_official 146:f64d43ff0c18 3353
mbed_official 146:f64d43ff0c18 3354 //! @brief Format value for bitfield SDHC_IRQSTATEN_BWRSEN.
mbed_official 146:f64d43ff0c18 3355 #define BF_SDHC_IRQSTATEN_BWRSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_BWRSEN), uint32_t) & BM_SDHC_IRQSTATEN_BWRSEN)
mbed_official 146:f64d43ff0c18 3356
mbed_official 146:f64d43ff0c18 3357 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3358 //! @brief Set the BWRSEN field to a new value.
mbed_official 146:f64d43ff0c18 3359 #define BW_SDHC_IRQSTATEN_BWRSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BWRSEN) = (v))
mbed_official 146:f64d43ff0c18 3360 #endif
mbed_official 146:f64d43ff0c18 3361 //@}
mbed_official 146:f64d43ff0c18 3362
mbed_official 146:f64d43ff0c18 3363 /*!
mbed_official 146:f64d43ff0c18 3364 * @name Register SDHC_IRQSTATEN, field BRRSEN[5] (RW)
mbed_official 146:f64d43ff0c18 3365 *
mbed_official 146:f64d43ff0c18 3366 * Values:
mbed_official 146:f64d43ff0c18 3367 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3368 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3369 */
mbed_official 146:f64d43ff0c18 3370 //@{
mbed_official 146:f64d43ff0c18 3371 #define BP_SDHC_IRQSTATEN_BRRSEN (5U) //!< Bit position for SDHC_IRQSTATEN_BRRSEN.
mbed_official 146:f64d43ff0c18 3372 #define BM_SDHC_IRQSTATEN_BRRSEN (0x00000020U) //!< Bit mask for SDHC_IRQSTATEN_BRRSEN.
mbed_official 146:f64d43ff0c18 3373 #define BS_SDHC_IRQSTATEN_BRRSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_BRRSEN.
mbed_official 146:f64d43ff0c18 3374
mbed_official 146:f64d43ff0c18 3375 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3376 //! @brief Read current value of the SDHC_IRQSTATEN_BRRSEN field.
mbed_official 146:f64d43ff0c18 3377 #define BR_SDHC_IRQSTATEN_BRRSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BRRSEN))
mbed_official 146:f64d43ff0c18 3378 #endif
mbed_official 146:f64d43ff0c18 3379
mbed_official 146:f64d43ff0c18 3380 //! @brief Format value for bitfield SDHC_IRQSTATEN_BRRSEN.
mbed_official 146:f64d43ff0c18 3381 #define BF_SDHC_IRQSTATEN_BRRSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_BRRSEN), uint32_t) & BM_SDHC_IRQSTATEN_BRRSEN)
mbed_official 146:f64d43ff0c18 3382
mbed_official 146:f64d43ff0c18 3383 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3384 //! @brief Set the BRRSEN field to a new value.
mbed_official 146:f64d43ff0c18 3385 #define BW_SDHC_IRQSTATEN_BRRSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_BRRSEN) = (v))
mbed_official 146:f64d43ff0c18 3386 #endif
mbed_official 146:f64d43ff0c18 3387 //@}
mbed_official 146:f64d43ff0c18 3388
mbed_official 146:f64d43ff0c18 3389 /*!
mbed_official 146:f64d43ff0c18 3390 * @name Register SDHC_IRQSTATEN, field CINSEN[6] (RW)
mbed_official 146:f64d43ff0c18 3391 *
mbed_official 146:f64d43ff0c18 3392 * Values:
mbed_official 146:f64d43ff0c18 3393 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3394 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3395 */
mbed_official 146:f64d43ff0c18 3396 //@{
mbed_official 146:f64d43ff0c18 3397 #define BP_SDHC_IRQSTATEN_CINSEN (6U) //!< Bit position for SDHC_IRQSTATEN_CINSEN.
mbed_official 146:f64d43ff0c18 3398 #define BM_SDHC_IRQSTATEN_CINSEN (0x00000040U) //!< Bit mask for SDHC_IRQSTATEN_CINSEN.
mbed_official 146:f64d43ff0c18 3399 #define BS_SDHC_IRQSTATEN_CINSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CINSEN.
mbed_official 146:f64d43ff0c18 3400
mbed_official 146:f64d43ff0c18 3401 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3402 //! @brief Read current value of the SDHC_IRQSTATEN_CINSEN field.
mbed_official 146:f64d43ff0c18 3403 #define BR_SDHC_IRQSTATEN_CINSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CINSEN))
mbed_official 146:f64d43ff0c18 3404 #endif
mbed_official 146:f64d43ff0c18 3405
mbed_official 146:f64d43ff0c18 3406 //! @brief Format value for bitfield SDHC_IRQSTATEN_CINSEN.
mbed_official 146:f64d43ff0c18 3407 #define BF_SDHC_IRQSTATEN_CINSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CINSEN), uint32_t) & BM_SDHC_IRQSTATEN_CINSEN)
mbed_official 146:f64d43ff0c18 3408
mbed_official 146:f64d43ff0c18 3409 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3410 //! @brief Set the CINSEN field to a new value.
mbed_official 146:f64d43ff0c18 3411 #define BW_SDHC_IRQSTATEN_CINSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CINSEN) = (v))
mbed_official 146:f64d43ff0c18 3412 #endif
mbed_official 146:f64d43ff0c18 3413 //@}
mbed_official 146:f64d43ff0c18 3414
mbed_official 146:f64d43ff0c18 3415 /*!
mbed_official 146:f64d43ff0c18 3416 * @name Register SDHC_IRQSTATEN, field CRMSEN[7] (RW)
mbed_official 146:f64d43ff0c18 3417 *
mbed_official 146:f64d43ff0c18 3418 * Values:
mbed_official 146:f64d43ff0c18 3419 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3420 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3421 */
mbed_official 146:f64d43ff0c18 3422 //@{
mbed_official 146:f64d43ff0c18 3423 #define BP_SDHC_IRQSTATEN_CRMSEN (7U) //!< Bit position for SDHC_IRQSTATEN_CRMSEN.
mbed_official 146:f64d43ff0c18 3424 #define BM_SDHC_IRQSTATEN_CRMSEN (0x00000080U) //!< Bit mask for SDHC_IRQSTATEN_CRMSEN.
mbed_official 146:f64d43ff0c18 3425 #define BS_SDHC_IRQSTATEN_CRMSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CRMSEN.
mbed_official 146:f64d43ff0c18 3426
mbed_official 146:f64d43ff0c18 3427 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3428 //! @brief Read current value of the SDHC_IRQSTATEN_CRMSEN field.
mbed_official 146:f64d43ff0c18 3429 #define BR_SDHC_IRQSTATEN_CRMSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CRMSEN))
mbed_official 146:f64d43ff0c18 3430 #endif
mbed_official 146:f64d43ff0c18 3431
mbed_official 146:f64d43ff0c18 3432 //! @brief Format value for bitfield SDHC_IRQSTATEN_CRMSEN.
mbed_official 146:f64d43ff0c18 3433 #define BF_SDHC_IRQSTATEN_CRMSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CRMSEN), uint32_t) & BM_SDHC_IRQSTATEN_CRMSEN)
mbed_official 146:f64d43ff0c18 3434
mbed_official 146:f64d43ff0c18 3435 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3436 //! @brief Set the CRMSEN field to a new value.
mbed_official 146:f64d43ff0c18 3437 #define BW_SDHC_IRQSTATEN_CRMSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CRMSEN) = (v))
mbed_official 146:f64d43ff0c18 3438 #endif
mbed_official 146:f64d43ff0c18 3439 //@}
mbed_official 146:f64d43ff0c18 3440
mbed_official 146:f64d43ff0c18 3441 /*!
mbed_official 146:f64d43ff0c18 3442 * @name Register SDHC_IRQSTATEN, field CINTSEN[8] (RW)
mbed_official 146:f64d43ff0c18 3443 *
mbed_official 146:f64d43ff0c18 3444 * If this bit is set to 0, the SDHC will clear the interrupt request to the
mbed_official 146:f64d43ff0c18 3445 * system. The card interrupt detection is stopped when this bit is cleared and
mbed_official 146:f64d43ff0c18 3446 * restarted when this bit is set to 1. The host driver must clear the this bit
mbed_official 146:f64d43ff0c18 3447 * before servicing the card interrupt and must set this bit again after all interrupt
mbed_official 146:f64d43ff0c18 3448 * requests from the card are cleared to prevent inadvertent interrupts.
mbed_official 146:f64d43ff0c18 3449 *
mbed_official 146:f64d43ff0c18 3450 * Values:
mbed_official 146:f64d43ff0c18 3451 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3452 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3453 */
mbed_official 146:f64d43ff0c18 3454 //@{
mbed_official 146:f64d43ff0c18 3455 #define BP_SDHC_IRQSTATEN_CINTSEN (8U) //!< Bit position for SDHC_IRQSTATEN_CINTSEN.
mbed_official 146:f64d43ff0c18 3456 #define BM_SDHC_IRQSTATEN_CINTSEN (0x00000100U) //!< Bit mask for SDHC_IRQSTATEN_CINTSEN.
mbed_official 146:f64d43ff0c18 3457 #define BS_SDHC_IRQSTATEN_CINTSEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CINTSEN.
mbed_official 146:f64d43ff0c18 3458
mbed_official 146:f64d43ff0c18 3459 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3460 //! @brief Read current value of the SDHC_IRQSTATEN_CINTSEN field.
mbed_official 146:f64d43ff0c18 3461 #define BR_SDHC_IRQSTATEN_CINTSEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CINTSEN))
mbed_official 146:f64d43ff0c18 3462 #endif
mbed_official 146:f64d43ff0c18 3463
mbed_official 146:f64d43ff0c18 3464 //! @brief Format value for bitfield SDHC_IRQSTATEN_CINTSEN.
mbed_official 146:f64d43ff0c18 3465 #define BF_SDHC_IRQSTATEN_CINTSEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CINTSEN), uint32_t) & BM_SDHC_IRQSTATEN_CINTSEN)
mbed_official 146:f64d43ff0c18 3466
mbed_official 146:f64d43ff0c18 3467 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3468 //! @brief Set the CINTSEN field to a new value.
mbed_official 146:f64d43ff0c18 3469 #define BW_SDHC_IRQSTATEN_CINTSEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CINTSEN) = (v))
mbed_official 146:f64d43ff0c18 3470 #endif
mbed_official 146:f64d43ff0c18 3471 //@}
mbed_official 146:f64d43ff0c18 3472
mbed_official 146:f64d43ff0c18 3473 /*!
mbed_official 146:f64d43ff0c18 3474 * @name Register SDHC_IRQSTATEN, field CTOESEN[16] (RW)
mbed_official 146:f64d43ff0c18 3475 *
mbed_official 146:f64d43ff0c18 3476 * Values:
mbed_official 146:f64d43ff0c18 3477 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3478 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3479 */
mbed_official 146:f64d43ff0c18 3480 //@{
mbed_official 146:f64d43ff0c18 3481 #define BP_SDHC_IRQSTATEN_CTOESEN (16U) //!< Bit position for SDHC_IRQSTATEN_CTOESEN.
mbed_official 146:f64d43ff0c18 3482 #define BM_SDHC_IRQSTATEN_CTOESEN (0x00010000U) //!< Bit mask for SDHC_IRQSTATEN_CTOESEN.
mbed_official 146:f64d43ff0c18 3483 #define BS_SDHC_IRQSTATEN_CTOESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CTOESEN.
mbed_official 146:f64d43ff0c18 3484
mbed_official 146:f64d43ff0c18 3485 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3486 //! @brief Read current value of the SDHC_IRQSTATEN_CTOESEN field.
mbed_official 146:f64d43ff0c18 3487 #define BR_SDHC_IRQSTATEN_CTOESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CTOESEN))
mbed_official 146:f64d43ff0c18 3488 #endif
mbed_official 146:f64d43ff0c18 3489
mbed_official 146:f64d43ff0c18 3490 //! @brief Format value for bitfield SDHC_IRQSTATEN_CTOESEN.
mbed_official 146:f64d43ff0c18 3491 #define BF_SDHC_IRQSTATEN_CTOESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CTOESEN), uint32_t) & BM_SDHC_IRQSTATEN_CTOESEN)
mbed_official 146:f64d43ff0c18 3492
mbed_official 146:f64d43ff0c18 3493 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3494 //! @brief Set the CTOESEN field to a new value.
mbed_official 146:f64d43ff0c18 3495 #define BW_SDHC_IRQSTATEN_CTOESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CTOESEN) = (v))
mbed_official 146:f64d43ff0c18 3496 #endif
mbed_official 146:f64d43ff0c18 3497 //@}
mbed_official 146:f64d43ff0c18 3498
mbed_official 146:f64d43ff0c18 3499 /*!
mbed_official 146:f64d43ff0c18 3500 * @name Register SDHC_IRQSTATEN, field CCESEN[17] (RW)
mbed_official 146:f64d43ff0c18 3501 *
mbed_official 146:f64d43ff0c18 3502 * Values:
mbed_official 146:f64d43ff0c18 3503 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3504 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3505 */
mbed_official 146:f64d43ff0c18 3506 //@{
mbed_official 146:f64d43ff0c18 3507 #define BP_SDHC_IRQSTATEN_CCESEN (17U) //!< Bit position for SDHC_IRQSTATEN_CCESEN.
mbed_official 146:f64d43ff0c18 3508 #define BM_SDHC_IRQSTATEN_CCESEN (0x00020000U) //!< Bit mask for SDHC_IRQSTATEN_CCESEN.
mbed_official 146:f64d43ff0c18 3509 #define BS_SDHC_IRQSTATEN_CCESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CCESEN.
mbed_official 146:f64d43ff0c18 3510
mbed_official 146:f64d43ff0c18 3511 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3512 //! @brief Read current value of the SDHC_IRQSTATEN_CCESEN field.
mbed_official 146:f64d43ff0c18 3513 #define BR_SDHC_IRQSTATEN_CCESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CCESEN))
mbed_official 146:f64d43ff0c18 3514 #endif
mbed_official 146:f64d43ff0c18 3515
mbed_official 146:f64d43ff0c18 3516 //! @brief Format value for bitfield SDHC_IRQSTATEN_CCESEN.
mbed_official 146:f64d43ff0c18 3517 #define BF_SDHC_IRQSTATEN_CCESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CCESEN), uint32_t) & BM_SDHC_IRQSTATEN_CCESEN)
mbed_official 146:f64d43ff0c18 3518
mbed_official 146:f64d43ff0c18 3519 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3520 //! @brief Set the CCESEN field to a new value.
mbed_official 146:f64d43ff0c18 3521 #define BW_SDHC_IRQSTATEN_CCESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CCESEN) = (v))
mbed_official 146:f64d43ff0c18 3522 #endif
mbed_official 146:f64d43ff0c18 3523 //@}
mbed_official 146:f64d43ff0c18 3524
mbed_official 146:f64d43ff0c18 3525 /*!
mbed_official 146:f64d43ff0c18 3526 * @name Register SDHC_IRQSTATEN, field CEBESEN[18] (RW)
mbed_official 146:f64d43ff0c18 3527 *
mbed_official 146:f64d43ff0c18 3528 * Values:
mbed_official 146:f64d43ff0c18 3529 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3530 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3531 */
mbed_official 146:f64d43ff0c18 3532 //@{
mbed_official 146:f64d43ff0c18 3533 #define BP_SDHC_IRQSTATEN_CEBESEN (18U) //!< Bit position for SDHC_IRQSTATEN_CEBESEN.
mbed_official 146:f64d43ff0c18 3534 #define BM_SDHC_IRQSTATEN_CEBESEN (0x00040000U) //!< Bit mask for SDHC_IRQSTATEN_CEBESEN.
mbed_official 146:f64d43ff0c18 3535 #define BS_SDHC_IRQSTATEN_CEBESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CEBESEN.
mbed_official 146:f64d43ff0c18 3536
mbed_official 146:f64d43ff0c18 3537 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3538 //! @brief Read current value of the SDHC_IRQSTATEN_CEBESEN field.
mbed_official 146:f64d43ff0c18 3539 #define BR_SDHC_IRQSTATEN_CEBESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CEBESEN))
mbed_official 146:f64d43ff0c18 3540 #endif
mbed_official 146:f64d43ff0c18 3541
mbed_official 146:f64d43ff0c18 3542 //! @brief Format value for bitfield SDHC_IRQSTATEN_CEBESEN.
mbed_official 146:f64d43ff0c18 3543 #define BF_SDHC_IRQSTATEN_CEBESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CEBESEN), uint32_t) & BM_SDHC_IRQSTATEN_CEBESEN)
mbed_official 146:f64d43ff0c18 3544
mbed_official 146:f64d43ff0c18 3545 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3546 //! @brief Set the CEBESEN field to a new value.
mbed_official 146:f64d43ff0c18 3547 #define BW_SDHC_IRQSTATEN_CEBESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CEBESEN) = (v))
mbed_official 146:f64d43ff0c18 3548 #endif
mbed_official 146:f64d43ff0c18 3549 //@}
mbed_official 146:f64d43ff0c18 3550
mbed_official 146:f64d43ff0c18 3551 /*!
mbed_official 146:f64d43ff0c18 3552 * @name Register SDHC_IRQSTATEN, field CIESEN[19] (RW)
mbed_official 146:f64d43ff0c18 3553 *
mbed_official 146:f64d43ff0c18 3554 * Values:
mbed_official 146:f64d43ff0c18 3555 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3556 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3557 */
mbed_official 146:f64d43ff0c18 3558 //@{
mbed_official 146:f64d43ff0c18 3559 #define BP_SDHC_IRQSTATEN_CIESEN (19U) //!< Bit position for SDHC_IRQSTATEN_CIESEN.
mbed_official 146:f64d43ff0c18 3560 #define BM_SDHC_IRQSTATEN_CIESEN (0x00080000U) //!< Bit mask for SDHC_IRQSTATEN_CIESEN.
mbed_official 146:f64d43ff0c18 3561 #define BS_SDHC_IRQSTATEN_CIESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_CIESEN.
mbed_official 146:f64d43ff0c18 3562
mbed_official 146:f64d43ff0c18 3563 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3564 //! @brief Read current value of the SDHC_IRQSTATEN_CIESEN field.
mbed_official 146:f64d43ff0c18 3565 #define BR_SDHC_IRQSTATEN_CIESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CIESEN))
mbed_official 146:f64d43ff0c18 3566 #endif
mbed_official 146:f64d43ff0c18 3567
mbed_official 146:f64d43ff0c18 3568 //! @brief Format value for bitfield SDHC_IRQSTATEN_CIESEN.
mbed_official 146:f64d43ff0c18 3569 #define BF_SDHC_IRQSTATEN_CIESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_CIESEN), uint32_t) & BM_SDHC_IRQSTATEN_CIESEN)
mbed_official 146:f64d43ff0c18 3570
mbed_official 146:f64d43ff0c18 3571 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3572 //! @brief Set the CIESEN field to a new value.
mbed_official 146:f64d43ff0c18 3573 #define BW_SDHC_IRQSTATEN_CIESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_CIESEN) = (v))
mbed_official 146:f64d43ff0c18 3574 #endif
mbed_official 146:f64d43ff0c18 3575 //@}
mbed_official 146:f64d43ff0c18 3576
mbed_official 146:f64d43ff0c18 3577 /*!
mbed_official 146:f64d43ff0c18 3578 * @name Register SDHC_IRQSTATEN, field DTOESEN[20] (RW)
mbed_official 146:f64d43ff0c18 3579 *
mbed_official 146:f64d43ff0c18 3580 * Values:
mbed_official 146:f64d43ff0c18 3581 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3582 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3583 */
mbed_official 146:f64d43ff0c18 3584 //@{
mbed_official 146:f64d43ff0c18 3585 #define BP_SDHC_IRQSTATEN_DTOESEN (20U) //!< Bit position for SDHC_IRQSTATEN_DTOESEN.
mbed_official 146:f64d43ff0c18 3586 #define BM_SDHC_IRQSTATEN_DTOESEN (0x00100000U) //!< Bit mask for SDHC_IRQSTATEN_DTOESEN.
mbed_official 146:f64d43ff0c18 3587 #define BS_SDHC_IRQSTATEN_DTOESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_DTOESEN.
mbed_official 146:f64d43ff0c18 3588
mbed_official 146:f64d43ff0c18 3589 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3590 //! @brief Read current value of the SDHC_IRQSTATEN_DTOESEN field.
mbed_official 146:f64d43ff0c18 3591 #define BR_SDHC_IRQSTATEN_DTOESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DTOESEN))
mbed_official 146:f64d43ff0c18 3592 #endif
mbed_official 146:f64d43ff0c18 3593
mbed_official 146:f64d43ff0c18 3594 //! @brief Format value for bitfield SDHC_IRQSTATEN_DTOESEN.
mbed_official 146:f64d43ff0c18 3595 #define BF_SDHC_IRQSTATEN_DTOESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_DTOESEN), uint32_t) & BM_SDHC_IRQSTATEN_DTOESEN)
mbed_official 146:f64d43ff0c18 3596
mbed_official 146:f64d43ff0c18 3597 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3598 //! @brief Set the DTOESEN field to a new value.
mbed_official 146:f64d43ff0c18 3599 #define BW_SDHC_IRQSTATEN_DTOESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DTOESEN) = (v))
mbed_official 146:f64d43ff0c18 3600 #endif
mbed_official 146:f64d43ff0c18 3601 //@}
mbed_official 146:f64d43ff0c18 3602
mbed_official 146:f64d43ff0c18 3603 /*!
mbed_official 146:f64d43ff0c18 3604 * @name Register SDHC_IRQSTATEN, field DCESEN[21] (RW)
mbed_official 146:f64d43ff0c18 3605 *
mbed_official 146:f64d43ff0c18 3606 * Values:
mbed_official 146:f64d43ff0c18 3607 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3608 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3609 */
mbed_official 146:f64d43ff0c18 3610 //@{
mbed_official 146:f64d43ff0c18 3611 #define BP_SDHC_IRQSTATEN_DCESEN (21U) //!< Bit position for SDHC_IRQSTATEN_DCESEN.
mbed_official 146:f64d43ff0c18 3612 #define BM_SDHC_IRQSTATEN_DCESEN (0x00200000U) //!< Bit mask for SDHC_IRQSTATEN_DCESEN.
mbed_official 146:f64d43ff0c18 3613 #define BS_SDHC_IRQSTATEN_DCESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_DCESEN.
mbed_official 146:f64d43ff0c18 3614
mbed_official 146:f64d43ff0c18 3615 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3616 //! @brief Read current value of the SDHC_IRQSTATEN_DCESEN field.
mbed_official 146:f64d43ff0c18 3617 #define BR_SDHC_IRQSTATEN_DCESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DCESEN))
mbed_official 146:f64d43ff0c18 3618 #endif
mbed_official 146:f64d43ff0c18 3619
mbed_official 146:f64d43ff0c18 3620 //! @brief Format value for bitfield SDHC_IRQSTATEN_DCESEN.
mbed_official 146:f64d43ff0c18 3621 #define BF_SDHC_IRQSTATEN_DCESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_DCESEN), uint32_t) & BM_SDHC_IRQSTATEN_DCESEN)
mbed_official 146:f64d43ff0c18 3622
mbed_official 146:f64d43ff0c18 3623 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3624 //! @brief Set the DCESEN field to a new value.
mbed_official 146:f64d43ff0c18 3625 #define BW_SDHC_IRQSTATEN_DCESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DCESEN) = (v))
mbed_official 146:f64d43ff0c18 3626 #endif
mbed_official 146:f64d43ff0c18 3627 //@}
mbed_official 146:f64d43ff0c18 3628
mbed_official 146:f64d43ff0c18 3629 /*!
mbed_official 146:f64d43ff0c18 3630 * @name Register SDHC_IRQSTATEN, field DEBESEN[22] (RW)
mbed_official 146:f64d43ff0c18 3631 *
mbed_official 146:f64d43ff0c18 3632 * Values:
mbed_official 146:f64d43ff0c18 3633 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3634 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3635 */
mbed_official 146:f64d43ff0c18 3636 //@{
mbed_official 146:f64d43ff0c18 3637 #define BP_SDHC_IRQSTATEN_DEBESEN (22U) //!< Bit position for SDHC_IRQSTATEN_DEBESEN.
mbed_official 146:f64d43ff0c18 3638 #define BM_SDHC_IRQSTATEN_DEBESEN (0x00400000U) //!< Bit mask for SDHC_IRQSTATEN_DEBESEN.
mbed_official 146:f64d43ff0c18 3639 #define BS_SDHC_IRQSTATEN_DEBESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_DEBESEN.
mbed_official 146:f64d43ff0c18 3640
mbed_official 146:f64d43ff0c18 3641 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3642 //! @brief Read current value of the SDHC_IRQSTATEN_DEBESEN field.
mbed_official 146:f64d43ff0c18 3643 #define BR_SDHC_IRQSTATEN_DEBESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DEBESEN))
mbed_official 146:f64d43ff0c18 3644 #endif
mbed_official 146:f64d43ff0c18 3645
mbed_official 146:f64d43ff0c18 3646 //! @brief Format value for bitfield SDHC_IRQSTATEN_DEBESEN.
mbed_official 146:f64d43ff0c18 3647 #define BF_SDHC_IRQSTATEN_DEBESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_DEBESEN), uint32_t) & BM_SDHC_IRQSTATEN_DEBESEN)
mbed_official 146:f64d43ff0c18 3648
mbed_official 146:f64d43ff0c18 3649 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3650 //! @brief Set the DEBESEN field to a new value.
mbed_official 146:f64d43ff0c18 3651 #define BW_SDHC_IRQSTATEN_DEBESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DEBESEN) = (v))
mbed_official 146:f64d43ff0c18 3652 #endif
mbed_official 146:f64d43ff0c18 3653 //@}
mbed_official 146:f64d43ff0c18 3654
mbed_official 146:f64d43ff0c18 3655 /*!
mbed_official 146:f64d43ff0c18 3656 * @name Register SDHC_IRQSTATEN, field AC12ESEN[24] (RW)
mbed_official 146:f64d43ff0c18 3657 *
mbed_official 146:f64d43ff0c18 3658 * Values:
mbed_official 146:f64d43ff0c18 3659 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3660 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3661 */
mbed_official 146:f64d43ff0c18 3662 //@{
mbed_official 146:f64d43ff0c18 3663 #define BP_SDHC_IRQSTATEN_AC12ESEN (24U) //!< Bit position for SDHC_IRQSTATEN_AC12ESEN.
mbed_official 146:f64d43ff0c18 3664 #define BM_SDHC_IRQSTATEN_AC12ESEN (0x01000000U) //!< Bit mask for SDHC_IRQSTATEN_AC12ESEN.
mbed_official 146:f64d43ff0c18 3665 #define BS_SDHC_IRQSTATEN_AC12ESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_AC12ESEN.
mbed_official 146:f64d43ff0c18 3666
mbed_official 146:f64d43ff0c18 3667 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3668 //! @brief Read current value of the SDHC_IRQSTATEN_AC12ESEN field.
mbed_official 146:f64d43ff0c18 3669 #define BR_SDHC_IRQSTATEN_AC12ESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_AC12ESEN))
mbed_official 146:f64d43ff0c18 3670 #endif
mbed_official 146:f64d43ff0c18 3671
mbed_official 146:f64d43ff0c18 3672 //! @brief Format value for bitfield SDHC_IRQSTATEN_AC12ESEN.
mbed_official 146:f64d43ff0c18 3673 #define BF_SDHC_IRQSTATEN_AC12ESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_AC12ESEN), uint32_t) & BM_SDHC_IRQSTATEN_AC12ESEN)
mbed_official 146:f64d43ff0c18 3674
mbed_official 146:f64d43ff0c18 3675 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3676 //! @brief Set the AC12ESEN field to a new value.
mbed_official 146:f64d43ff0c18 3677 #define BW_SDHC_IRQSTATEN_AC12ESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_AC12ESEN) = (v))
mbed_official 146:f64d43ff0c18 3678 #endif
mbed_official 146:f64d43ff0c18 3679 //@}
mbed_official 146:f64d43ff0c18 3680
mbed_official 146:f64d43ff0c18 3681 /*!
mbed_official 146:f64d43ff0c18 3682 * @name Register SDHC_IRQSTATEN, field DMAESEN[28] (RW)
mbed_official 146:f64d43ff0c18 3683 *
mbed_official 146:f64d43ff0c18 3684 * Values:
mbed_official 146:f64d43ff0c18 3685 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3686 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3687 */
mbed_official 146:f64d43ff0c18 3688 //@{
mbed_official 146:f64d43ff0c18 3689 #define BP_SDHC_IRQSTATEN_DMAESEN (28U) //!< Bit position for SDHC_IRQSTATEN_DMAESEN.
mbed_official 146:f64d43ff0c18 3690 #define BM_SDHC_IRQSTATEN_DMAESEN (0x10000000U) //!< Bit mask for SDHC_IRQSTATEN_DMAESEN.
mbed_official 146:f64d43ff0c18 3691 #define BS_SDHC_IRQSTATEN_DMAESEN (1U) //!< Bit field size in bits for SDHC_IRQSTATEN_DMAESEN.
mbed_official 146:f64d43ff0c18 3692
mbed_official 146:f64d43ff0c18 3693 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3694 //! @brief Read current value of the SDHC_IRQSTATEN_DMAESEN field.
mbed_official 146:f64d43ff0c18 3695 #define BR_SDHC_IRQSTATEN_DMAESEN (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DMAESEN))
mbed_official 146:f64d43ff0c18 3696 #endif
mbed_official 146:f64d43ff0c18 3697
mbed_official 146:f64d43ff0c18 3698 //! @brief Format value for bitfield SDHC_IRQSTATEN_DMAESEN.
mbed_official 146:f64d43ff0c18 3699 #define BF_SDHC_IRQSTATEN_DMAESEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSTATEN_DMAESEN), uint32_t) & BM_SDHC_IRQSTATEN_DMAESEN)
mbed_official 146:f64d43ff0c18 3700
mbed_official 146:f64d43ff0c18 3701 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3702 //! @brief Set the DMAESEN field to a new value.
mbed_official 146:f64d43ff0c18 3703 #define BW_SDHC_IRQSTATEN_DMAESEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSTATEN_ADDR, BP_SDHC_IRQSTATEN_DMAESEN) = (v))
mbed_official 146:f64d43ff0c18 3704 #endif
mbed_official 146:f64d43ff0c18 3705 //@}
mbed_official 146:f64d43ff0c18 3706
mbed_official 146:f64d43ff0c18 3707 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 3708 // HW_SDHC_IRQSIGEN - Interrupt Signal Enable register
mbed_official 146:f64d43ff0c18 3709 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 3710
mbed_official 146:f64d43ff0c18 3711 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3712 /*!
mbed_official 146:f64d43ff0c18 3713 * @brief HW_SDHC_IRQSIGEN - Interrupt Signal Enable register (RW)
mbed_official 146:f64d43ff0c18 3714 *
mbed_official 146:f64d43ff0c18 3715 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 3716 *
mbed_official 146:f64d43ff0c18 3717 * This register is used to select which interrupt status is indicated to the
mbed_official 146:f64d43ff0c18 3718 * host system as the interrupt. All of these status bits share the same interrupt
mbed_official 146:f64d43ff0c18 3719 * line. Setting any of these bits to 1 enables interrupt generation. The
mbed_official 146:f64d43ff0c18 3720 * corresponding status register bit will generate an interrupt when the corresponding
mbed_official 146:f64d43ff0c18 3721 * interrupt signal enable bit is set.
mbed_official 146:f64d43ff0c18 3722 */
mbed_official 146:f64d43ff0c18 3723 typedef union _hw_sdhc_irqsigen
mbed_official 146:f64d43ff0c18 3724 {
mbed_official 146:f64d43ff0c18 3725 uint32_t U;
mbed_official 146:f64d43ff0c18 3726 struct _hw_sdhc_irqsigen_bitfields
mbed_official 146:f64d43ff0c18 3727 {
mbed_official 146:f64d43ff0c18 3728 uint32_t CCIEN : 1; //!< [0] Command Complete Interrupt Enable
mbed_official 146:f64d43ff0c18 3729 uint32_t TCIEN : 1; //!< [1] Transfer Complete Interrupt Enable
mbed_official 146:f64d43ff0c18 3730 uint32_t BGEIEN : 1; //!< [2] Block Gap Event Interrupt Enable
mbed_official 146:f64d43ff0c18 3731 uint32_t DINTIEN : 1; //!< [3] DMA Interrupt Enable
mbed_official 146:f64d43ff0c18 3732 uint32_t BWRIEN : 1; //!< [4] Buffer Write Ready Interrupt Enable
mbed_official 146:f64d43ff0c18 3733 uint32_t BRRIEN : 1; //!< [5] Buffer Read Ready Interrupt Enable
mbed_official 146:f64d43ff0c18 3734 uint32_t CINSIEN : 1; //!< [6] Card Insertion Interrupt Enable
mbed_official 146:f64d43ff0c18 3735 uint32_t CRMIEN : 1; //!< [7] Card Removal Interrupt Enable
mbed_official 146:f64d43ff0c18 3736 uint32_t CINTIEN : 1; //!< [8] Card Interrupt Enable
mbed_official 146:f64d43ff0c18 3737 uint32_t RESERVED0 : 7; //!< [15:9]
mbed_official 146:f64d43ff0c18 3738 uint32_t CTOEIEN : 1; //!< [16] Command Timeout Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3739 uint32_t CCEIEN : 1; //!< [17] Command CRC Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3740 uint32_t CEBEIEN : 1; //!< [18] Command End Bit Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3741 uint32_t CIEIEN : 1; //!< [19] Command Index Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3742 uint32_t DTOEIEN : 1; //!< [20] Data Timeout Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3743 uint32_t DCEIEN : 1; //!< [21] Data CRC Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3744 uint32_t DEBEIEN : 1; //!< [22] Data End Bit Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3745 uint32_t RESERVED1 : 1; //!< [23]
mbed_official 146:f64d43ff0c18 3746 uint32_t AC12EIEN : 1; //!< [24] Auto CMD12 Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3747 uint32_t RESERVED2 : 3; //!< [27:25]
mbed_official 146:f64d43ff0c18 3748 uint32_t DMAEIEN : 1; //!< [28] DMA Error Interrupt Enable
mbed_official 146:f64d43ff0c18 3749 uint32_t RESERVED3 : 3; //!< [31:29]
mbed_official 146:f64d43ff0c18 3750 } B;
mbed_official 146:f64d43ff0c18 3751 } hw_sdhc_irqsigen_t;
mbed_official 146:f64d43ff0c18 3752 #endif
mbed_official 146:f64d43ff0c18 3753
mbed_official 146:f64d43ff0c18 3754 /*!
mbed_official 146:f64d43ff0c18 3755 * @name Constants and macros for entire SDHC_IRQSIGEN register
mbed_official 146:f64d43ff0c18 3756 */
mbed_official 146:f64d43ff0c18 3757 //@{
mbed_official 146:f64d43ff0c18 3758 #define HW_SDHC_IRQSIGEN_ADDR (REGS_SDHC_BASE + 0x38U)
mbed_official 146:f64d43ff0c18 3759
mbed_official 146:f64d43ff0c18 3760 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3761 #define HW_SDHC_IRQSIGEN (*(__IO hw_sdhc_irqsigen_t *) HW_SDHC_IRQSIGEN_ADDR)
mbed_official 146:f64d43ff0c18 3762 #define HW_SDHC_IRQSIGEN_RD() (HW_SDHC_IRQSIGEN.U)
mbed_official 146:f64d43ff0c18 3763 #define HW_SDHC_IRQSIGEN_WR(v) (HW_SDHC_IRQSIGEN.U = (v))
mbed_official 146:f64d43ff0c18 3764 #define HW_SDHC_IRQSIGEN_SET(v) (HW_SDHC_IRQSIGEN_WR(HW_SDHC_IRQSIGEN_RD() | (v)))
mbed_official 146:f64d43ff0c18 3765 #define HW_SDHC_IRQSIGEN_CLR(v) (HW_SDHC_IRQSIGEN_WR(HW_SDHC_IRQSIGEN_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 3766 #define HW_SDHC_IRQSIGEN_TOG(v) (HW_SDHC_IRQSIGEN_WR(HW_SDHC_IRQSIGEN_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 3767 #endif
mbed_official 146:f64d43ff0c18 3768 //@}
mbed_official 146:f64d43ff0c18 3769
mbed_official 146:f64d43ff0c18 3770 /*
mbed_official 146:f64d43ff0c18 3771 * Constants & macros for individual SDHC_IRQSIGEN bitfields
mbed_official 146:f64d43ff0c18 3772 */
mbed_official 146:f64d43ff0c18 3773
mbed_official 146:f64d43ff0c18 3774 /*!
mbed_official 146:f64d43ff0c18 3775 * @name Register SDHC_IRQSIGEN, field CCIEN[0] (RW)
mbed_official 146:f64d43ff0c18 3776 *
mbed_official 146:f64d43ff0c18 3777 * Values:
mbed_official 146:f64d43ff0c18 3778 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3779 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3780 */
mbed_official 146:f64d43ff0c18 3781 //@{
mbed_official 146:f64d43ff0c18 3782 #define BP_SDHC_IRQSIGEN_CCIEN (0U) //!< Bit position for SDHC_IRQSIGEN_CCIEN.
mbed_official 146:f64d43ff0c18 3783 #define BM_SDHC_IRQSIGEN_CCIEN (0x00000001U) //!< Bit mask for SDHC_IRQSIGEN_CCIEN.
mbed_official 146:f64d43ff0c18 3784 #define BS_SDHC_IRQSIGEN_CCIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CCIEN.
mbed_official 146:f64d43ff0c18 3785
mbed_official 146:f64d43ff0c18 3786 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3787 //! @brief Read current value of the SDHC_IRQSIGEN_CCIEN field.
mbed_official 146:f64d43ff0c18 3788 #define BR_SDHC_IRQSIGEN_CCIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CCIEN))
mbed_official 146:f64d43ff0c18 3789 #endif
mbed_official 146:f64d43ff0c18 3790
mbed_official 146:f64d43ff0c18 3791 //! @brief Format value for bitfield SDHC_IRQSIGEN_CCIEN.
mbed_official 146:f64d43ff0c18 3792 #define BF_SDHC_IRQSIGEN_CCIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CCIEN), uint32_t) & BM_SDHC_IRQSIGEN_CCIEN)
mbed_official 146:f64d43ff0c18 3793
mbed_official 146:f64d43ff0c18 3794 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3795 //! @brief Set the CCIEN field to a new value.
mbed_official 146:f64d43ff0c18 3796 #define BW_SDHC_IRQSIGEN_CCIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CCIEN) = (v))
mbed_official 146:f64d43ff0c18 3797 #endif
mbed_official 146:f64d43ff0c18 3798 //@}
mbed_official 146:f64d43ff0c18 3799
mbed_official 146:f64d43ff0c18 3800 /*!
mbed_official 146:f64d43ff0c18 3801 * @name Register SDHC_IRQSIGEN, field TCIEN[1] (RW)
mbed_official 146:f64d43ff0c18 3802 *
mbed_official 146:f64d43ff0c18 3803 * Values:
mbed_official 146:f64d43ff0c18 3804 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3805 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3806 */
mbed_official 146:f64d43ff0c18 3807 //@{
mbed_official 146:f64d43ff0c18 3808 #define BP_SDHC_IRQSIGEN_TCIEN (1U) //!< Bit position for SDHC_IRQSIGEN_TCIEN.
mbed_official 146:f64d43ff0c18 3809 #define BM_SDHC_IRQSIGEN_TCIEN (0x00000002U) //!< Bit mask for SDHC_IRQSIGEN_TCIEN.
mbed_official 146:f64d43ff0c18 3810 #define BS_SDHC_IRQSIGEN_TCIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_TCIEN.
mbed_official 146:f64d43ff0c18 3811
mbed_official 146:f64d43ff0c18 3812 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3813 //! @brief Read current value of the SDHC_IRQSIGEN_TCIEN field.
mbed_official 146:f64d43ff0c18 3814 #define BR_SDHC_IRQSIGEN_TCIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_TCIEN))
mbed_official 146:f64d43ff0c18 3815 #endif
mbed_official 146:f64d43ff0c18 3816
mbed_official 146:f64d43ff0c18 3817 //! @brief Format value for bitfield SDHC_IRQSIGEN_TCIEN.
mbed_official 146:f64d43ff0c18 3818 #define BF_SDHC_IRQSIGEN_TCIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_TCIEN), uint32_t) & BM_SDHC_IRQSIGEN_TCIEN)
mbed_official 146:f64d43ff0c18 3819
mbed_official 146:f64d43ff0c18 3820 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3821 //! @brief Set the TCIEN field to a new value.
mbed_official 146:f64d43ff0c18 3822 #define BW_SDHC_IRQSIGEN_TCIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_TCIEN) = (v))
mbed_official 146:f64d43ff0c18 3823 #endif
mbed_official 146:f64d43ff0c18 3824 //@}
mbed_official 146:f64d43ff0c18 3825
mbed_official 146:f64d43ff0c18 3826 /*!
mbed_official 146:f64d43ff0c18 3827 * @name Register SDHC_IRQSIGEN, field BGEIEN[2] (RW)
mbed_official 146:f64d43ff0c18 3828 *
mbed_official 146:f64d43ff0c18 3829 * Values:
mbed_official 146:f64d43ff0c18 3830 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3831 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3832 */
mbed_official 146:f64d43ff0c18 3833 //@{
mbed_official 146:f64d43ff0c18 3834 #define BP_SDHC_IRQSIGEN_BGEIEN (2U) //!< Bit position for SDHC_IRQSIGEN_BGEIEN.
mbed_official 146:f64d43ff0c18 3835 #define BM_SDHC_IRQSIGEN_BGEIEN (0x00000004U) //!< Bit mask for SDHC_IRQSIGEN_BGEIEN.
mbed_official 146:f64d43ff0c18 3836 #define BS_SDHC_IRQSIGEN_BGEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_BGEIEN.
mbed_official 146:f64d43ff0c18 3837
mbed_official 146:f64d43ff0c18 3838 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3839 //! @brief Read current value of the SDHC_IRQSIGEN_BGEIEN field.
mbed_official 146:f64d43ff0c18 3840 #define BR_SDHC_IRQSIGEN_BGEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BGEIEN))
mbed_official 146:f64d43ff0c18 3841 #endif
mbed_official 146:f64d43ff0c18 3842
mbed_official 146:f64d43ff0c18 3843 //! @brief Format value for bitfield SDHC_IRQSIGEN_BGEIEN.
mbed_official 146:f64d43ff0c18 3844 #define BF_SDHC_IRQSIGEN_BGEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_BGEIEN), uint32_t) & BM_SDHC_IRQSIGEN_BGEIEN)
mbed_official 146:f64d43ff0c18 3845
mbed_official 146:f64d43ff0c18 3846 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3847 //! @brief Set the BGEIEN field to a new value.
mbed_official 146:f64d43ff0c18 3848 #define BW_SDHC_IRQSIGEN_BGEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BGEIEN) = (v))
mbed_official 146:f64d43ff0c18 3849 #endif
mbed_official 146:f64d43ff0c18 3850 //@}
mbed_official 146:f64d43ff0c18 3851
mbed_official 146:f64d43ff0c18 3852 /*!
mbed_official 146:f64d43ff0c18 3853 * @name Register SDHC_IRQSIGEN, field DINTIEN[3] (RW)
mbed_official 146:f64d43ff0c18 3854 *
mbed_official 146:f64d43ff0c18 3855 * Values:
mbed_official 146:f64d43ff0c18 3856 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3857 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3858 */
mbed_official 146:f64d43ff0c18 3859 //@{
mbed_official 146:f64d43ff0c18 3860 #define BP_SDHC_IRQSIGEN_DINTIEN (3U) //!< Bit position for SDHC_IRQSIGEN_DINTIEN.
mbed_official 146:f64d43ff0c18 3861 #define BM_SDHC_IRQSIGEN_DINTIEN (0x00000008U) //!< Bit mask for SDHC_IRQSIGEN_DINTIEN.
mbed_official 146:f64d43ff0c18 3862 #define BS_SDHC_IRQSIGEN_DINTIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_DINTIEN.
mbed_official 146:f64d43ff0c18 3863
mbed_official 146:f64d43ff0c18 3864 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3865 //! @brief Read current value of the SDHC_IRQSIGEN_DINTIEN field.
mbed_official 146:f64d43ff0c18 3866 #define BR_SDHC_IRQSIGEN_DINTIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DINTIEN))
mbed_official 146:f64d43ff0c18 3867 #endif
mbed_official 146:f64d43ff0c18 3868
mbed_official 146:f64d43ff0c18 3869 //! @brief Format value for bitfield SDHC_IRQSIGEN_DINTIEN.
mbed_official 146:f64d43ff0c18 3870 #define BF_SDHC_IRQSIGEN_DINTIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_DINTIEN), uint32_t) & BM_SDHC_IRQSIGEN_DINTIEN)
mbed_official 146:f64d43ff0c18 3871
mbed_official 146:f64d43ff0c18 3872 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3873 //! @brief Set the DINTIEN field to a new value.
mbed_official 146:f64d43ff0c18 3874 #define BW_SDHC_IRQSIGEN_DINTIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DINTIEN) = (v))
mbed_official 146:f64d43ff0c18 3875 #endif
mbed_official 146:f64d43ff0c18 3876 //@}
mbed_official 146:f64d43ff0c18 3877
mbed_official 146:f64d43ff0c18 3878 /*!
mbed_official 146:f64d43ff0c18 3879 * @name Register SDHC_IRQSIGEN, field BWRIEN[4] (RW)
mbed_official 146:f64d43ff0c18 3880 *
mbed_official 146:f64d43ff0c18 3881 * Values:
mbed_official 146:f64d43ff0c18 3882 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3883 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3884 */
mbed_official 146:f64d43ff0c18 3885 //@{
mbed_official 146:f64d43ff0c18 3886 #define BP_SDHC_IRQSIGEN_BWRIEN (4U) //!< Bit position for SDHC_IRQSIGEN_BWRIEN.
mbed_official 146:f64d43ff0c18 3887 #define BM_SDHC_IRQSIGEN_BWRIEN (0x00000010U) //!< Bit mask for SDHC_IRQSIGEN_BWRIEN.
mbed_official 146:f64d43ff0c18 3888 #define BS_SDHC_IRQSIGEN_BWRIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_BWRIEN.
mbed_official 146:f64d43ff0c18 3889
mbed_official 146:f64d43ff0c18 3890 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3891 //! @brief Read current value of the SDHC_IRQSIGEN_BWRIEN field.
mbed_official 146:f64d43ff0c18 3892 #define BR_SDHC_IRQSIGEN_BWRIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BWRIEN))
mbed_official 146:f64d43ff0c18 3893 #endif
mbed_official 146:f64d43ff0c18 3894
mbed_official 146:f64d43ff0c18 3895 //! @brief Format value for bitfield SDHC_IRQSIGEN_BWRIEN.
mbed_official 146:f64d43ff0c18 3896 #define BF_SDHC_IRQSIGEN_BWRIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_BWRIEN), uint32_t) & BM_SDHC_IRQSIGEN_BWRIEN)
mbed_official 146:f64d43ff0c18 3897
mbed_official 146:f64d43ff0c18 3898 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3899 //! @brief Set the BWRIEN field to a new value.
mbed_official 146:f64d43ff0c18 3900 #define BW_SDHC_IRQSIGEN_BWRIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BWRIEN) = (v))
mbed_official 146:f64d43ff0c18 3901 #endif
mbed_official 146:f64d43ff0c18 3902 //@}
mbed_official 146:f64d43ff0c18 3903
mbed_official 146:f64d43ff0c18 3904 /*!
mbed_official 146:f64d43ff0c18 3905 * @name Register SDHC_IRQSIGEN, field BRRIEN[5] (RW)
mbed_official 146:f64d43ff0c18 3906 *
mbed_official 146:f64d43ff0c18 3907 * Values:
mbed_official 146:f64d43ff0c18 3908 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3909 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3910 */
mbed_official 146:f64d43ff0c18 3911 //@{
mbed_official 146:f64d43ff0c18 3912 #define BP_SDHC_IRQSIGEN_BRRIEN (5U) //!< Bit position for SDHC_IRQSIGEN_BRRIEN.
mbed_official 146:f64d43ff0c18 3913 #define BM_SDHC_IRQSIGEN_BRRIEN (0x00000020U) //!< Bit mask for SDHC_IRQSIGEN_BRRIEN.
mbed_official 146:f64d43ff0c18 3914 #define BS_SDHC_IRQSIGEN_BRRIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_BRRIEN.
mbed_official 146:f64d43ff0c18 3915
mbed_official 146:f64d43ff0c18 3916 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3917 //! @brief Read current value of the SDHC_IRQSIGEN_BRRIEN field.
mbed_official 146:f64d43ff0c18 3918 #define BR_SDHC_IRQSIGEN_BRRIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BRRIEN))
mbed_official 146:f64d43ff0c18 3919 #endif
mbed_official 146:f64d43ff0c18 3920
mbed_official 146:f64d43ff0c18 3921 //! @brief Format value for bitfield SDHC_IRQSIGEN_BRRIEN.
mbed_official 146:f64d43ff0c18 3922 #define BF_SDHC_IRQSIGEN_BRRIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_BRRIEN), uint32_t) & BM_SDHC_IRQSIGEN_BRRIEN)
mbed_official 146:f64d43ff0c18 3923
mbed_official 146:f64d43ff0c18 3924 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3925 //! @brief Set the BRRIEN field to a new value.
mbed_official 146:f64d43ff0c18 3926 #define BW_SDHC_IRQSIGEN_BRRIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_BRRIEN) = (v))
mbed_official 146:f64d43ff0c18 3927 #endif
mbed_official 146:f64d43ff0c18 3928 //@}
mbed_official 146:f64d43ff0c18 3929
mbed_official 146:f64d43ff0c18 3930 /*!
mbed_official 146:f64d43ff0c18 3931 * @name Register SDHC_IRQSIGEN, field CINSIEN[6] (RW)
mbed_official 146:f64d43ff0c18 3932 *
mbed_official 146:f64d43ff0c18 3933 * Values:
mbed_official 146:f64d43ff0c18 3934 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3935 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3936 */
mbed_official 146:f64d43ff0c18 3937 //@{
mbed_official 146:f64d43ff0c18 3938 #define BP_SDHC_IRQSIGEN_CINSIEN (6U) //!< Bit position for SDHC_IRQSIGEN_CINSIEN.
mbed_official 146:f64d43ff0c18 3939 #define BM_SDHC_IRQSIGEN_CINSIEN (0x00000040U) //!< Bit mask for SDHC_IRQSIGEN_CINSIEN.
mbed_official 146:f64d43ff0c18 3940 #define BS_SDHC_IRQSIGEN_CINSIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CINSIEN.
mbed_official 146:f64d43ff0c18 3941
mbed_official 146:f64d43ff0c18 3942 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3943 //! @brief Read current value of the SDHC_IRQSIGEN_CINSIEN field.
mbed_official 146:f64d43ff0c18 3944 #define BR_SDHC_IRQSIGEN_CINSIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CINSIEN))
mbed_official 146:f64d43ff0c18 3945 #endif
mbed_official 146:f64d43ff0c18 3946
mbed_official 146:f64d43ff0c18 3947 //! @brief Format value for bitfield SDHC_IRQSIGEN_CINSIEN.
mbed_official 146:f64d43ff0c18 3948 #define BF_SDHC_IRQSIGEN_CINSIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CINSIEN), uint32_t) & BM_SDHC_IRQSIGEN_CINSIEN)
mbed_official 146:f64d43ff0c18 3949
mbed_official 146:f64d43ff0c18 3950 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3951 //! @brief Set the CINSIEN field to a new value.
mbed_official 146:f64d43ff0c18 3952 #define BW_SDHC_IRQSIGEN_CINSIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CINSIEN) = (v))
mbed_official 146:f64d43ff0c18 3953 #endif
mbed_official 146:f64d43ff0c18 3954 //@}
mbed_official 146:f64d43ff0c18 3955
mbed_official 146:f64d43ff0c18 3956 /*!
mbed_official 146:f64d43ff0c18 3957 * @name Register SDHC_IRQSIGEN, field CRMIEN[7] (RW)
mbed_official 146:f64d43ff0c18 3958 *
mbed_official 146:f64d43ff0c18 3959 * Values:
mbed_official 146:f64d43ff0c18 3960 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3961 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3962 */
mbed_official 146:f64d43ff0c18 3963 //@{
mbed_official 146:f64d43ff0c18 3964 #define BP_SDHC_IRQSIGEN_CRMIEN (7U) //!< Bit position for SDHC_IRQSIGEN_CRMIEN.
mbed_official 146:f64d43ff0c18 3965 #define BM_SDHC_IRQSIGEN_CRMIEN (0x00000080U) //!< Bit mask for SDHC_IRQSIGEN_CRMIEN.
mbed_official 146:f64d43ff0c18 3966 #define BS_SDHC_IRQSIGEN_CRMIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CRMIEN.
mbed_official 146:f64d43ff0c18 3967
mbed_official 146:f64d43ff0c18 3968 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3969 //! @brief Read current value of the SDHC_IRQSIGEN_CRMIEN field.
mbed_official 146:f64d43ff0c18 3970 #define BR_SDHC_IRQSIGEN_CRMIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CRMIEN))
mbed_official 146:f64d43ff0c18 3971 #endif
mbed_official 146:f64d43ff0c18 3972
mbed_official 146:f64d43ff0c18 3973 //! @brief Format value for bitfield SDHC_IRQSIGEN_CRMIEN.
mbed_official 146:f64d43ff0c18 3974 #define BF_SDHC_IRQSIGEN_CRMIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CRMIEN), uint32_t) & BM_SDHC_IRQSIGEN_CRMIEN)
mbed_official 146:f64d43ff0c18 3975
mbed_official 146:f64d43ff0c18 3976 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3977 //! @brief Set the CRMIEN field to a new value.
mbed_official 146:f64d43ff0c18 3978 #define BW_SDHC_IRQSIGEN_CRMIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CRMIEN) = (v))
mbed_official 146:f64d43ff0c18 3979 #endif
mbed_official 146:f64d43ff0c18 3980 //@}
mbed_official 146:f64d43ff0c18 3981
mbed_official 146:f64d43ff0c18 3982 /*!
mbed_official 146:f64d43ff0c18 3983 * @name Register SDHC_IRQSIGEN, field CINTIEN[8] (RW)
mbed_official 146:f64d43ff0c18 3984 *
mbed_official 146:f64d43ff0c18 3985 * Values:
mbed_official 146:f64d43ff0c18 3986 * - 0 - Masked
mbed_official 146:f64d43ff0c18 3987 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 3988 */
mbed_official 146:f64d43ff0c18 3989 //@{
mbed_official 146:f64d43ff0c18 3990 #define BP_SDHC_IRQSIGEN_CINTIEN (8U) //!< Bit position for SDHC_IRQSIGEN_CINTIEN.
mbed_official 146:f64d43ff0c18 3991 #define BM_SDHC_IRQSIGEN_CINTIEN (0x00000100U) //!< Bit mask for SDHC_IRQSIGEN_CINTIEN.
mbed_official 146:f64d43ff0c18 3992 #define BS_SDHC_IRQSIGEN_CINTIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CINTIEN.
mbed_official 146:f64d43ff0c18 3993
mbed_official 146:f64d43ff0c18 3994 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 3995 //! @brief Read current value of the SDHC_IRQSIGEN_CINTIEN field.
mbed_official 146:f64d43ff0c18 3996 #define BR_SDHC_IRQSIGEN_CINTIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CINTIEN))
mbed_official 146:f64d43ff0c18 3997 #endif
mbed_official 146:f64d43ff0c18 3998
mbed_official 146:f64d43ff0c18 3999 //! @brief Format value for bitfield SDHC_IRQSIGEN_CINTIEN.
mbed_official 146:f64d43ff0c18 4000 #define BF_SDHC_IRQSIGEN_CINTIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CINTIEN), uint32_t) & BM_SDHC_IRQSIGEN_CINTIEN)
mbed_official 146:f64d43ff0c18 4001
mbed_official 146:f64d43ff0c18 4002 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4003 //! @brief Set the CINTIEN field to a new value.
mbed_official 146:f64d43ff0c18 4004 #define BW_SDHC_IRQSIGEN_CINTIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CINTIEN) = (v))
mbed_official 146:f64d43ff0c18 4005 #endif
mbed_official 146:f64d43ff0c18 4006 //@}
mbed_official 146:f64d43ff0c18 4007
mbed_official 146:f64d43ff0c18 4008 /*!
mbed_official 146:f64d43ff0c18 4009 * @name Register SDHC_IRQSIGEN, field CTOEIEN[16] (RW)
mbed_official 146:f64d43ff0c18 4010 *
mbed_official 146:f64d43ff0c18 4011 * Values:
mbed_official 146:f64d43ff0c18 4012 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4013 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4014 */
mbed_official 146:f64d43ff0c18 4015 //@{
mbed_official 146:f64d43ff0c18 4016 #define BP_SDHC_IRQSIGEN_CTOEIEN (16U) //!< Bit position for SDHC_IRQSIGEN_CTOEIEN.
mbed_official 146:f64d43ff0c18 4017 #define BM_SDHC_IRQSIGEN_CTOEIEN (0x00010000U) //!< Bit mask for SDHC_IRQSIGEN_CTOEIEN.
mbed_official 146:f64d43ff0c18 4018 #define BS_SDHC_IRQSIGEN_CTOEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CTOEIEN.
mbed_official 146:f64d43ff0c18 4019
mbed_official 146:f64d43ff0c18 4020 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4021 //! @brief Read current value of the SDHC_IRQSIGEN_CTOEIEN field.
mbed_official 146:f64d43ff0c18 4022 #define BR_SDHC_IRQSIGEN_CTOEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CTOEIEN))
mbed_official 146:f64d43ff0c18 4023 #endif
mbed_official 146:f64d43ff0c18 4024
mbed_official 146:f64d43ff0c18 4025 //! @brief Format value for bitfield SDHC_IRQSIGEN_CTOEIEN.
mbed_official 146:f64d43ff0c18 4026 #define BF_SDHC_IRQSIGEN_CTOEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CTOEIEN), uint32_t) & BM_SDHC_IRQSIGEN_CTOEIEN)
mbed_official 146:f64d43ff0c18 4027
mbed_official 146:f64d43ff0c18 4028 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4029 //! @brief Set the CTOEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4030 #define BW_SDHC_IRQSIGEN_CTOEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CTOEIEN) = (v))
mbed_official 146:f64d43ff0c18 4031 #endif
mbed_official 146:f64d43ff0c18 4032 //@}
mbed_official 146:f64d43ff0c18 4033
mbed_official 146:f64d43ff0c18 4034 /*!
mbed_official 146:f64d43ff0c18 4035 * @name Register SDHC_IRQSIGEN, field CCEIEN[17] (RW)
mbed_official 146:f64d43ff0c18 4036 *
mbed_official 146:f64d43ff0c18 4037 * Values:
mbed_official 146:f64d43ff0c18 4038 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4039 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4040 */
mbed_official 146:f64d43ff0c18 4041 //@{
mbed_official 146:f64d43ff0c18 4042 #define BP_SDHC_IRQSIGEN_CCEIEN (17U) //!< Bit position for SDHC_IRQSIGEN_CCEIEN.
mbed_official 146:f64d43ff0c18 4043 #define BM_SDHC_IRQSIGEN_CCEIEN (0x00020000U) //!< Bit mask for SDHC_IRQSIGEN_CCEIEN.
mbed_official 146:f64d43ff0c18 4044 #define BS_SDHC_IRQSIGEN_CCEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CCEIEN.
mbed_official 146:f64d43ff0c18 4045
mbed_official 146:f64d43ff0c18 4046 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4047 //! @brief Read current value of the SDHC_IRQSIGEN_CCEIEN field.
mbed_official 146:f64d43ff0c18 4048 #define BR_SDHC_IRQSIGEN_CCEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CCEIEN))
mbed_official 146:f64d43ff0c18 4049 #endif
mbed_official 146:f64d43ff0c18 4050
mbed_official 146:f64d43ff0c18 4051 //! @brief Format value for bitfield SDHC_IRQSIGEN_CCEIEN.
mbed_official 146:f64d43ff0c18 4052 #define BF_SDHC_IRQSIGEN_CCEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CCEIEN), uint32_t) & BM_SDHC_IRQSIGEN_CCEIEN)
mbed_official 146:f64d43ff0c18 4053
mbed_official 146:f64d43ff0c18 4054 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4055 //! @brief Set the CCEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4056 #define BW_SDHC_IRQSIGEN_CCEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CCEIEN) = (v))
mbed_official 146:f64d43ff0c18 4057 #endif
mbed_official 146:f64d43ff0c18 4058 //@}
mbed_official 146:f64d43ff0c18 4059
mbed_official 146:f64d43ff0c18 4060 /*!
mbed_official 146:f64d43ff0c18 4061 * @name Register SDHC_IRQSIGEN, field CEBEIEN[18] (RW)
mbed_official 146:f64d43ff0c18 4062 *
mbed_official 146:f64d43ff0c18 4063 * Values:
mbed_official 146:f64d43ff0c18 4064 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4065 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4066 */
mbed_official 146:f64d43ff0c18 4067 //@{
mbed_official 146:f64d43ff0c18 4068 #define BP_SDHC_IRQSIGEN_CEBEIEN (18U) //!< Bit position for SDHC_IRQSIGEN_CEBEIEN.
mbed_official 146:f64d43ff0c18 4069 #define BM_SDHC_IRQSIGEN_CEBEIEN (0x00040000U) //!< Bit mask for SDHC_IRQSIGEN_CEBEIEN.
mbed_official 146:f64d43ff0c18 4070 #define BS_SDHC_IRQSIGEN_CEBEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CEBEIEN.
mbed_official 146:f64d43ff0c18 4071
mbed_official 146:f64d43ff0c18 4072 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4073 //! @brief Read current value of the SDHC_IRQSIGEN_CEBEIEN field.
mbed_official 146:f64d43ff0c18 4074 #define BR_SDHC_IRQSIGEN_CEBEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CEBEIEN))
mbed_official 146:f64d43ff0c18 4075 #endif
mbed_official 146:f64d43ff0c18 4076
mbed_official 146:f64d43ff0c18 4077 //! @brief Format value for bitfield SDHC_IRQSIGEN_CEBEIEN.
mbed_official 146:f64d43ff0c18 4078 #define BF_SDHC_IRQSIGEN_CEBEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CEBEIEN), uint32_t) & BM_SDHC_IRQSIGEN_CEBEIEN)
mbed_official 146:f64d43ff0c18 4079
mbed_official 146:f64d43ff0c18 4080 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4081 //! @brief Set the CEBEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4082 #define BW_SDHC_IRQSIGEN_CEBEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CEBEIEN) = (v))
mbed_official 146:f64d43ff0c18 4083 #endif
mbed_official 146:f64d43ff0c18 4084 //@}
mbed_official 146:f64d43ff0c18 4085
mbed_official 146:f64d43ff0c18 4086 /*!
mbed_official 146:f64d43ff0c18 4087 * @name Register SDHC_IRQSIGEN, field CIEIEN[19] (RW)
mbed_official 146:f64d43ff0c18 4088 *
mbed_official 146:f64d43ff0c18 4089 * Values:
mbed_official 146:f64d43ff0c18 4090 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4091 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4092 */
mbed_official 146:f64d43ff0c18 4093 //@{
mbed_official 146:f64d43ff0c18 4094 #define BP_SDHC_IRQSIGEN_CIEIEN (19U) //!< Bit position for SDHC_IRQSIGEN_CIEIEN.
mbed_official 146:f64d43ff0c18 4095 #define BM_SDHC_IRQSIGEN_CIEIEN (0x00080000U) //!< Bit mask for SDHC_IRQSIGEN_CIEIEN.
mbed_official 146:f64d43ff0c18 4096 #define BS_SDHC_IRQSIGEN_CIEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_CIEIEN.
mbed_official 146:f64d43ff0c18 4097
mbed_official 146:f64d43ff0c18 4098 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4099 //! @brief Read current value of the SDHC_IRQSIGEN_CIEIEN field.
mbed_official 146:f64d43ff0c18 4100 #define BR_SDHC_IRQSIGEN_CIEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CIEIEN))
mbed_official 146:f64d43ff0c18 4101 #endif
mbed_official 146:f64d43ff0c18 4102
mbed_official 146:f64d43ff0c18 4103 //! @brief Format value for bitfield SDHC_IRQSIGEN_CIEIEN.
mbed_official 146:f64d43ff0c18 4104 #define BF_SDHC_IRQSIGEN_CIEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_CIEIEN), uint32_t) & BM_SDHC_IRQSIGEN_CIEIEN)
mbed_official 146:f64d43ff0c18 4105
mbed_official 146:f64d43ff0c18 4106 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4107 //! @brief Set the CIEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4108 #define BW_SDHC_IRQSIGEN_CIEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_CIEIEN) = (v))
mbed_official 146:f64d43ff0c18 4109 #endif
mbed_official 146:f64d43ff0c18 4110 //@}
mbed_official 146:f64d43ff0c18 4111
mbed_official 146:f64d43ff0c18 4112 /*!
mbed_official 146:f64d43ff0c18 4113 * @name Register SDHC_IRQSIGEN, field DTOEIEN[20] (RW)
mbed_official 146:f64d43ff0c18 4114 *
mbed_official 146:f64d43ff0c18 4115 * Values:
mbed_official 146:f64d43ff0c18 4116 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4117 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4118 */
mbed_official 146:f64d43ff0c18 4119 //@{
mbed_official 146:f64d43ff0c18 4120 #define BP_SDHC_IRQSIGEN_DTOEIEN (20U) //!< Bit position for SDHC_IRQSIGEN_DTOEIEN.
mbed_official 146:f64d43ff0c18 4121 #define BM_SDHC_IRQSIGEN_DTOEIEN (0x00100000U) //!< Bit mask for SDHC_IRQSIGEN_DTOEIEN.
mbed_official 146:f64d43ff0c18 4122 #define BS_SDHC_IRQSIGEN_DTOEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_DTOEIEN.
mbed_official 146:f64d43ff0c18 4123
mbed_official 146:f64d43ff0c18 4124 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4125 //! @brief Read current value of the SDHC_IRQSIGEN_DTOEIEN field.
mbed_official 146:f64d43ff0c18 4126 #define BR_SDHC_IRQSIGEN_DTOEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DTOEIEN))
mbed_official 146:f64d43ff0c18 4127 #endif
mbed_official 146:f64d43ff0c18 4128
mbed_official 146:f64d43ff0c18 4129 //! @brief Format value for bitfield SDHC_IRQSIGEN_DTOEIEN.
mbed_official 146:f64d43ff0c18 4130 #define BF_SDHC_IRQSIGEN_DTOEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_DTOEIEN), uint32_t) & BM_SDHC_IRQSIGEN_DTOEIEN)
mbed_official 146:f64d43ff0c18 4131
mbed_official 146:f64d43ff0c18 4132 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4133 //! @brief Set the DTOEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4134 #define BW_SDHC_IRQSIGEN_DTOEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DTOEIEN) = (v))
mbed_official 146:f64d43ff0c18 4135 #endif
mbed_official 146:f64d43ff0c18 4136 //@}
mbed_official 146:f64d43ff0c18 4137
mbed_official 146:f64d43ff0c18 4138 /*!
mbed_official 146:f64d43ff0c18 4139 * @name Register SDHC_IRQSIGEN, field DCEIEN[21] (RW)
mbed_official 146:f64d43ff0c18 4140 *
mbed_official 146:f64d43ff0c18 4141 * Values:
mbed_official 146:f64d43ff0c18 4142 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4143 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4144 */
mbed_official 146:f64d43ff0c18 4145 //@{
mbed_official 146:f64d43ff0c18 4146 #define BP_SDHC_IRQSIGEN_DCEIEN (21U) //!< Bit position for SDHC_IRQSIGEN_DCEIEN.
mbed_official 146:f64d43ff0c18 4147 #define BM_SDHC_IRQSIGEN_DCEIEN (0x00200000U) //!< Bit mask for SDHC_IRQSIGEN_DCEIEN.
mbed_official 146:f64d43ff0c18 4148 #define BS_SDHC_IRQSIGEN_DCEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_DCEIEN.
mbed_official 146:f64d43ff0c18 4149
mbed_official 146:f64d43ff0c18 4150 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4151 //! @brief Read current value of the SDHC_IRQSIGEN_DCEIEN field.
mbed_official 146:f64d43ff0c18 4152 #define BR_SDHC_IRQSIGEN_DCEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DCEIEN))
mbed_official 146:f64d43ff0c18 4153 #endif
mbed_official 146:f64d43ff0c18 4154
mbed_official 146:f64d43ff0c18 4155 //! @brief Format value for bitfield SDHC_IRQSIGEN_DCEIEN.
mbed_official 146:f64d43ff0c18 4156 #define BF_SDHC_IRQSIGEN_DCEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_DCEIEN), uint32_t) & BM_SDHC_IRQSIGEN_DCEIEN)
mbed_official 146:f64d43ff0c18 4157
mbed_official 146:f64d43ff0c18 4158 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4159 //! @brief Set the DCEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4160 #define BW_SDHC_IRQSIGEN_DCEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DCEIEN) = (v))
mbed_official 146:f64d43ff0c18 4161 #endif
mbed_official 146:f64d43ff0c18 4162 //@}
mbed_official 146:f64d43ff0c18 4163
mbed_official 146:f64d43ff0c18 4164 /*!
mbed_official 146:f64d43ff0c18 4165 * @name Register SDHC_IRQSIGEN, field DEBEIEN[22] (RW)
mbed_official 146:f64d43ff0c18 4166 *
mbed_official 146:f64d43ff0c18 4167 * Values:
mbed_official 146:f64d43ff0c18 4168 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4169 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4170 */
mbed_official 146:f64d43ff0c18 4171 //@{
mbed_official 146:f64d43ff0c18 4172 #define BP_SDHC_IRQSIGEN_DEBEIEN (22U) //!< Bit position for SDHC_IRQSIGEN_DEBEIEN.
mbed_official 146:f64d43ff0c18 4173 #define BM_SDHC_IRQSIGEN_DEBEIEN (0x00400000U) //!< Bit mask for SDHC_IRQSIGEN_DEBEIEN.
mbed_official 146:f64d43ff0c18 4174 #define BS_SDHC_IRQSIGEN_DEBEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_DEBEIEN.
mbed_official 146:f64d43ff0c18 4175
mbed_official 146:f64d43ff0c18 4176 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4177 //! @brief Read current value of the SDHC_IRQSIGEN_DEBEIEN field.
mbed_official 146:f64d43ff0c18 4178 #define BR_SDHC_IRQSIGEN_DEBEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DEBEIEN))
mbed_official 146:f64d43ff0c18 4179 #endif
mbed_official 146:f64d43ff0c18 4180
mbed_official 146:f64d43ff0c18 4181 //! @brief Format value for bitfield SDHC_IRQSIGEN_DEBEIEN.
mbed_official 146:f64d43ff0c18 4182 #define BF_SDHC_IRQSIGEN_DEBEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_DEBEIEN), uint32_t) & BM_SDHC_IRQSIGEN_DEBEIEN)
mbed_official 146:f64d43ff0c18 4183
mbed_official 146:f64d43ff0c18 4184 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4185 //! @brief Set the DEBEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4186 #define BW_SDHC_IRQSIGEN_DEBEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DEBEIEN) = (v))
mbed_official 146:f64d43ff0c18 4187 #endif
mbed_official 146:f64d43ff0c18 4188 //@}
mbed_official 146:f64d43ff0c18 4189
mbed_official 146:f64d43ff0c18 4190 /*!
mbed_official 146:f64d43ff0c18 4191 * @name Register SDHC_IRQSIGEN, field AC12EIEN[24] (RW)
mbed_official 146:f64d43ff0c18 4192 *
mbed_official 146:f64d43ff0c18 4193 * Values:
mbed_official 146:f64d43ff0c18 4194 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4195 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4196 */
mbed_official 146:f64d43ff0c18 4197 //@{
mbed_official 146:f64d43ff0c18 4198 #define BP_SDHC_IRQSIGEN_AC12EIEN (24U) //!< Bit position for SDHC_IRQSIGEN_AC12EIEN.
mbed_official 146:f64d43ff0c18 4199 #define BM_SDHC_IRQSIGEN_AC12EIEN (0x01000000U) //!< Bit mask for SDHC_IRQSIGEN_AC12EIEN.
mbed_official 146:f64d43ff0c18 4200 #define BS_SDHC_IRQSIGEN_AC12EIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_AC12EIEN.
mbed_official 146:f64d43ff0c18 4201
mbed_official 146:f64d43ff0c18 4202 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4203 //! @brief Read current value of the SDHC_IRQSIGEN_AC12EIEN field.
mbed_official 146:f64d43ff0c18 4204 #define BR_SDHC_IRQSIGEN_AC12EIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_AC12EIEN))
mbed_official 146:f64d43ff0c18 4205 #endif
mbed_official 146:f64d43ff0c18 4206
mbed_official 146:f64d43ff0c18 4207 //! @brief Format value for bitfield SDHC_IRQSIGEN_AC12EIEN.
mbed_official 146:f64d43ff0c18 4208 #define BF_SDHC_IRQSIGEN_AC12EIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_AC12EIEN), uint32_t) & BM_SDHC_IRQSIGEN_AC12EIEN)
mbed_official 146:f64d43ff0c18 4209
mbed_official 146:f64d43ff0c18 4210 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4211 //! @brief Set the AC12EIEN field to a new value.
mbed_official 146:f64d43ff0c18 4212 #define BW_SDHC_IRQSIGEN_AC12EIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_AC12EIEN) = (v))
mbed_official 146:f64d43ff0c18 4213 #endif
mbed_official 146:f64d43ff0c18 4214 //@}
mbed_official 146:f64d43ff0c18 4215
mbed_official 146:f64d43ff0c18 4216 /*!
mbed_official 146:f64d43ff0c18 4217 * @name Register SDHC_IRQSIGEN, field DMAEIEN[28] (RW)
mbed_official 146:f64d43ff0c18 4218 *
mbed_official 146:f64d43ff0c18 4219 * Values:
mbed_official 146:f64d43ff0c18 4220 * - 0 - Masked
mbed_official 146:f64d43ff0c18 4221 * - 1 - Enabled
mbed_official 146:f64d43ff0c18 4222 */
mbed_official 146:f64d43ff0c18 4223 //@{
mbed_official 146:f64d43ff0c18 4224 #define BP_SDHC_IRQSIGEN_DMAEIEN (28U) //!< Bit position for SDHC_IRQSIGEN_DMAEIEN.
mbed_official 146:f64d43ff0c18 4225 #define BM_SDHC_IRQSIGEN_DMAEIEN (0x10000000U) //!< Bit mask for SDHC_IRQSIGEN_DMAEIEN.
mbed_official 146:f64d43ff0c18 4226 #define BS_SDHC_IRQSIGEN_DMAEIEN (1U) //!< Bit field size in bits for SDHC_IRQSIGEN_DMAEIEN.
mbed_official 146:f64d43ff0c18 4227
mbed_official 146:f64d43ff0c18 4228 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4229 //! @brief Read current value of the SDHC_IRQSIGEN_DMAEIEN field.
mbed_official 146:f64d43ff0c18 4230 #define BR_SDHC_IRQSIGEN_DMAEIEN (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DMAEIEN))
mbed_official 146:f64d43ff0c18 4231 #endif
mbed_official 146:f64d43ff0c18 4232
mbed_official 146:f64d43ff0c18 4233 //! @brief Format value for bitfield SDHC_IRQSIGEN_DMAEIEN.
mbed_official 146:f64d43ff0c18 4234 #define BF_SDHC_IRQSIGEN_DMAEIEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_IRQSIGEN_DMAEIEN), uint32_t) & BM_SDHC_IRQSIGEN_DMAEIEN)
mbed_official 146:f64d43ff0c18 4235
mbed_official 146:f64d43ff0c18 4236 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4237 //! @brief Set the DMAEIEN field to a new value.
mbed_official 146:f64d43ff0c18 4238 #define BW_SDHC_IRQSIGEN_DMAEIEN(v) (BITBAND_ACCESS32(HW_SDHC_IRQSIGEN_ADDR, BP_SDHC_IRQSIGEN_DMAEIEN) = (v))
mbed_official 146:f64d43ff0c18 4239 #endif
mbed_official 146:f64d43ff0c18 4240 //@}
mbed_official 146:f64d43ff0c18 4241
mbed_official 146:f64d43ff0c18 4242 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4243 // HW_SDHC_AC12ERR - Auto CMD12 Error Status Register
mbed_official 146:f64d43ff0c18 4244 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4245
mbed_official 146:f64d43ff0c18 4246 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4247 /*!
mbed_official 146:f64d43ff0c18 4248 * @brief HW_SDHC_AC12ERR - Auto CMD12 Error Status Register (RO)
mbed_official 146:f64d43ff0c18 4249 *
mbed_official 146:f64d43ff0c18 4250 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 4251 *
mbed_official 146:f64d43ff0c18 4252 * When the AC12ESEN bit in the Status register is set, the host driver shall
mbed_official 146:f64d43ff0c18 4253 * check this register to identify what kind of error the Auto CMD12 indicated.
mbed_official 146:f64d43ff0c18 4254 * This register is valid only when the Auto CMD12 Error status bit is set. The
mbed_official 146:f64d43ff0c18 4255 * following table shows the relationship between the Auto CMGD12 CRC error and the
mbed_official 146:f64d43ff0c18 4256 * Auto CMD12 command timeout error. Relationship between Command CRC Error and
mbed_official 146:f64d43ff0c18 4257 * Command Timeout Error For Auto CMD12 Auto CMD12 CRC error Auto CMD12 timeout
mbed_official 146:f64d43ff0c18 4258 * error Type of error 0 0 No error 0 1 Response timeout error 1 0 Response CRC
mbed_official 146:f64d43ff0c18 4259 * error 1 1 CMD line conflict Changes in Auto CMD12 Error Status register can be
mbed_official 146:f64d43ff0c18 4260 * classified in three scenarios: When the SDHC is going to issue an Auto CMD12: Set
mbed_official 146:f64d43ff0c18 4261 * bit 0 to 1 if the Auto CMD12 can't be issued due to an error in the previous
mbed_official 146:f64d43ff0c18 4262 * command. Set bit 0 to 0 if the auto CMD12 is issued. At the end bit of an auto
mbed_official 146:f64d43ff0c18 4263 * CMD12 response: Check errors corresponding to bits 1-4. Set bits 1-4
mbed_official 146:f64d43ff0c18 4264 * corresponding to detected errors. Clear bits 1-4 corresponding to detected errors.
mbed_official 146:f64d43ff0c18 4265 * Before reading the Auto CMD12 error status bit 7: Set bit 7 to 1 if there is a
mbed_official 146:f64d43ff0c18 4266 * command that can't be issued. Clear bit 7 if there is no command to issue. The
mbed_official 146:f64d43ff0c18 4267 * timing for generating the auto CMD12 error and writing to the command register
mbed_official 146:f64d43ff0c18 4268 * are asynchronous. After that, bit 7 shall be sampled when the driver is not
mbed_official 146:f64d43ff0c18 4269 * writing to the command register. So it is suggested to read this register only
mbed_official 146:f64d43ff0c18 4270 * when IRQSTAT[AC12E] is set. An Auto CMD12 error interrupt is generated when one
mbed_official 146:f64d43ff0c18 4271 * of the error bits (0-4) is set to 1. The command not issued by auto CMD12
mbed_official 146:f64d43ff0c18 4272 * error does not generate an interrupt.
mbed_official 146:f64d43ff0c18 4273 */
mbed_official 146:f64d43ff0c18 4274 typedef union _hw_sdhc_ac12err
mbed_official 146:f64d43ff0c18 4275 {
mbed_official 146:f64d43ff0c18 4276 uint32_t U;
mbed_official 146:f64d43ff0c18 4277 struct _hw_sdhc_ac12err_bitfields
mbed_official 146:f64d43ff0c18 4278 {
mbed_official 146:f64d43ff0c18 4279 uint32_t AC12NE : 1; //!< [0] Auto CMD12 Not Executed
mbed_official 146:f64d43ff0c18 4280 uint32_t AC12TOE : 1; //!< [1] Auto CMD12 Timeout Error
mbed_official 146:f64d43ff0c18 4281 uint32_t AC12EBE : 1; //!< [2] Auto CMD12 End Bit Error
mbed_official 146:f64d43ff0c18 4282 uint32_t AC12CE : 1; //!< [3] Auto CMD12 CRC Error
mbed_official 146:f64d43ff0c18 4283 uint32_t AC12IE : 1; //!< [4] Auto CMD12 Index Error
mbed_official 146:f64d43ff0c18 4284 uint32_t RESERVED0 : 2; //!< [6:5]
mbed_official 146:f64d43ff0c18 4285 uint32_t CNIBAC12E : 1; //!< [7] Command Not Issued By Auto CMD12
mbed_official 146:f64d43ff0c18 4286 //! Error
mbed_official 146:f64d43ff0c18 4287 uint32_t RESERVED1 : 24; //!< [31:8]
mbed_official 146:f64d43ff0c18 4288 } B;
mbed_official 146:f64d43ff0c18 4289 } hw_sdhc_ac12err_t;
mbed_official 146:f64d43ff0c18 4290 #endif
mbed_official 146:f64d43ff0c18 4291
mbed_official 146:f64d43ff0c18 4292 /*!
mbed_official 146:f64d43ff0c18 4293 * @name Constants and macros for entire SDHC_AC12ERR register
mbed_official 146:f64d43ff0c18 4294 */
mbed_official 146:f64d43ff0c18 4295 //@{
mbed_official 146:f64d43ff0c18 4296 #define HW_SDHC_AC12ERR_ADDR (REGS_SDHC_BASE + 0x3CU)
mbed_official 146:f64d43ff0c18 4297
mbed_official 146:f64d43ff0c18 4298 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4299 #define HW_SDHC_AC12ERR (*(__I hw_sdhc_ac12err_t *) HW_SDHC_AC12ERR_ADDR)
mbed_official 146:f64d43ff0c18 4300 #define HW_SDHC_AC12ERR_RD() (HW_SDHC_AC12ERR.U)
mbed_official 146:f64d43ff0c18 4301 #endif
mbed_official 146:f64d43ff0c18 4302 //@}
mbed_official 146:f64d43ff0c18 4303
mbed_official 146:f64d43ff0c18 4304 /*
mbed_official 146:f64d43ff0c18 4305 * Constants & macros for individual SDHC_AC12ERR bitfields
mbed_official 146:f64d43ff0c18 4306 */
mbed_official 146:f64d43ff0c18 4307
mbed_official 146:f64d43ff0c18 4308 /*!
mbed_official 146:f64d43ff0c18 4309 * @name Register SDHC_AC12ERR, field AC12NE[0] (RO)
mbed_official 146:f64d43ff0c18 4310 *
mbed_official 146:f64d43ff0c18 4311 * If memory multiple block data transfer is not started, due to a command
mbed_official 146:f64d43ff0c18 4312 * error, this bit is not set because it is not necessary to issue an auto CMD12.
mbed_official 146:f64d43ff0c18 4313 * Setting this bit to 1 means the SDHC cannot issue the auto CMD12 to stop a memory
mbed_official 146:f64d43ff0c18 4314 * multiple block data transfer due to some error. If this bit is set to 1, other
mbed_official 146:f64d43ff0c18 4315 * error status bits (1-4) have no meaning.
mbed_official 146:f64d43ff0c18 4316 *
mbed_official 146:f64d43ff0c18 4317 * Values:
mbed_official 146:f64d43ff0c18 4318 * - 0 - Executed.
mbed_official 146:f64d43ff0c18 4319 * - 1 - Not executed.
mbed_official 146:f64d43ff0c18 4320 */
mbed_official 146:f64d43ff0c18 4321 //@{
mbed_official 146:f64d43ff0c18 4322 #define BP_SDHC_AC12ERR_AC12NE (0U) //!< Bit position for SDHC_AC12ERR_AC12NE.
mbed_official 146:f64d43ff0c18 4323 #define BM_SDHC_AC12ERR_AC12NE (0x00000001U) //!< Bit mask for SDHC_AC12ERR_AC12NE.
mbed_official 146:f64d43ff0c18 4324 #define BS_SDHC_AC12ERR_AC12NE (1U) //!< Bit field size in bits for SDHC_AC12ERR_AC12NE.
mbed_official 146:f64d43ff0c18 4325
mbed_official 146:f64d43ff0c18 4326 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4327 //! @brief Read current value of the SDHC_AC12ERR_AC12NE field.
mbed_official 146:f64d43ff0c18 4328 #define BR_SDHC_AC12ERR_AC12NE (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_AC12NE))
mbed_official 146:f64d43ff0c18 4329 #endif
mbed_official 146:f64d43ff0c18 4330 //@}
mbed_official 146:f64d43ff0c18 4331
mbed_official 146:f64d43ff0c18 4332 /*!
mbed_official 146:f64d43ff0c18 4333 * @name Register SDHC_AC12ERR, field AC12TOE[1] (RO)
mbed_official 146:f64d43ff0c18 4334 *
mbed_official 146:f64d43ff0c18 4335 * Occurs if no response is returned within 64 SDCLK cycles from the end bit of
mbed_official 146:f64d43ff0c18 4336 * the command. If this bit is set to 1, the other error status bits (2-4) have
mbed_official 146:f64d43ff0c18 4337 * no meaning.
mbed_official 146:f64d43ff0c18 4338 *
mbed_official 146:f64d43ff0c18 4339 * Values:
mbed_official 146:f64d43ff0c18 4340 * - 0 - No error.
mbed_official 146:f64d43ff0c18 4341 * - 1 - Time out.
mbed_official 146:f64d43ff0c18 4342 */
mbed_official 146:f64d43ff0c18 4343 //@{
mbed_official 146:f64d43ff0c18 4344 #define BP_SDHC_AC12ERR_AC12TOE (1U) //!< Bit position for SDHC_AC12ERR_AC12TOE.
mbed_official 146:f64d43ff0c18 4345 #define BM_SDHC_AC12ERR_AC12TOE (0x00000002U) //!< Bit mask for SDHC_AC12ERR_AC12TOE.
mbed_official 146:f64d43ff0c18 4346 #define BS_SDHC_AC12ERR_AC12TOE (1U) //!< Bit field size in bits for SDHC_AC12ERR_AC12TOE.
mbed_official 146:f64d43ff0c18 4347
mbed_official 146:f64d43ff0c18 4348 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4349 //! @brief Read current value of the SDHC_AC12ERR_AC12TOE field.
mbed_official 146:f64d43ff0c18 4350 #define BR_SDHC_AC12ERR_AC12TOE (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_AC12TOE))
mbed_official 146:f64d43ff0c18 4351 #endif
mbed_official 146:f64d43ff0c18 4352 //@}
mbed_official 146:f64d43ff0c18 4353
mbed_official 146:f64d43ff0c18 4354 /*!
mbed_official 146:f64d43ff0c18 4355 * @name Register SDHC_AC12ERR, field AC12EBE[2] (RO)
mbed_official 146:f64d43ff0c18 4356 *
mbed_official 146:f64d43ff0c18 4357 * Occurs when detecting that the end bit of command response is 0 which must be
mbed_official 146:f64d43ff0c18 4358 * 1.
mbed_official 146:f64d43ff0c18 4359 *
mbed_official 146:f64d43ff0c18 4360 * Values:
mbed_official 146:f64d43ff0c18 4361 * - 0 - No error.
mbed_official 146:f64d43ff0c18 4362 * - 1 - End bit error generated.
mbed_official 146:f64d43ff0c18 4363 */
mbed_official 146:f64d43ff0c18 4364 //@{
mbed_official 146:f64d43ff0c18 4365 #define BP_SDHC_AC12ERR_AC12EBE (2U) //!< Bit position for SDHC_AC12ERR_AC12EBE.
mbed_official 146:f64d43ff0c18 4366 #define BM_SDHC_AC12ERR_AC12EBE (0x00000004U) //!< Bit mask for SDHC_AC12ERR_AC12EBE.
mbed_official 146:f64d43ff0c18 4367 #define BS_SDHC_AC12ERR_AC12EBE (1U) //!< Bit field size in bits for SDHC_AC12ERR_AC12EBE.
mbed_official 146:f64d43ff0c18 4368
mbed_official 146:f64d43ff0c18 4369 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4370 //! @brief Read current value of the SDHC_AC12ERR_AC12EBE field.
mbed_official 146:f64d43ff0c18 4371 #define BR_SDHC_AC12ERR_AC12EBE (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_AC12EBE))
mbed_official 146:f64d43ff0c18 4372 #endif
mbed_official 146:f64d43ff0c18 4373 //@}
mbed_official 146:f64d43ff0c18 4374
mbed_official 146:f64d43ff0c18 4375 /*!
mbed_official 146:f64d43ff0c18 4376 * @name Register SDHC_AC12ERR, field AC12CE[3] (RO)
mbed_official 146:f64d43ff0c18 4377 *
mbed_official 146:f64d43ff0c18 4378 * Occurs when detecting a CRC error in the command response.
mbed_official 146:f64d43ff0c18 4379 *
mbed_official 146:f64d43ff0c18 4380 * Values:
mbed_official 146:f64d43ff0c18 4381 * - 0 - No CRC error.
mbed_official 146:f64d43ff0c18 4382 * - 1 - CRC error met in Auto CMD12 response.
mbed_official 146:f64d43ff0c18 4383 */
mbed_official 146:f64d43ff0c18 4384 //@{
mbed_official 146:f64d43ff0c18 4385 #define BP_SDHC_AC12ERR_AC12CE (3U) //!< Bit position for SDHC_AC12ERR_AC12CE.
mbed_official 146:f64d43ff0c18 4386 #define BM_SDHC_AC12ERR_AC12CE (0x00000008U) //!< Bit mask for SDHC_AC12ERR_AC12CE.
mbed_official 146:f64d43ff0c18 4387 #define BS_SDHC_AC12ERR_AC12CE (1U) //!< Bit field size in bits for SDHC_AC12ERR_AC12CE.
mbed_official 146:f64d43ff0c18 4388
mbed_official 146:f64d43ff0c18 4389 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4390 //! @brief Read current value of the SDHC_AC12ERR_AC12CE field.
mbed_official 146:f64d43ff0c18 4391 #define BR_SDHC_AC12ERR_AC12CE (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_AC12CE))
mbed_official 146:f64d43ff0c18 4392 #endif
mbed_official 146:f64d43ff0c18 4393 //@}
mbed_official 146:f64d43ff0c18 4394
mbed_official 146:f64d43ff0c18 4395 /*!
mbed_official 146:f64d43ff0c18 4396 * @name Register SDHC_AC12ERR, field AC12IE[4] (RO)
mbed_official 146:f64d43ff0c18 4397 *
mbed_official 146:f64d43ff0c18 4398 * Occurs if the command index error occurs in response to a command.
mbed_official 146:f64d43ff0c18 4399 *
mbed_official 146:f64d43ff0c18 4400 * Values:
mbed_official 146:f64d43ff0c18 4401 * - 0 - No error.
mbed_official 146:f64d43ff0c18 4402 * - 1 - Error, the CMD index in response is not CMD12.
mbed_official 146:f64d43ff0c18 4403 */
mbed_official 146:f64d43ff0c18 4404 //@{
mbed_official 146:f64d43ff0c18 4405 #define BP_SDHC_AC12ERR_AC12IE (4U) //!< Bit position for SDHC_AC12ERR_AC12IE.
mbed_official 146:f64d43ff0c18 4406 #define BM_SDHC_AC12ERR_AC12IE (0x00000010U) //!< Bit mask for SDHC_AC12ERR_AC12IE.
mbed_official 146:f64d43ff0c18 4407 #define BS_SDHC_AC12ERR_AC12IE (1U) //!< Bit field size in bits for SDHC_AC12ERR_AC12IE.
mbed_official 146:f64d43ff0c18 4408
mbed_official 146:f64d43ff0c18 4409 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4410 //! @brief Read current value of the SDHC_AC12ERR_AC12IE field.
mbed_official 146:f64d43ff0c18 4411 #define BR_SDHC_AC12ERR_AC12IE (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_AC12IE))
mbed_official 146:f64d43ff0c18 4412 #endif
mbed_official 146:f64d43ff0c18 4413 //@}
mbed_official 146:f64d43ff0c18 4414
mbed_official 146:f64d43ff0c18 4415 /*!
mbed_official 146:f64d43ff0c18 4416 * @name Register SDHC_AC12ERR, field CNIBAC12E[7] (RO)
mbed_official 146:f64d43ff0c18 4417 *
mbed_official 146:f64d43ff0c18 4418 * Setting this bit to 1 means CMD_wo_DAT is not executed due to an auto CMD12
mbed_official 146:f64d43ff0c18 4419 * error (D04-D01) in this register.
mbed_official 146:f64d43ff0c18 4420 *
mbed_official 146:f64d43ff0c18 4421 * Values:
mbed_official 146:f64d43ff0c18 4422 * - 0 - No error.
mbed_official 146:f64d43ff0c18 4423 * - 1 - Not issued.
mbed_official 146:f64d43ff0c18 4424 */
mbed_official 146:f64d43ff0c18 4425 //@{
mbed_official 146:f64d43ff0c18 4426 #define BP_SDHC_AC12ERR_CNIBAC12E (7U) //!< Bit position for SDHC_AC12ERR_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4427 #define BM_SDHC_AC12ERR_CNIBAC12E (0x00000080U) //!< Bit mask for SDHC_AC12ERR_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4428 #define BS_SDHC_AC12ERR_CNIBAC12E (1U) //!< Bit field size in bits for SDHC_AC12ERR_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4429
mbed_official 146:f64d43ff0c18 4430 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4431 //! @brief Read current value of the SDHC_AC12ERR_CNIBAC12E field.
mbed_official 146:f64d43ff0c18 4432 #define BR_SDHC_AC12ERR_CNIBAC12E (BITBAND_ACCESS32(HW_SDHC_AC12ERR_ADDR, BP_SDHC_AC12ERR_CNIBAC12E))
mbed_official 146:f64d43ff0c18 4433 #endif
mbed_official 146:f64d43ff0c18 4434 //@}
mbed_official 146:f64d43ff0c18 4435
mbed_official 146:f64d43ff0c18 4436 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4437 // HW_SDHC_HTCAPBLT - Host Controller Capabilities
mbed_official 146:f64d43ff0c18 4438 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4439
mbed_official 146:f64d43ff0c18 4440 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4441 /*!
mbed_official 146:f64d43ff0c18 4442 * @brief HW_SDHC_HTCAPBLT - Host Controller Capabilities (RO)
mbed_official 146:f64d43ff0c18 4443 *
mbed_official 146:f64d43ff0c18 4444 * Reset value: 0x07F30000U
mbed_official 146:f64d43ff0c18 4445 *
mbed_official 146:f64d43ff0c18 4446 * This register provides the host driver with information specific to the SDHC
mbed_official 146:f64d43ff0c18 4447 * implementation. The value in this register is the power-on-reset value, and
mbed_official 146:f64d43ff0c18 4448 * does not change with a software reset. Any write to this register is ignored.
mbed_official 146:f64d43ff0c18 4449 */
mbed_official 146:f64d43ff0c18 4450 typedef union _hw_sdhc_htcapblt
mbed_official 146:f64d43ff0c18 4451 {
mbed_official 146:f64d43ff0c18 4452 uint32_t U;
mbed_official 146:f64d43ff0c18 4453 struct _hw_sdhc_htcapblt_bitfields
mbed_official 146:f64d43ff0c18 4454 {
mbed_official 146:f64d43ff0c18 4455 uint32_t RESERVED0 : 16; //!< [15:0]
mbed_official 146:f64d43ff0c18 4456 uint32_t MBL : 3; //!< [18:16] Max Block Length
mbed_official 146:f64d43ff0c18 4457 uint32_t RESERVED1 : 1; //!< [19]
mbed_official 146:f64d43ff0c18 4458 uint32_t ADMAS : 1; //!< [20] ADMA Support
mbed_official 146:f64d43ff0c18 4459 uint32_t HSS : 1; //!< [21] High Speed Support
mbed_official 146:f64d43ff0c18 4460 uint32_t DMAS : 1; //!< [22] DMA Support
mbed_official 146:f64d43ff0c18 4461 uint32_t SRS : 1; //!< [23] Suspend/Resume Support
mbed_official 146:f64d43ff0c18 4462 uint32_t VS33 : 1; //!< [24] Voltage Support 3.3 V
mbed_official 146:f64d43ff0c18 4463 uint32_t RESERVED2 : 7; //!< [31:25]
mbed_official 146:f64d43ff0c18 4464 } B;
mbed_official 146:f64d43ff0c18 4465 } hw_sdhc_htcapblt_t;
mbed_official 146:f64d43ff0c18 4466 #endif
mbed_official 146:f64d43ff0c18 4467
mbed_official 146:f64d43ff0c18 4468 /*!
mbed_official 146:f64d43ff0c18 4469 * @name Constants and macros for entire SDHC_HTCAPBLT register
mbed_official 146:f64d43ff0c18 4470 */
mbed_official 146:f64d43ff0c18 4471 //@{
mbed_official 146:f64d43ff0c18 4472 #define HW_SDHC_HTCAPBLT_ADDR (REGS_SDHC_BASE + 0x40U)
mbed_official 146:f64d43ff0c18 4473
mbed_official 146:f64d43ff0c18 4474 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4475 #define HW_SDHC_HTCAPBLT (*(__I hw_sdhc_htcapblt_t *) HW_SDHC_HTCAPBLT_ADDR)
mbed_official 146:f64d43ff0c18 4476 #define HW_SDHC_HTCAPBLT_RD() (HW_SDHC_HTCAPBLT.U)
mbed_official 146:f64d43ff0c18 4477 #endif
mbed_official 146:f64d43ff0c18 4478 //@}
mbed_official 146:f64d43ff0c18 4479
mbed_official 146:f64d43ff0c18 4480 /*
mbed_official 146:f64d43ff0c18 4481 * Constants & macros for individual SDHC_HTCAPBLT bitfields
mbed_official 146:f64d43ff0c18 4482 */
mbed_official 146:f64d43ff0c18 4483
mbed_official 146:f64d43ff0c18 4484 /*!
mbed_official 146:f64d43ff0c18 4485 * @name Register SDHC_HTCAPBLT, field MBL[18:16] (RO)
mbed_official 146:f64d43ff0c18 4486 *
mbed_official 146:f64d43ff0c18 4487 * This value indicates the maximum block size that the host driver can read and
mbed_official 146:f64d43ff0c18 4488 * write to the buffer in the SDHC. The buffer shall transfer block size without
mbed_official 146:f64d43ff0c18 4489 * wait cycles.
mbed_official 146:f64d43ff0c18 4490 *
mbed_official 146:f64d43ff0c18 4491 * Values:
mbed_official 146:f64d43ff0c18 4492 * - 000 - 512 bytes
mbed_official 146:f64d43ff0c18 4493 * - 001 - 1024 bytes
mbed_official 146:f64d43ff0c18 4494 * - 010 - 2048 bytes
mbed_official 146:f64d43ff0c18 4495 * - 011 - 4096 bytes
mbed_official 146:f64d43ff0c18 4496 */
mbed_official 146:f64d43ff0c18 4497 //@{
mbed_official 146:f64d43ff0c18 4498 #define BP_SDHC_HTCAPBLT_MBL (16U) //!< Bit position for SDHC_HTCAPBLT_MBL.
mbed_official 146:f64d43ff0c18 4499 #define BM_SDHC_HTCAPBLT_MBL (0x00070000U) //!< Bit mask for SDHC_HTCAPBLT_MBL.
mbed_official 146:f64d43ff0c18 4500 #define BS_SDHC_HTCAPBLT_MBL (3U) //!< Bit field size in bits for SDHC_HTCAPBLT_MBL.
mbed_official 146:f64d43ff0c18 4501
mbed_official 146:f64d43ff0c18 4502 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4503 //! @brief Read current value of the SDHC_HTCAPBLT_MBL field.
mbed_official 146:f64d43ff0c18 4504 #define BR_SDHC_HTCAPBLT_MBL (HW_SDHC_HTCAPBLT.B.MBL)
mbed_official 146:f64d43ff0c18 4505 #endif
mbed_official 146:f64d43ff0c18 4506 //@}
mbed_official 146:f64d43ff0c18 4507
mbed_official 146:f64d43ff0c18 4508 /*!
mbed_official 146:f64d43ff0c18 4509 * @name Register SDHC_HTCAPBLT, field ADMAS[20] (RO)
mbed_official 146:f64d43ff0c18 4510 *
mbed_official 146:f64d43ff0c18 4511 * This bit indicates whether the SDHC supports the ADMA feature.
mbed_official 146:f64d43ff0c18 4512 *
mbed_official 146:f64d43ff0c18 4513 * Values:
mbed_official 146:f64d43ff0c18 4514 * - 0 - Advanced DMA not supported.
mbed_official 146:f64d43ff0c18 4515 * - 1 - Advanced DMA supported.
mbed_official 146:f64d43ff0c18 4516 */
mbed_official 146:f64d43ff0c18 4517 //@{
mbed_official 146:f64d43ff0c18 4518 #define BP_SDHC_HTCAPBLT_ADMAS (20U) //!< Bit position for SDHC_HTCAPBLT_ADMAS.
mbed_official 146:f64d43ff0c18 4519 #define BM_SDHC_HTCAPBLT_ADMAS (0x00100000U) //!< Bit mask for SDHC_HTCAPBLT_ADMAS.
mbed_official 146:f64d43ff0c18 4520 #define BS_SDHC_HTCAPBLT_ADMAS (1U) //!< Bit field size in bits for SDHC_HTCAPBLT_ADMAS.
mbed_official 146:f64d43ff0c18 4521
mbed_official 146:f64d43ff0c18 4522 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4523 //! @brief Read current value of the SDHC_HTCAPBLT_ADMAS field.
mbed_official 146:f64d43ff0c18 4524 #define BR_SDHC_HTCAPBLT_ADMAS (BITBAND_ACCESS32(HW_SDHC_HTCAPBLT_ADDR, BP_SDHC_HTCAPBLT_ADMAS))
mbed_official 146:f64d43ff0c18 4525 #endif
mbed_official 146:f64d43ff0c18 4526 //@}
mbed_official 146:f64d43ff0c18 4527
mbed_official 146:f64d43ff0c18 4528 /*!
mbed_official 146:f64d43ff0c18 4529 * @name Register SDHC_HTCAPBLT, field HSS[21] (RO)
mbed_official 146:f64d43ff0c18 4530 *
mbed_official 146:f64d43ff0c18 4531 * This bit indicates whether the SDHC supports high speed mode and the host
mbed_official 146:f64d43ff0c18 4532 * system can supply a SD Clock frequency from 25 MHz to 50 MHz.
mbed_official 146:f64d43ff0c18 4533 *
mbed_official 146:f64d43ff0c18 4534 * Values:
mbed_official 146:f64d43ff0c18 4535 * - 0 - High speed not supported.
mbed_official 146:f64d43ff0c18 4536 * - 1 - High speed supported.
mbed_official 146:f64d43ff0c18 4537 */
mbed_official 146:f64d43ff0c18 4538 //@{
mbed_official 146:f64d43ff0c18 4539 #define BP_SDHC_HTCAPBLT_HSS (21U) //!< Bit position for SDHC_HTCAPBLT_HSS.
mbed_official 146:f64d43ff0c18 4540 #define BM_SDHC_HTCAPBLT_HSS (0x00200000U) //!< Bit mask for SDHC_HTCAPBLT_HSS.
mbed_official 146:f64d43ff0c18 4541 #define BS_SDHC_HTCAPBLT_HSS (1U) //!< Bit field size in bits for SDHC_HTCAPBLT_HSS.
mbed_official 146:f64d43ff0c18 4542
mbed_official 146:f64d43ff0c18 4543 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4544 //! @brief Read current value of the SDHC_HTCAPBLT_HSS field.
mbed_official 146:f64d43ff0c18 4545 #define BR_SDHC_HTCAPBLT_HSS (BITBAND_ACCESS32(HW_SDHC_HTCAPBLT_ADDR, BP_SDHC_HTCAPBLT_HSS))
mbed_official 146:f64d43ff0c18 4546 #endif
mbed_official 146:f64d43ff0c18 4547 //@}
mbed_official 146:f64d43ff0c18 4548
mbed_official 146:f64d43ff0c18 4549 /*!
mbed_official 146:f64d43ff0c18 4550 * @name Register SDHC_HTCAPBLT, field DMAS[22] (RO)
mbed_official 146:f64d43ff0c18 4551 *
mbed_official 146:f64d43ff0c18 4552 * This bit indicates whether the SDHC is capable of using the internal DMA to
mbed_official 146:f64d43ff0c18 4553 * transfer data between system memory and the data buffer directly.
mbed_official 146:f64d43ff0c18 4554 *
mbed_official 146:f64d43ff0c18 4555 * Values:
mbed_official 146:f64d43ff0c18 4556 * - 0 - DMA not supported.
mbed_official 146:f64d43ff0c18 4557 * - 1 - DMA supported.
mbed_official 146:f64d43ff0c18 4558 */
mbed_official 146:f64d43ff0c18 4559 //@{
mbed_official 146:f64d43ff0c18 4560 #define BP_SDHC_HTCAPBLT_DMAS (22U) //!< Bit position for SDHC_HTCAPBLT_DMAS.
mbed_official 146:f64d43ff0c18 4561 #define BM_SDHC_HTCAPBLT_DMAS (0x00400000U) //!< Bit mask for SDHC_HTCAPBLT_DMAS.
mbed_official 146:f64d43ff0c18 4562 #define BS_SDHC_HTCAPBLT_DMAS (1U) //!< Bit field size in bits for SDHC_HTCAPBLT_DMAS.
mbed_official 146:f64d43ff0c18 4563
mbed_official 146:f64d43ff0c18 4564 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4565 //! @brief Read current value of the SDHC_HTCAPBLT_DMAS field.
mbed_official 146:f64d43ff0c18 4566 #define BR_SDHC_HTCAPBLT_DMAS (BITBAND_ACCESS32(HW_SDHC_HTCAPBLT_ADDR, BP_SDHC_HTCAPBLT_DMAS))
mbed_official 146:f64d43ff0c18 4567 #endif
mbed_official 146:f64d43ff0c18 4568 //@}
mbed_official 146:f64d43ff0c18 4569
mbed_official 146:f64d43ff0c18 4570 /*!
mbed_official 146:f64d43ff0c18 4571 * @name Register SDHC_HTCAPBLT, field SRS[23] (RO)
mbed_official 146:f64d43ff0c18 4572 *
mbed_official 146:f64d43ff0c18 4573 * This bit indicates whether the SDHC supports suspend / resume functionality.
mbed_official 146:f64d43ff0c18 4574 * If this bit is 0, the suspend and resume mechanism, as well as the read Wwait,
mbed_official 146:f64d43ff0c18 4575 * are not supported, and the host driver shall not issue either suspend or
mbed_official 146:f64d43ff0c18 4576 * resume commands.
mbed_official 146:f64d43ff0c18 4577 *
mbed_official 146:f64d43ff0c18 4578 * Values:
mbed_official 146:f64d43ff0c18 4579 * - 0 - Not supported.
mbed_official 146:f64d43ff0c18 4580 * - 1 - Supported.
mbed_official 146:f64d43ff0c18 4581 */
mbed_official 146:f64d43ff0c18 4582 //@{
mbed_official 146:f64d43ff0c18 4583 #define BP_SDHC_HTCAPBLT_SRS (23U) //!< Bit position for SDHC_HTCAPBLT_SRS.
mbed_official 146:f64d43ff0c18 4584 #define BM_SDHC_HTCAPBLT_SRS (0x00800000U) //!< Bit mask for SDHC_HTCAPBLT_SRS.
mbed_official 146:f64d43ff0c18 4585 #define BS_SDHC_HTCAPBLT_SRS (1U) //!< Bit field size in bits for SDHC_HTCAPBLT_SRS.
mbed_official 146:f64d43ff0c18 4586
mbed_official 146:f64d43ff0c18 4587 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4588 //! @brief Read current value of the SDHC_HTCAPBLT_SRS field.
mbed_official 146:f64d43ff0c18 4589 #define BR_SDHC_HTCAPBLT_SRS (BITBAND_ACCESS32(HW_SDHC_HTCAPBLT_ADDR, BP_SDHC_HTCAPBLT_SRS))
mbed_official 146:f64d43ff0c18 4590 #endif
mbed_official 146:f64d43ff0c18 4591 //@}
mbed_official 146:f64d43ff0c18 4592
mbed_official 146:f64d43ff0c18 4593 /*!
mbed_official 146:f64d43ff0c18 4594 * @name Register SDHC_HTCAPBLT, field VS33[24] (RO)
mbed_official 146:f64d43ff0c18 4595 *
mbed_official 146:f64d43ff0c18 4596 * This bit shall depend on the host system ability.
mbed_official 146:f64d43ff0c18 4597 *
mbed_official 146:f64d43ff0c18 4598 * Values:
mbed_official 146:f64d43ff0c18 4599 * - 0 - 3.3 V not supported.
mbed_official 146:f64d43ff0c18 4600 * - 1 - 3.3 V supported.
mbed_official 146:f64d43ff0c18 4601 */
mbed_official 146:f64d43ff0c18 4602 //@{
mbed_official 146:f64d43ff0c18 4603 #define BP_SDHC_HTCAPBLT_VS33 (24U) //!< Bit position for SDHC_HTCAPBLT_VS33.
mbed_official 146:f64d43ff0c18 4604 #define BM_SDHC_HTCAPBLT_VS33 (0x01000000U) //!< Bit mask for SDHC_HTCAPBLT_VS33.
mbed_official 146:f64d43ff0c18 4605 #define BS_SDHC_HTCAPBLT_VS33 (1U) //!< Bit field size in bits for SDHC_HTCAPBLT_VS33.
mbed_official 146:f64d43ff0c18 4606
mbed_official 146:f64d43ff0c18 4607 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4608 //! @brief Read current value of the SDHC_HTCAPBLT_VS33 field.
mbed_official 146:f64d43ff0c18 4609 #define BR_SDHC_HTCAPBLT_VS33 (BITBAND_ACCESS32(HW_SDHC_HTCAPBLT_ADDR, BP_SDHC_HTCAPBLT_VS33))
mbed_official 146:f64d43ff0c18 4610 #endif
mbed_official 146:f64d43ff0c18 4611 //@}
mbed_official 146:f64d43ff0c18 4612
mbed_official 146:f64d43ff0c18 4613 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4614 // HW_SDHC_WML - Watermark Level Register
mbed_official 146:f64d43ff0c18 4615 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4616
mbed_official 146:f64d43ff0c18 4617 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4618 /*!
mbed_official 146:f64d43ff0c18 4619 * @brief HW_SDHC_WML - Watermark Level Register (RW)
mbed_official 146:f64d43ff0c18 4620 *
mbed_official 146:f64d43ff0c18 4621 * Reset value: 0x00100010U
mbed_official 146:f64d43ff0c18 4622 *
mbed_official 146:f64d43ff0c18 4623 * Both write and read watermark levels (FIFO threshold) are configurable. There
mbed_official 146:f64d43ff0c18 4624 * value can range from 1 to 128 words. Both write and read burst lengths are
mbed_official 146:f64d43ff0c18 4625 * also configurable. There value can range from 1 to 31 words.
mbed_official 146:f64d43ff0c18 4626 */
mbed_official 146:f64d43ff0c18 4627 typedef union _hw_sdhc_wml
mbed_official 146:f64d43ff0c18 4628 {
mbed_official 146:f64d43ff0c18 4629 uint32_t U;
mbed_official 146:f64d43ff0c18 4630 struct _hw_sdhc_wml_bitfields
mbed_official 146:f64d43ff0c18 4631 {
mbed_official 146:f64d43ff0c18 4632 uint32_t RDWML : 8; //!< [7:0] Read Watermark Level
mbed_official 146:f64d43ff0c18 4633 uint32_t RESERVED0 : 8; //!< [15:8]
mbed_official 146:f64d43ff0c18 4634 uint32_t WRWML : 8; //!< [23:16] Write Watermark Level
mbed_official 146:f64d43ff0c18 4635 uint32_t RESERVED1 : 8; //!< [31:24]
mbed_official 146:f64d43ff0c18 4636 } B;
mbed_official 146:f64d43ff0c18 4637 } hw_sdhc_wml_t;
mbed_official 146:f64d43ff0c18 4638 #endif
mbed_official 146:f64d43ff0c18 4639
mbed_official 146:f64d43ff0c18 4640 /*!
mbed_official 146:f64d43ff0c18 4641 * @name Constants and macros for entire SDHC_WML register
mbed_official 146:f64d43ff0c18 4642 */
mbed_official 146:f64d43ff0c18 4643 //@{
mbed_official 146:f64d43ff0c18 4644 #define HW_SDHC_WML_ADDR (REGS_SDHC_BASE + 0x44U)
mbed_official 146:f64d43ff0c18 4645
mbed_official 146:f64d43ff0c18 4646 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4647 #define HW_SDHC_WML (*(__IO hw_sdhc_wml_t *) HW_SDHC_WML_ADDR)
mbed_official 146:f64d43ff0c18 4648 #define HW_SDHC_WML_RD() (HW_SDHC_WML.U)
mbed_official 146:f64d43ff0c18 4649 #define HW_SDHC_WML_WR(v) (HW_SDHC_WML.U = (v))
mbed_official 146:f64d43ff0c18 4650 #define HW_SDHC_WML_SET(v) (HW_SDHC_WML_WR(HW_SDHC_WML_RD() | (v)))
mbed_official 146:f64d43ff0c18 4651 #define HW_SDHC_WML_CLR(v) (HW_SDHC_WML_WR(HW_SDHC_WML_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 4652 #define HW_SDHC_WML_TOG(v) (HW_SDHC_WML_WR(HW_SDHC_WML_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 4653 #endif
mbed_official 146:f64d43ff0c18 4654 //@}
mbed_official 146:f64d43ff0c18 4655
mbed_official 146:f64d43ff0c18 4656 /*
mbed_official 146:f64d43ff0c18 4657 * Constants & macros for individual SDHC_WML bitfields
mbed_official 146:f64d43ff0c18 4658 */
mbed_official 146:f64d43ff0c18 4659
mbed_official 146:f64d43ff0c18 4660 /*!
mbed_official 146:f64d43ff0c18 4661 * @name Register SDHC_WML, field RDWML[7:0] (RW)
mbed_official 146:f64d43ff0c18 4662 *
mbed_official 146:f64d43ff0c18 4663 * The number of words used as the watermark level (FIFO threshold) in a DMA
mbed_official 146:f64d43ff0c18 4664 * read operation. Also the number of words as a sequence of read bursts in
mbed_official 146:f64d43ff0c18 4665 * back-to-back mode. The maximum legal value for the read water mark level is 128.
mbed_official 146:f64d43ff0c18 4666 */
mbed_official 146:f64d43ff0c18 4667 //@{
mbed_official 146:f64d43ff0c18 4668 #define BP_SDHC_WML_RDWML (0U) //!< Bit position for SDHC_WML_RDWML.
mbed_official 146:f64d43ff0c18 4669 #define BM_SDHC_WML_RDWML (0x000000FFU) //!< Bit mask for SDHC_WML_RDWML.
mbed_official 146:f64d43ff0c18 4670 #define BS_SDHC_WML_RDWML (8U) //!< Bit field size in bits for SDHC_WML_RDWML.
mbed_official 146:f64d43ff0c18 4671
mbed_official 146:f64d43ff0c18 4672 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4673 //! @brief Read current value of the SDHC_WML_RDWML field.
mbed_official 146:f64d43ff0c18 4674 #define BR_SDHC_WML_RDWML (HW_SDHC_WML.B.RDWML)
mbed_official 146:f64d43ff0c18 4675 #endif
mbed_official 146:f64d43ff0c18 4676
mbed_official 146:f64d43ff0c18 4677 //! @brief Format value for bitfield SDHC_WML_RDWML.
mbed_official 146:f64d43ff0c18 4678 #define BF_SDHC_WML_RDWML(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_WML_RDWML), uint32_t) & BM_SDHC_WML_RDWML)
mbed_official 146:f64d43ff0c18 4679
mbed_official 146:f64d43ff0c18 4680 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4681 //! @brief Set the RDWML field to a new value.
mbed_official 146:f64d43ff0c18 4682 #define BW_SDHC_WML_RDWML(v) (HW_SDHC_WML_WR((HW_SDHC_WML_RD() & ~BM_SDHC_WML_RDWML) | BF_SDHC_WML_RDWML(v)))
mbed_official 146:f64d43ff0c18 4683 #endif
mbed_official 146:f64d43ff0c18 4684 //@}
mbed_official 146:f64d43ff0c18 4685
mbed_official 146:f64d43ff0c18 4686 /*!
mbed_official 146:f64d43ff0c18 4687 * @name Register SDHC_WML, field WRWML[23:16] (RW)
mbed_official 146:f64d43ff0c18 4688 *
mbed_official 146:f64d43ff0c18 4689 * The number of words used as the watermark level (FIFO threshold) in a DMA
mbed_official 146:f64d43ff0c18 4690 * write operation. Also the number of words as a sequence of write bursts in
mbed_official 146:f64d43ff0c18 4691 * back-to-back mode. The maximum legal value for the write watermark level is 128.
mbed_official 146:f64d43ff0c18 4692 */
mbed_official 146:f64d43ff0c18 4693 //@{
mbed_official 146:f64d43ff0c18 4694 #define BP_SDHC_WML_WRWML (16U) //!< Bit position for SDHC_WML_WRWML.
mbed_official 146:f64d43ff0c18 4695 #define BM_SDHC_WML_WRWML (0x00FF0000U) //!< Bit mask for SDHC_WML_WRWML.
mbed_official 146:f64d43ff0c18 4696 #define BS_SDHC_WML_WRWML (8U) //!< Bit field size in bits for SDHC_WML_WRWML.
mbed_official 146:f64d43ff0c18 4697
mbed_official 146:f64d43ff0c18 4698 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4699 //! @brief Read current value of the SDHC_WML_WRWML field.
mbed_official 146:f64d43ff0c18 4700 #define BR_SDHC_WML_WRWML (HW_SDHC_WML.B.WRWML)
mbed_official 146:f64d43ff0c18 4701 #endif
mbed_official 146:f64d43ff0c18 4702
mbed_official 146:f64d43ff0c18 4703 //! @brief Format value for bitfield SDHC_WML_WRWML.
mbed_official 146:f64d43ff0c18 4704 #define BF_SDHC_WML_WRWML(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_WML_WRWML), uint32_t) & BM_SDHC_WML_WRWML)
mbed_official 146:f64d43ff0c18 4705
mbed_official 146:f64d43ff0c18 4706 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4707 //! @brief Set the WRWML field to a new value.
mbed_official 146:f64d43ff0c18 4708 #define BW_SDHC_WML_WRWML(v) (HW_SDHC_WML_WR((HW_SDHC_WML_RD() & ~BM_SDHC_WML_WRWML) | BF_SDHC_WML_WRWML(v)))
mbed_official 146:f64d43ff0c18 4709 #endif
mbed_official 146:f64d43ff0c18 4710 //@}
mbed_official 146:f64d43ff0c18 4711
mbed_official 146:f64d43ff0c18 4712 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4713 // HW_SDHC_FEVT - Force Event register
mbed_official 146:f64d43ff0c18 4714 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 4715
mbed_official 146:f64d43ff0c18 4716 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4717 /*!
mbed_official 146:f64d43ff0c18 4718 * @brief HW_SDHC_FEVT - Force Event register (WO)
mbed_official 146:f64d43ff0c18 4719 *
mbed_official 146:f64d43ff0c18 4720 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 4721 *
mbed_official 146:f64d43ff0c18 4722 * The Force Event (FEVT) register is not a physically implemented register.
mbed_official 146:f64d43ff0c18 4723 * Rather, it is an address at which the Interrupt Status register can be written if
mbed_official 146:f64d43ff0c18 4724 * the corresponding bit of the Interrupt Status Enable register is set. This
mbed_official 146:f64d43ff0c18 4725 * register is a write only register and writing 0 to it has no effect. Writing 1
mbed_official 146:f64d43ff0c18 4726 * to this register actually sets the corresponding bit of Interrupt Status
mbed_official 146:f64d43ff0c18 4727 * register. A read from this register always results in 0's. To change the
mbed_official 146:f64d43ff0c18 4728 * corresponding status bits in the interrupt status register, make sure to set
mbed_official 146:f64d43ff0c18 4729 * SYSCTL[IPGEN] so that bus clock is always active. Forcing a card interrupt will generate a
mbed_official 146:f64d43ff0c18 4730 * short pulse on the DAT[1] line, and the driver may treat this interrupt as a
mbed_official 146:f64d43ff0c18 4731 * normal interrupt. The interrupt service routine may skip polling the card
mbed_official 146:f64d43ff0c18 4732 * interrupt factor as the interrupt is selfcleared.
mbed_official 146:f64d43ff0c18 4733 */
mbed_official 146:f64d43ff0c18 4734 typedef union _hw_sdhc_fevt
mbed_official 146:f64d43ff0c18 4735 {
mbed_official 146:f64d43ff0c18 4736 uint32_t U;
mbed_official 146:f64d43ff0c18 4737 struct _hw_sdhc_fevt_bitfields
mbed_official 146:f64d43ff0c18 4738 {
mbed_official 146:f64d43ff0c18 4739 uint32_t AC12NE : 1; //!< [0] Force Event Auto Command 12 Not Executed
mbed_official 146:f64d43ff0c18 4740 uint32_t AC12TOE : 1; //!< [1] Force Event Auto Command 12 Time Out
mbed_official 146:f64d43ff0c18 4741 //! Error
mbed_official 146:f64d43ff0c18 4742 uint32_t AC12CE : 1; //!< [2] Force Event Auto Command 12 CRC Error
mbed_official 146:f64d43ff0c18 4743 uint32_t AC12EBE : 1; //!< [3] Force Event Auto Command 12 End Bit
mbed_official 146:f64d43ff0c18 4744 //! Error
mbed_official 146:f64d43ff0c18 4745 uint32_t AC12IE : 1; //!< [4] Force Event Auto Command 12 Index Error
mbed_official 146:f64d43ff0c18 4746 uint32_t RESERVED0 : 2; //!< [6:5]
mbed_official 146:f64d43ff0c18 4747 uint32_t CNIBAC12E : 1; //!< [7] Force Event Command Not Executed By
mbed_official 146:f64d43ff0c18 4748 //! Auto Command 12 Error
mbed_official 146:f64d43ff0c18 4749 uint32_t RESERVED1 : 8; //!< [15:8]
mbed_official 146:f64d43ff0c18 4750 uint32_t CTOE : 1; //!< [16] Force Event Command Time Out Error
mbed_official 146:f64d43ff0c18 4751 uint32_t CCE : 1; //!< [17] Force Event Command CRC Error
mbed_official 146:f64d43ff0c18 4752 uint32_t CEBE : 1; //!< [18] Force Event Command End Bit Error
mbed_official 146:f64d43ff0c18 4753 uint32_t CIE : 1; //!< [19] Force Event Command Index Error
mbed_official 146:f64d43ff0c18 4754 uint32_t DTOE : 1; //!< [20] Force Event Data Time Out Error
mbed_official 146:f64d43ff0c18 4755 uint32_t DCE : 1; //!< [21] Force Event Data CRC Error
mbed_official 146:f64d43ff0c18 4756 uint32_t DEBE : 1; //!< [22] Force Event Data End Bit Error
mbed_official 146:f64d43ff0c18 4757 uint32_t RESERVED2 : 1; //!< [23]
mbed_official 146:f64d43ff0c18 4758 uint32_t AC12E : 1; //!< [24] Force Event Auto Command 12 Error
mbed_official 146:f64d43ff0c18 4759 uint32_t RESERVED3 : 3; //!< [27:25]
mbed_official 146:f64d43ff0c18 4760 uint32_t DMAE : 1; //!< [28] Force Event DMA Error
mbed_official 146:f64d43ff0c18 4761 uint32_t RESERVED4 : 2; //!< [30:29]
mbed_official 146:f64d43ff0c18 4762 uint32_t CINT : 1; //!< [31] Force Event Card Interrupt
mbed_official 146:f64d43ff0c18 4763 } B;
mbed_official 146:f64d43ff0c18 4764 } hw_sdhc_fevt_t;
mbed_official 146:f64d43ff0c18 4765 #endif
mbed_official 146:f64d43ff0c18 4766
mbed_official 146:f64d43ff0c18 4767 /*!
mbed_official 146:f64d43ff0c18 4768 * @name Constants and macros for entire SDHC_FEVT register
mbed_official 146:f64d43ff0c18 4769 */
mbed_official 146:f64d43ff0c18 4770 //@{
mbed_official 146:f64d43ff0c18 4771 #define HW_SDHC_FEVT_ADDR (REGS_SDHC_BASE + 0x50U)
mbed_official 146:f64d43ff0c18 4772
mbed_official 146:f64d43ff0c18 4773 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4774 #define HW_SDHC_FEVT (*(__O hw_sdhc_fevt_t *) HW_SDHC_FEVT_ADDR)
mbed_official 146:f64d43ff0c18 4775 #define HW_SDHC_FEVT_RD() (HW_SDHC_FEVT.U)
mbed_official 146:f64d43ff0c18 4776 #define HW_SDHC_FEVT_WR(v) (HW_SDHC_FEVT.U = (v))
mbed_official 146:f64d43ff0c18 4777 #endif
mbed_official 146:f64d43ff0c18 4778 //@}
mbed_official 146:f64d43ff0c18 4779
mbed_official 146:f64d43ff0c18 4780 /*
mbed_official 146:f64d43ff0c18 4781 * Constants & macros for individual SDHC_FEVT bitfields
mbed_official 146:f64d43ff0c18 4782 */
mbed_official 146:f64d43ff0c18 4783
mbed_official 146:f64d43ff0c18 4784 /*!
mbed_official 146:f64d43ff0c18 4785 * @name Register SDHC_FEVT, field AC12NE[0] (WORZ)
mbed_official 146:f64d43ff0c18 4786 *
mbed_official 146:f64d43ff0c18 4787 * Forces AC12ERR[AC12NE] to be set.
mbed_official 146:f64d43ff0c18 4788 */
mbed_official 146:f64d43ff0c18 4789 //@{
mbed_official 146:f64d43ff0c18 4790 #define BP_SDHC_FEVT_AC12NE (0U) //!< Bit position for SDHC_FEVT_AC12NE.
mbed_official 146:f64d43ff0c18 4791 #define BM_SDHC_FEVT_AC12NE (0x00000001U) //!< Bit mask for SDHC_FEVT_AC12NE.
mbed_official 146:f64d43ff0c18 4792 #define BS_SDHC_FEVT_AC12NE (1U) //!< Bit field size in bits for SDHC_FEVT_AC12NE.
mbed_official 146:f64d43ff0c18 4793
mbed_official 146:f64d43ff0c18 4794 //! @brief Format value for bitfield SDHC_FEVT_AC12NE.
mbed_official 146:f64d43ff0c18 4795 #define BF_SDHC_FEVT_AC12NE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12NE), uint32_t) & BM_SDHC_FEVT_AC12NE)
mbed_official 146:f64d43ff0c18 4796
mbed_official 146:f64d43ff0c18 4797 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4798 //! @brief Set the AC12NE field to a new value.
mbed_official 146:f64d43ff0c18 4799 #define BW_SDHC_FEVT_AC12NE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12NE) = (v))
mbed_official 146:f64d43ff0c18 4800 #endif
mbed_official 146:f64d43ff0c18 4801 //@}
mbed_official 146:f64d43ff0c18 4802
mbed_official 146:f64d43ff0c18 4803 /*!
mbed_official 146:f64d43ff0c18 4804 * @name Register SDHC_FEVT, field AC12TOE[1] (WORZ)
mbed_official 146:f64d43ff0c18 4805 *
mbed_official 146:f64d43ff0c18 4806 * Forces AC12ERR[AC12TOE] to be set.
mbed_official 146:f64d43ff0c18 4807 */
mbed_official 146:f64d43ff0c18 4808 //@{
mbed_official 146:f64d43ff0c18 4809 #define BP_SDHC_FEVT_AC12TOE (1U) //!< Bit position for SDHC_FEVT_AC12TOE.
mbed_official 146:f64d43ff0c18 4810 #define BM_SDHC_FEVT_AC12TOE (0x00000002U) //!< Bit mask for SDHC_FEVT_AC12TOE.
mbed_official 146:f64d43ff0c18 4811 #define BS_SDHC_FEVT_AC12TOE (1U) //!< Bit field size in bits for SDHC_FEVT_AC12TOE.
mbed_official 146:f64d43ff0c18 4812
mbed_official 146:f64d43ff0c18 4813 //! @brief Format value for bitfield SDHC_FEVT_AC12TOE.
mbed_official 146:f64d43ff0c18 4814 #define BF_SDHC_FEVT_AC12TOE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12TOE), uint32_t) & BM_SDHC_FEVT_AC12TOE)
mbed_official 146:f64d43ff0c18 4815
mbed_official 146:f64d43ff0c18 4816 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4817 //! @brief Set the AC12TOE field to a new value.
mbed_official 146:f64d43ff0c18 4818 #define BW_SDHC_FEVT_AC12TOE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12TOE) = (v))
mbed_official 146:f64d43ff0c18 4819 #endif
mbed_official 146:f64d43ff0c18 4820 //@}
mbed_official 146:f64d43ff0c18 4821
mbed_official 146:f64d43ff0c18 4822 /*!
mbed_official 146:f64d43ff0c18 4823 * @name Register SDHC_FEVT, field AC12CE[2] (WORZ)
mbed_official 146:f64d43ff0c18 4824 *
mbed_official 146:f64d43ff0c18 4825 * Forces AC12ERR[AC12CE] to be set.
mbed_official 146:f64d43ff0c18 4826 */
mbed_official 146:f64d43ff0c18 4827 //@{
mbed_official 146:f64d43ff0c18 4828 #define BP_SDHC_FEVT_AC12CE (2U) //!< Bit position for SDHC_FEVT_AC12CE.
mbed_official 146:f64d43ff0c18 4829 #define BM_SDHC_FEVT_AC12CE (0x00000004U) //!< Bit mask for SDHC_FEVT_AC12CE.
mbed_official 146:f64d43ff0c18 4830 #define BS_SDHC_FEVT_AC12CE (1U) //!< Bit field size in bits for SDHC_FEVT_AC12CE.
mbed_official 146:f64d43ff0c18 4831
mbed_official 146:f64d43ff0c18 4832 //! @brief Format value for bitfield SDHC_FEVT_AC12CE.
mbed_official 146:f64d43ff0c18 4833 #define BF_SDHC_FEVT_AC12CE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12CE), uint32_t) & BM_SDHC_FEVT_AC12CE)
mbed_official 146:f64d43ff0c18 4834
mbed_official 146:f64d43ff0c18 4835 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4836 //! @brief Set the AC12CE field to a new value.
mbed_official 146:f64d43ff0c18 4837 #define BW_SDHC_FEVT_AC12CE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12CE) = (v))
mbed_official 146:f64d43ff0c18 4838 #endif
mbed_official 146:f64d43ff0c18 4839 //@}
mbed_official 146:f64d43ff0c18 4840
mbed_official 146:f64d43ff0c18 4841 /*!
mbed_official 146:f64d43ff0c18 4842 * @name Register SDHC_FEVT, field AC12EBE[3] (WORZ)
mbed_official 146:f64d43ff0c18 4843 *
mbed_official 146:f64d43ff0c18 4844 * Forces AC12ERR[AC12EBE] to be set.
mbed_official 146:f64d43ff0c18 4845 */
mbed_official 146:f64d43ff0c18 4846 //@{
mbed_official 146:f64d43ff0c18 4847 #define BP_SDHC_FEVT_AC12EBE (3U) //!< Bit position for SDHC_FEVT_AC12EBE.
mbed_official 146:f64d43ff0c18 4848 #define BM_SDHC_FEVT_AC12EBE (0x00000008U) //!< Bit mask for SDHC_FEVT_AC12EBE.
mbed_official 146:f64d43ff0c18 4849 #define BS_SDHC_FEVT_AC12EBE (1U) //!< Bit field size in bits for SDHC_FEVT_AC12EBE.
mbed_official 146:f64d43ff0c18 4850
mbed_official 146:f64d43ff0c18 4851 //! @brief Format value for bitfield SDHC_FEVT_AC12EBE.
mbed_official 146:f64d43ff0c18 4852 #define BF_SDHC_FEVT_AC12EBE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12EBE), uint32_t) & BM_SDHC_FEVT_AC12EBE)
mbed_official 146:f64d43ff0c18 4853
mbed_official 146:f64d43ff0c18 4854 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4855 //! @brief Set the AC12EBE field to a new value.
mbed_official 146:f64d43ff0c18 4856 #define BW_SDHC_FEVT_AC12EBE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12EBE) = (v))
mbed_official 146:f64d43ff0c18 4857 #endif
mbed_official 146:f64d43ff0c18 4858 //@}
mbed_official 146:f64d43ff0c18 4859
mbed_official 146:f64d43ff0c18 4860 /*!
mbed_official 146:f64d43ff0c18 4861 * @name Register SDHC_FEVT, field AC12IE[4] (WORZ)
mbed_official 146:f64d43ff0c18 4862 *
mbed_official 146:f64d43ff0c18 4863 * Forces AC12ERR[AC12IE] to be set.
mbed_official 146:f64d43ff0c18 4864 */
mbed_official 146:f64d43ff0c18 4865 //@{
mbed_official 146:f64d43ff0c18 4866 #define BP_SDHC_FEVT_AC12IE (4U) //!< Bit position for SDHC_FEVT_AC12IE.
mbed_official 146:f64d43ff0c18 4867 #define BM_SDHC_FEVT_AC12IE (0x00000010U) //!< Bit mask for SDHC_FEVT_AC12IE.
mbed_official 146:f64d43ff0c18 4868 #define BS_SDHC_FEVT_AC12IE (1U) //!< Bit field size in bits for SDHC_FEVT_AC12IE.
mbed_official 146:f64d43ff0c18 4869
mbed_official 146:f64d43ff0c18 4870 //! @brief Format value for bitfield SDHC_FEVT_AC12IE.
mbed_official 146:f64d43ff0c18 4871 #define BF_SDHC_FEVT_AC12IE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12IE), uint32_t) & BM_SDHC_FEVT_AC12IE)
mbed_official 146:f64d43ff0c18 4872
mbed_official 146:f64d43ff0c18 4873 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4874 //! @brief Set the AC12IE field to a new value.
mbed_official 146:f64d43ff0c18 4875 #define BW_SDHC_FEVT_AC12IE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12IE) = (v))
mbed_official 146:f64d43ff0c18 4876 #endif
mbed_official 146:f64d43ff0c18 4877 //@}
mbed_official 146:f64d43ff0c18 4878
mbed_official 146:f64d43ff0c18 4879 /*!
mbed_official 146:f64d43ff0c18 4880 * @name Register SDHC_FEVT, field CNIBAC12E[7] (WORZ)
mbed_official 146:f64d43ff0c18 4881 *
mbed_official 146:f64d43ff0c18 4882 * Forces AC12ERR[CNIBAC12E] to be set.
mbed_official 146:f64d43ff0c18 4883 */
mbed_official 146:f64d43ff0c18 4884 //@{
mbed_official 146:f64d43ff0c18 4885 #define BP_SDHC_FEVT_CNIBAC12E (7U) //!< Bit position for SDHC_FEVT_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4886 #define BM_SDHC_FEVT_CNIBAC12E (0x00000080U) //!< Bit mask for SDHC_FEVT_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4887 #define BS_SDHC_FEVT_CNIBAC12E (1U) //!< Bit field size in bits for SDHC_FEVT_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4888
mbed_official 146:f64d43ff0c18 4889 //! @brief Format value for bitfield SDHC_FEVT_CNIBAC12E.
mbed_official 146:f64d43ff0c18 4890 #define BF_SDHC_FEVT_CNIBAC12E(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CNIBAC12E), uint32_t) & BM_SDHC_FEVT_CNIBAC12E)
mbed_official 146:f64d43ff0c18 4891
mbed_official 146:f64d43ff0c18 4892 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4893 //! @brief Set the CNIBAC12E field to a new value.
mbed_official 146:f64d43ff0c18 4894 #define BW_SDHC_FEVT_CNIBAC12E(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CNIBAC12E) = (v))
mbed_official 146:f64d43ff0c18 4895 #endif
mbed_official 146:f64d43ff0c18 4896 //@}
mbed_official 146:f64d43ff0c18 4897
mbed_official 146:f64d43ff0c18 4898 /*!
mbed_official 146:f64d43ff0c18 4899 * @name Register SDHC_FEVT, field CTOE[16] (WORZ)
mbed_official 146:f64d43ff0c18 4900 *
mbed_official 146:f64d43ff0c18 4901 * Forces IRQSTAT[CTOE] to be set.
mbed_official 146:f64d43ff0c18 4902 */
mbed_official 146:f64d43ff0c18 4903 //@{
mbed_official 146:f64d43ff0c18 4904 #define BP_SDHC_FEVT_CTOE (16U) //!< Bit position for SDHC_FEVT_CTOE.
mbed_official 146:f64d43ff0c18 4905 #define BM_SDHC_FEVT_CTOE (0x00010000U) //!< Bit mask for SDHC_FEVT_CTOE.
mbed_official 146:f64d43ff0c18 4906 #define BS_SDHC_FEVT_CTOE (1U) //!< Bit field size in bits for SDHC_FEVT_CTOE.
mbed_official 146:f64d43ff0c18 4907
mbed_official 146:f64d43ff0c18 4908 //! @brief Format value for bitfield SDHC_FEVT_CTOE.
mbed_official 146:f64d43ff0c18 4909 #define BF_SDHC_FEVT_CTOE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CTOE), uint32_t) & BM_SDHC_FEVT_CTOE)
mbed_official 146:f64d43ff0c18 4910
mbed_official 146:f64d43ff0c18 4911 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4912 //! @brief Set the CTOE field to a new value.
mbed_official 146:f64d43ff0c18 4913 #define BW_SDHC_FEVT_CTOE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CTOE) = (v))
mbed_official 146:f64d43ff0c18 4914 #endif
mbed_official 146:f64d43ff0c18 4915 //@}
mbed_official 146:f64d43ff0c18 4916
mbed_official 146:f64d43ff0c18 4917 /*!
mbed_official 146:f64d43ff0c18 4918 * @name Register SDHC_FEVT, field CCE[17] (WORZ)
mbed_official 146:f64d43ff0c18 4919 *
mbed_official 146:f64d43ff0c18 4920 * Forces IRQSTAT[CCE] to be set.
mbed_official 146:f64d43ff0c18 4921 */
mbed_official 146:f64d43ff0c18 4922 //@{
mbed_official 146:f64d43ff0c18 4923 #define BP_SDHC_FEVT_CCE (17U) //!< Bit position for SDHC_FEVT_CCE.
mbed_official 146:f64d43ff0c18 4924 #define BM_SDHC_FEVT_CCE (0x00020000U) //!< Bit mask for SDHC_FEVT_CCE.
mbed_official 146:f64d43ff0c18 4925 #define BS_SDHC_FEVT_CCE (1U) //!< Bit field size in bits for SDHC_FEVT_CCE.
mbed_official 146:f64d43ff0c18 4926
mbed_official 146:f64d43ff0c18 4927 //! @brief Format value for bitfield SDHC_FEVT_CCE.
mbed_official 146:f64d43ff0c18 4928 #define BF_SDHC_FEVT_CCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CCE), uint32_t) & BM_SDHC_FEVT_CCE)
mbed_official 146:f64d43ff0c18 4929
mbed_official 146:f64d43ff0c18 4930 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4931 //! @brief Set the CCE field to a new value.
mbed_official 146:f64d43ff0c18 4932 #define BW_SDHC_FEVT_CCE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CCE) = (v))
mbed_official 146:f64d43ff0c18 4933 #endif
mbed_official 146:f64d43ff0c18 4934 //@}
mbed_official 146:f64d43ff0c18 4935
mbed_official 146:f64d43ff0c18 4936 /*!
mbed_official 146:f64d43ff0c18 4937 * @name Register SDHC_FEVT, field CEBE[18] (WORZ)
mbed_official 146:f64d43ff0c18 4938 *
mbed_official 146:f64d43ff0c18 4939 * Forces IRQSTAT[CEBE] to be set.
mbed_official 146:f64d43ff0c18 4940 */
mbed_official 146:f64d43ff0c18 4941 //@{
mbed_official 146:f64d43ff0c18 4942 #define BP_SDHC_FEVT_CEBE (18U) //!< Bit position for SDHC_FEVT_CEBE.
mbed_official 146:f64d43ff0c18 4943 #define BM_SDHC_FEVT_CEBE (0x00040000U) //!< Bit mask for SDHC_FEVT_CEBE.
mbed_official 146:f64d43ff0c18 4944 #define BS_SDHC_FEVT_CEBE (1U) //!< Bit field size in bits for SDHC_FEVT_CEBE.
mbed_official 146:f64d43ff0c18 4945
mbed_official 146:f64d43ff0c18 4946 //! @brief Format value for bitfield SDHC_FEVT_CEBE.
mbed_official 146:f64d43ff0c18 4947 #define BF_SDHC_FEVT_CEBE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CEBE), uint32_t) & BM_SDHC_FEVT_CEBE)
mbed_official 146:f64d43ff0c18 4948
mbed_official 146:f64d43ff0c18 4949 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4950 //! @brief Set the CEBE field to a new value.
mbed_official 146:f64d43ff0c18 4951 #define BW_SDHC_FEVT_CEBE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CEBE) = (v))
mbed_official 146:f64d43ff0c18 4952 #endif
mbed_official 146:f64d43ff0c18 4953 //@}
mbed_official 146:f64d43ff0c18 4954
mbed_official 146:f64d43ff0c18 4955 /*!
mbed_official 146:f64d43ff0c18 4956 * @name Register SDHC_FEVT, field CIE[19] (WORZ)
mbed_official 146:f64d43ff0c18 4957 *
mbed_official 146:f64d43ff0c18 4958 * Forces IRQSTAT[CCE] to be set.
mbed_official 146:f64d43ff0c18 4959 */
mbed_official 146:f64d43ff0c18 4960 //@{
mbed_official 146:f64d43ff0c18 4961 #define BP_SDHC_FEVT_CIE (19U) //!< Bit position for SDHC_FEVT_CIE.
mbed_official 146:f64d43ff0c18 4962 #define BM_SDHC_FEVT_CIE (0x00080000U) //!< Bit mask for SDHC_FEVT_CIE.
mbed_official 146:f64d43ff0c18 4963 #define BS_SDHC_FEVT_CIE (1U) //!< Bit field size in bits for SDHC_FEVT_CIE.
mbed_official 146:f64d43ff0c18 4964
mbed_official 146:f64d43ff0c18 4965 //! @brief Format value for bitfield SDHC_FEVT_CIE.
mbed_official 146:f64d43ff0c18 4966 #define BF_SDHC_FEVT_CIE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CIE), uint32_t) & BM_SDHC_FEVT_CIE)
mbed_official 146:f64d43ff0c18 4967
mbed_official 146:f64d43ff0c18 4968 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4969 //! @brief Set the CIE field to a new value.
mbed_official 146:f64d43ff0c18 4970 #define BW_SDHC_FEVT_CIE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CIE) = (v))
mbed_official 146:f64d43ff0c18 4971 #endif
mbed_official 146:f64d43ff0c18 4972 //@}
mbed_official 146:f64d43ff0c18 4973
mbed_official 146:f64d43ff0c18 4974 /*!
mbed_official 146:f64d43ff0c18 4975 * @name Register SDHC_FEVT, field DTOE[20] (WORZ)
mbed_official 146:f64d43ff0c18 4976 *
mbed_official 146:f64d43ff0c18 4977 * Forces IRQSTAT[DTOE] to be set.
mbed_official 146:f64d43ff0c18 4978 */
mbed_official 146:f64d43ff0c18 4979 //@{
mbed_official 146:f64d43ff0c18 4980 #define BP_SDHC_FEVT_DTOE (20U) //!< Bit position for SDHC_FEVT_DTOE.
mbed_official 146:f64d43ff0c18 4981 #define BM_SDHC_FEVT_DTOE (0x00100000U) //!< Bit mask for SDHC_FEVT_DTOE.
mbed_official 146:f64d43ff0c18 4982 #define BS_SDHC_FEVT_DTOE (1U) //!< Bit field size in bits for SDHC_FEVT_DTOE.
mbed_official 146:f64d43ff0c18 4983
mbed_official 146:f64d43ff0c18 4984 //! @brief Format value for bitfield SDHC_FEVT_DTOE.
mbed_official 146:f64d43ff0c18 4985 #define BF_SDHC_FEVT_DTOE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_DTOE), uint32_t) & BM_SDHC_FEVT_DTOE)
mbed_official 146:f64d43ff0c18 4986
mbed_official 146:f64d43ff0c18 4987 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 4988 //! @brief Set the DTOE field to a new value.
mbed_official 146:f64d43ff0c18 4989 #define BW_SDHC_FEVT_DTOE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_DTOE) = (v))
mbed_official 146:f64d43ff0c18 4990 #endif
mbed_official 146:f64d43ff0c18 4991 //@}
mbed_official 146:f64d43ff0c18 4992
mbed_official 146:f64d43ff0c18 4993 /*!
mbed_official 146:f64d43ff0c18 4994 * @name Register SDHC_FEVT, field DCE[21] (WORZ)
mbed_official 146:f64d43ff0c18 4995 *
mbed_official 146:f64d43ff0c18 4996 * Forces IRQSTAT[DCE] to be set.
mbed_official 146:f64d43ff0c18 4997 */
mbed_official 146:f64d43ff0c18 4998 //@{
mbed_official 146:f64d43ff0c18 4999 #define BP_SDHC_FEVT_DCE (21U) //!< Bit position for SDHC_FEVT_DCE.
mbed_official 146:f64d43ff0c18 5000 #define BM_SDHC_FEVT_DCE (0x00200000U) //!< Bit mask for SDHC_FEVT_DCE.
mbed_official 146:f64d43ff0c18 5001 #define BS_SDHC_FEVT_DCE (1U) //!< Bit field size in bits for SDHC_FEVT_DCE.
mbed_official 146:f64d43ff0c18 5002
mbed_official 146:f64d43ff0c18 5003 //! @brief Format value for bitfield SDHC_FEVT_DCE.
mbed_official 146:f64d43ff0c18 5004 #define BF_SDHC_FEVT_DCE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_DCE), uint32_t) & BM_SDHC_FEVT_DCE)
mbed_official 146:f64d43ff0c18 5005
mbed_official 146:f64d43ff0c18 5006 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5007 //! @brief Set the DCE field to a new value.
mbed_official 146:f64d43ff0c18 5008 #define BW_SDHC_FEVT_DCE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_DCE) = (v))
mbed_official 146:f64d43ff0c18 5009 #endif
mbed_official 146:f64d43ff0c18 5010 //@}
mbed_official 146:f64d43ff0c18 5011
mbed_official 146:f64d43ff0c18 5012 /*!
mbed_official 146:f64d43ff0c18 5013 * @name Register SDHC_FEVT, field DEBE[22] (WORZ)
mbed_official 146:f64d43ff0c18 5014 *
mbed_official 146:f64d43ff0c18 5015 * Forces IRQSTAT[DEBE] to be set.
mbed_official 146:f64d43ff0c18 5016 */
mbed_official 146:f64d43ff0c18 5017 //@{
mbed_official 146:f64d43ff0c18 5018 #define BP_SDHC_FEVT_DEBE (22U) //!< Bit position for SDHC_FEVT_DEBE.
mbed_official 146:f64d43ff0c18 5019 #define BM_SDHC_FEVT_DEBE (0x00400000U) //!< Bit mask for SDHC_FEVT_DEBE.
mbed_official 146:f64d43ff0c18 5020 #define BS_SDHC_FEVT_DEBE (1U) //!< Bit field size in bits for SDHC_FEVT_DEBE.
mbed_official 146:f64d43ff0c18 5021
mbed_official 146:f64d43ff0c18 5022 //! @brief Format value for bitfield SDHC_FEVT_DEBE.
mbed_official 146:f64d43ff0c18 5023 #define BF_SDHC_FEVT_DEBE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_DEBE), uint32_t) & BM_SDHC_FEVT_DEBE)
mbed_official 146:f64d43ff0c18 5024
mbed_official 146:f64d43ff0c18 5025 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5026 //! @brief Set the DEBE field to a new value.
mbed_official 146:f64d43ff0c18 5027 #define BW_SDHC_FEVT_DEBE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_DEBE) = (v))
mbed_official 146:f64d43ff0c18 5028 #endif
mbed_official 146:f64d43ff0c18 5029 //@}
mbed_official 146:f64d43ff0c18 5030
mbed_official 146:f64d43ff0c18 5031 /*!
mbed_official 146:f64d43ff0c18 5032 * @name Register SDHC_FEVT, field AC12E[24] (WORZ)
mbed_official 146:f64d43ff0c18 5033 *
mbed_official 146:f64d43ff0c18 5034 * Forces IRQSTAT[AC12E] to be set.
mbed_official 146:f64d43ff0c18 5035 */
mbed_official 146:f64d43ff0c18 5036 //@{
mbed_official 146:f64d43ff0c18 5037 #define BP_SDHC_FEVT_AC12E (24U) //!< Bit position for SDHC_FEVT_AC12E.
mbed_official 146:f64d43ff0c18 5038 #define BM_SDHC_FEVT_AC12E (0x01000000U) //!< Bit mask for SDHC_FEVT_AC12E.
mbed_official 146:f64d43ff0c18 5039 #define BS_SDHC_FEVT_AC12E (1U) //!< Bit field size in bits for SDHC_FEVT_AC12E.
mbed_official 146:f64d43ff0c18 5040
mbed_official 146:f64d43ff0c18 5041 //! @brief Format value for bitfield SDHC_FEVT_AC12E.
mbed_official 146:f64d43ff0c18 5042 #define BF_SDHC_FEVT_AC12E(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_AC12E), uint32_t) & BM_SDHC_FEVT_AC12E)
mbed_official 146:f64d43ff0c18 5043
mbed_official 146:f64d43ff0c18 5044 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5045 //! @brief Set the AC12E field to a new value.
mbed_official 146:f64d43ff0c18 5046 #define BW_SDHC_FEVT_AC12E(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_AC12E) = (v))
mbed_official 146:f64d43ff0c18 5047 #endif
mbed_official 146:f64d43ff0c18 5048 //@}
mbed_official 146:f64d43ff0c18 5049
mbed_official 146:f64d43ff0c18 5050 /*!
mbed_official 146:f64d43ff0c18 5051 * @name Register SDHC_FEVT, field DMAE[28] (WORZ)
mbed_official 146:f64d43ff0c18 5052 *
mbed_official 146:f64d43ff0c18 5053 * Forces the DMAE bit of Interrupt Status Register to be set.
mbed_official 146:f64d43ff0c18 5054 */
mbed_official 146:f64d43ff0c18 5055 //@{
mbed_official 146:f64d43ff0c18 5056 #define BP_SDHC_FEVT_DMAE (28U) //!< Bit position for SDHC_FEVT_DMAE.
mbed_official 146:f64d43ff0c18 5057 #define BM_SDHC_FEVT_DMAE (0x10000000U) //!< Bit mask for SDHC_FEVT_DMAE.
mbed_official 146:f64d43ff0c18 5058 #define BS_SDHC_FEVT_DMAE (1U) //!< Bit field size in bits for SDHC_FEVT_DMAE.
mbed_official 146:f64d43ff0c18 5059
mbed_official 146:f64d43ff0c18 5060 //! @brief Format value for bitfield SDHC_FEVT_DMAE.
mbed_official 146:f64d43ff0c18 5061 #define BF_SDHC_FEVT_DMAE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_DMAE), uint32_t) & BM_SDHC_FEVT_DMAE)
mbed_official 146:f64d43ff0c18 5062
mbed_official 146:f64d43ff0c18 5063 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5064 //! @brief Set the DMAE field to a new value.
mbed_official 146:f64d43ff0c18 5065 #define BW_SDHC_FEVT_DMAE(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_DMAE) = (v))
mbed_official 146:f64d43ff0c18 5066 #endif
mbed_official 146:f64d43ff0c18 5067 //@}
mbed_official 146:f64d43ff0c18 5068
mbed_official 146:f64d43ff0c18 5069 /*!
mbed_official 146:f64d43ff0c18 5070 * @name Register SDHC_FEVT, field CINT[31] (WORZ)
mbed_official 146:f64d43ff0c18 5071 *
mbed_official 146:f64d43ff0c18 5072 * Writing 1 to this bit generates a short low-level pulse on the internal
mbed_official 146:f64d43ff0c18 5073 * DAT[1] line, as if a self-clearing interrupt was received from the external card.
mbed_official 146:f64d43ff0c18 5074 * If enabled, the CINT bit will be set and the interrupt service routine may
mbed_official 146:f64d43ff0c18 5075 * treat this interrupt as a normal interrupt from the external card.
mbed_official 146:f64d43ff0c18 5076 */
mbed_official 146:f64d43ff0c18 5077 //@{
mbed_official 146:f64d43ff0c18 5078 #define BP_SDHC_FEVT_CINT (31U) //!< Bit position for SDHC_FEVT_CINT.
mbed_official 146:f64d43ff0c18 5079 #define BM_SDHC_FEVT_CINT (0x80000000U) //!< Bit mask for SDHC_FEVT_CINT.
mbed_official 146:f64d43ff0c18 5080 #define BS_SDHC_FEVT_CINT (1U) //!< Bit field size in bits for SDHC_FEVT_CINT.
mbed_official 146:f64d43ff0c18 5081
mbed_official 146:f64d43ff0c18 5082 //! @brief Format value for bitfield SDHC_FEVT_CINT.
mbed_official 146:f64d43ff0c18 5083 #define BF_SDHC_FEVT_CINT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_FEVT_CINT), uint32_t) & BM_SDHC_FEVT_CINT)
mbed_official 146:f64d43ff0c18 5084
mbed_official 146:f64d43ff0c18 5085 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5086 //! @brief Set the CINT field to a new value.
mbed_official 146:f64d43ff0c18 5087 #define BW_SDHC_FEVT_CINT(v) (BITBAND_ACCESS32(HW_SDHC_FEVT_ADDR, BP_SDHC_FEVT_CINT) = (v))
mbed_official 146:f64d43ff0c18 5088 #endif
mbed_official 146:f64d43ff0c18 5089 //@}
mbed_official 146:f64d43ff0c18 5090
mbed_official 146:f64d43ff0c18 5091 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5092 // HW_SDHC_ADMAES - ADMA Error Status register
mbed_official 146:f64d43ff0c18 5093 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5094
mbed_official 146:f64d43ff0c18 5095 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5096 /*!
mbed_official 146:f64d43ff0c18 5097 * @brief HW_SDHC_ADMAES - ADMA Error Status register (RO)
mbed_official 146:f64d43ff0c18 5098 *
mbed_official 146:f64d43ff0c18 5099 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 5100 *
mbed_official 146:f64d43ff0c18 5101 * When an ADMA error interrupt has occurred, the ADMA Error States field in
mbed_official 146:f64d43ff0c18 5102 * this register holds the ADMA state and the ADMA System Address register holds the
mbed_official 146:f64d43ff0c18 5103 * address around the error descriptor. For recovering from this error, the host
mbed_official 146:f64d43ff0c18 5104 * driver requires the ADMA state to identify the error descriptor address as
mbed_official 146:f64d43ff0c18 5105 * follows: ST_STOP: Previous location set in the ADMA System Address register is
mbed_official 146:f64d43ff0c18 5106 * the error descriptor address. ST_FDS: Current location set in the ADMA System
mbed_official 146:f64d43ff0c18 5107 * Address register is the error descriptor address. ST_CADR: This state is never
mbed_official 146:f64d43ff0c18 5108 * set because it only increments the descriptor pointer and doesn't generate an
mbed_official 146:f64d43ff0c18 5109 * ADMA error. ST_TFR: Previous location set in the ADMA System Address register
mbed_official 146:f64d43ff0c18 5110 * is the error descriptor address. In case of a write operation, the host driver
mbed_official 146:f64d43ff0c18 5111 * must use the ACMD22 to get the number of the written block, rather than using
mbed_official 146:f64d43ff0c18 5112 * this information, because unwritten data may exist in the host controller.
mbed_official 146:f64d43ff0c18 5113 * The host controller generates the ADMA error interrupt when it detects invalid
mbed_official 146:f64d43ff0c18 5114 * descriptor data (valid = 0) in the ST_FDS state. The host driver can
mbed_official 146:f64d43ff0c18 5115 * distinguish this error by reading the valid bit of the error descriptor. ADMA Error
mbed_official 146:f64d43ff0c18 5116 * State coding D01-D00 ADMA Error State when error has occurred Contents of ADMA
mbed_official 146:f64d43ff0c18 5117 * System Address register 00 ST_STOP (Stop DMA) Holds the address of the next
mbed_official 146:f64d43ff0c18 5118 * executable descriptor command 01 ST_FDS (fetch descriptor) Holds the valid
mbed_official 146:f64d43ff0c18 5119 * descriptor address 10 ST_CADR (change address) No ADMA error is generated 11 ST_TFR
mbed_official 146:f64d43ff0c18 5120 * (Transfer Data) Holds the address of the next executable descriptor command
mbed_official 146:f64d43ff0c18 5121 */
mbed_official 146:f64d43ff0c18 5122 typedef union _hw_sdhc_admaes
mbed_official 146:f64d43ff0c18 5123 {
mbed_official 146:f64d43ff0c18 5124 uint32_t U;
mbed_official 146:f64d43ff0c18 5125 struct _hw_sdhc_admaes_bitfields
mbed_official 146:f64d43ff0c18 5126 {
mbed_official 146:f64d43ff0c18 5127 uint32_t ADMAES : 2; //!< [1:0] ADMA Error State (When ADMA Error Is
mbed_official 146:f64d43ff0c18 5128 //! Occurred.)
mbed_official 146:f64d43ff0c18 5129 uint32_t ADMALME : 1; //!< [2] ADMA Length Mismatch Error
mbed_official 146:f64d43ff0c18 5130 uint32_t ADMADCE : 1; //!< [3] ADMA Descriptor Error
mbed_official 146:f64d43ff0c18 5131 uint32_t RESERVED0 : 28; //!< [31:4]
mbed_official 146:f64d43ff0c18 5132 } B;
mbed_official 146:f64d43ff0c18 5133 } hw_sdhc_admaes_t;
mbed_official 146:f64d43ff0c18 5134 #endif
mbed_official 146:f64d43ff0c18 5135
mbed_official 146:f64d43ff0c18 5136 /*!
mbed_official 146:f64d43ff0c18 5137 * @name Constants and macros for entire SDHC_ADMAES register
mbed_official 146:f64d43ff0c18 5138 */
mbed_official 146:f64d43ff0c18 5139 //@{
mbed_official 146:f64d43ff0c18 5140 #define HW_SDHC_ADMAES_ADDR (REGS_SDHC_BASE + 0x54U)
mbed_official 146:f64d43ff0c18 5141
mbed_official 146:f64d43ff0c18 5142 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5143 #define HW_SDHC_ADMAES (*(__I hw_sdhc_admaes_t *) HW_SDHC_ADMAES_ADDR)
mbed_official 146:f64d43ff0c18 5144 #define HW_SDHC_ADMAES_RD() (HW_SDHC_ADMAES.U)
mbed_official 146:f64d43ff0c18 5145 #endif
mbed_official 146:f64d43ff0c18 5146 //@}
mbed_official 146:f64d43ff0c18 5147
mbed_official 146:f64d43ff0c18 5148 /*
mbed_official 146:f64d43ff0c18 5149 * Constants & macros for individual SDHC_ADMAES bitfields
mbed_official 146:f64d43ff0c18 5150 */
mbed_official 146:f64d43ff0c18 5151
mbed_official 146:f64d43ff0c18 5152 /*!
mbed_official 146:f64d43ff0c18 5153 * @name Register SDHC_ADMAES, field ADMAES[1:0] (RO)
mbed_official 146:f64d43ff0c18 5154 *
mbed_official 146:f64d43ff0c18 5155 * Indicates the state of the ADMA when an error has occurred during an ADMA
mbed_official 146:f64d43ff0c18 5156 * data transfer.
mbed_official 146:f64d43ff0c18 5157 */
mbed_official 146:f64d43ff0c18 5158 //@{
mbed_official 146:f64d43ff0c18 5159 #define BP_SDHC_ADMAES_ADMAES (0U) //!< Bit position for SDHC_ADMAES_ADMAES.
mbed_official 146:f64d43ff0c18 5160 #define BM_SDHC_ADMAES_ADMAES (0x00000003U) //!< Bit mask for SDHC_ADMAES_ADMAES.
mbed_official 146:f64d43ff0c18 5161 #define BS_SDHC_ADMAES_ADMAES (2U) //!< Bit field size in bits for SDHC_ADMAES_ADMAES.
mbed_official 146:f64d43ff0c18 5162
mbed_official 146:f64d43ff0c18 5163 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5164 //! @brief Read current value of the SDHC_ADMAES_ADMAES field.
mbed_official 146:f64d43ff0c18 5165 #define BR_SDHC_ADMAES_ADMAES (HW_SDHC_ADMAES.B.ADMAES)
mbed_official 146:f64d43ff0c18 5166 #endif
mbed_official 146:f64d43ff0c18 5167 //@}
mbed_official 146:f64d43ff0c18 5168
mbed_official 146:f64d43ff0c18 5169 /*!
mbed_official 146:f64d43ff0c18 5170 * @name Register SDHC_ADMAES, field ADMALME[2] (RO)
mbed_official 146:f64d43ff0c18 5171 *
mbed_official 146:f64d43ff0c18 5172 * This error occurs in the following 2 cases: While the block count enable is
mbed_official 146:f64d43ff0c18 5173 * being set, the total data length specified by the descriptor table is different
mbed_official 146:f64d43ff0c18 5174 * from that specified by the block count and block length. Total data length
mbed_official 146:f64d43ff0c18 5175 * can not be divided by the block length.
mbed_official 146:f64d43ff0c18 5176 *
mbed_official 146:f64d43ff0c18 5177 * Values:
mbed_official 146:f64d43ff0c18 5178 * - 0 - No error.
mbed_official 146:f64d43ff0c18 5179 * - 1 - Error.
mbed_official 146:f64d43ff0c18 5180 */
mbed_official 146:f64d43ff0c18 5181 //@{
mbed_official 146:f64d43ff0c18 5182 #define BP_SDHC_ADMAES_ADMALME (2U) //!< Bit position for SDHC_ADMAES_ADMALME.
mbed_official 146:f64d43ff0c18 5183 #define BM_SDHC_ADMAES_ADMALME (0x00000004U) //!< Bit mask for SDHC_ADMAES_ADMALME.
mbed_official 146:f64d43ff0c18 5184 #define BS_SDHC_ADMAES_ADMALME (1U) //!< Bit field size in bits for SDHC_ADMAES_ADMALME.
mbed_official 146:f64d43ff0c18 5185
mbed_official 146:f64d43ff0c18 5186 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5187 //! @brief Read current value of the SDHC_ADMAES_ADMALME field.
mbed_official 146:f64d43ff0c18 5188 #define BR_SDHC_ADMAES_ADMALME (BITBAND_ACCESS32(HW_SDHC_ADMAES_ADDR, BP_SDHC_ADMAES_ADMALME))
mbed_official 146:f64d43ff0c18 5189 #endif
mbed_official 146:f64d43ff0c18 5190 //@}
mbed_official 146:f64d43ff0c18 5191
mbed_official 146:f64d43ff0c18 5192 /*!
mbed_official 146:f64d43ff0c18 5193 * @name Register SDHC_ADMAES, field ADMADCE[3] (RO)
mbed_official 146:f64d43ff0c18 5194 *
mbed_official 146:f64d43ff0c18 5195 * This error occurs when an invalid descriptor is fetched by ADMA.
mbed_official 146:f64d43ff0c18 5196 *
mbed_official 146:f64d43ff0c18 5197 * Values:
mbed_official 146:f64d43ff0c18 5198 * - 0 - No error.
mbed_official 146:f64d43ff0c18 5199 * - 1 - Error.
mbed_official 146:f64d43ff0c18 5200 */
mbed_official 146:f64d43ff0c18 5201 //@{
mbed_official 146:f64d43ff0c18 5202 #define BP_SDHC_ADMAES_ADMADCE (3U) //!< Bit position for SDHC_ADMAES_ADMADCE.
mbed_official 146:f64d43ff0c18 5203 #define BM_SDHC_ADMAES_ADMADCE (0x00000008U) //!< Bit mask for SDHC_ADMAES_ADMADCE.
mbed_official 146:f64d43ff0c18 5204 #define BS_SDHC_ADMAES_ADMADCE (1U) //!< Bit field size in bits for SDHC_ADMAES_ADMADCE.
mbed_official 146:f64d43ff0c18 5205
mbed_official 146:f64d43ff0c18 5206 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5207 //! @brief Read current value of the SDHC_ADMAES_ADMADCE field.
mbed_official 146:f64d43ff0c18 5208 #define BR_SDHC_ADMAES_ADMADCE (BITBAND_ACCESS32(HW_SDHC_ADMAES_ADDR, BP_SDHC_ADMAES_ADMADCE))
mbed_official 146:f64d43ff0c18 5209 #endif
mbed_official 146:f64d43ff0c18 5210 //@}
mbed_official 146:f64d43ff0c18 5211
mbed_official 146:f64d43ff0c18 5212 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5213 // HW_SDHC_ADSADDR - ADMA System Addressregister
mbed_official 146:f64d43ff0c18 5214 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5215
mbed_official 146:f64d43ff0c18 5216 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5217 /*!
mbed_official 146:f64d43ff0c18 5218 * @brief HW_SDHC_ADSADDR - ADMA System Addressregister (RW)
mbed_official 146:f64d43ff0c18 5219 *
mbed_official 146:f64d43ff0c18 5220 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 5221 *
mbed_official 146:f64d43ff0c18 5222 * This register contains the physical system memory address used for ADMA
mbed_official 146:f64d43ff0c18 5223 * transfers.
mbed_official 146:f64d43ff0c18 5224 */
mbed_official 146:f64d43ff0c18 5225 typedef union _hw_sdhc_adsaddr
mbed_official 146:f64d43ff0c18 5226 {
mbed_official 146:f64d43ff0c18 5227 uint32_t U;
mbed_official 146:f64d43ff0c18 5228 struct _hw_sdhc_adsaddr_bitfields
mbed_official 146:f64d43ff0c18 5229 {
mbed_official 146:f64d43ff0c18 5230 uint32_t RESERVED0 : 2; //!< [1:0]
mbed_official 146:f64d43ff0c18 5231 uint32_t ADSADDR : 30; //!< [31:2] ADMA System Address
mbed_official 146:f64d43ff0c18 5232 } B;
mbed_official 146:f64d43ff0c18 5233 } hw_sdhc_adsaddr_t;
mbed_official 146:f64d43ff0c18 5234 #endif
mbed_official 146:f64d43ff0c18 5235
mbed_official 146:f64d43ff0c18 5236 /*!
mbed_official 146:f64d43ff0c18 5237 * @name Constants and macros for entire SDHC_ADSADDR register
mbed_official 146:f64d43ff0c18 5238 */
mbed_official 146:f64d43ff0c18 5239 //@{
mbed_official 146:f64d43ff0c18 5240 #define HW_SDHC_ADSADDR_ADDR (REGS_SDHC_BASE + 0x58U)
mbed_official 146:f64d43ff0c18 5241
mbed_official 146:f64d43ff0c18 5242 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5243 #define HW_SDHC_ADSADDR (*(__IO hw_sdhc_adsaddr_t *) HW_SDHC_ADSADDR_ADDR)
mbed_official 146:f64d43ff0c18 5244 #define HW_SDHC_ADSADDR_RD() (HW_SDHC_ADSADDR.U)
mbed_official 146:f64d43ff0c18 5245 #define HW_SDHC_ADSADDR_WR(v) (HW_SDHC_ADSADDR.U = (v))
mbed_official 146:f64d43ff0c18 5246 #define HW_SDHC_ADSADDR_SET(v) (HW_SDHC_ADSADDR_WR(HW_SDHC_ADSADDR_RD() | (v)))
mbed_official 146:f64d43ff0c18 5247 #define HW_SDHC_ADSADDR_CLR(v) (HW_SDHC_ADSADDR_WR(HW_SDHC_ADSADDR_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 5248 #define HW_SDHC_ADSADDR_TOG(v) (HW_SDHC_ADSADDR_WR(HW_SDHC_ADSADDR_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 5249 #endif
mbed_official 146:f64d43ff0c18 5250 //@}
mbed_official 146:f64d43ff0c18 5251
mbed_official 146:f64d43ff0c18 5252 /*
mbed_official 146:f64d43ff0c18 5253 * Constants & macros for individual SDHC_ADSADDR bitfields
mbed_official 146:f64d43ff0c18 5254 */
mbed_official 146:f64d43ff0c18 5255
mbed_official 146:f64d43ff0c18 5256 /*!
mbed_official 146:f64d43ff0c18 5257 * @name Register SDHC_ADSADDR, field ADSADDR[31:2] (RW)
mbed_official 146:f64d43ff0c18 5258 *
mbed_official 146:f64d43ff0c18 5259 * Holds the word address of the executing command in the descriptor table. At
mbed_official 146:f64d43ff0c18 5260 * the start of ADMA, the host driver shall set the start address of the
mbed_official 146:f64d43ff0c18 5261 * Descriptor table. The ADMA engine increments this register address whenever fetching a
mbed_official 146:f64d43ff0c18 5262 * descriptor command. When the ADMA is stopped at the block gap, this register
mbed_official 146:f64d43ff0c18 5263 * indicates the address of the next executable descriptor command. When the ADMA
mbed_official 146:f64d43ff0c18 5264 * error interrupt is generated, this register shall hold the valid descriptor
mbed_official 146:f64d43ff0c18 5265 * address depending on the ADMA state. The lower 2 bits of this register is tied
mbed_official 146:f64d43ff0c18 5266 * to '0' so the ADMA address is always word-aligned. Because this register
mbed_official 146:f64d43ff0c18 5267 * supports dynamic address reflecting, when TC bit is set, it automatically alters the
mbed_official 146:f64d43ff0c18 5268 * value of internal address counter, so SW cannot change this register when TC
mbed_official 146:f64d43ff0c18 5269 * bit is set.
mbed_official 146:f64d43ff0c18 5270 */
mbed_official 146:f64d43ff0c18 5271 //@{
mbed_official 146:f64d43ff0c18 5272 #define BP_SDHC_ADSADDR_ADSADDR (2U) //!< Bit position for SDHC_ADSADDR_ADSADDR.
mbed_official 146:f64d43ff0c18 5273 #define BM_SDHC_ADSADDR_ADSADDR (0xFFFFFFFCU) //!< Bit mask for SDHC_ADSADDR_ADSADDR.
mbed_official 146:f64d43ff0c18 5274 #define BS_SDHC_ADSADDR_ADSADDR (30U) //!< Bit field size in bits for SDHC_ADSADDR_ADSADDR.
mbed_official 146:f64d43ff0c18 5275
mbed_official 146:f64d43ff0c18 5276 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5277 //! @brief Read current value of the SDHC_ADSADDR_ADSADDR field.
mbed_official 146:f64d43ff0c18 5278 #define BR_SDHC_ADSADDR_ADSADDR (HW_SDHC_ADSADDR.B.ADSADDR)
mbed_official 146:f64d43ff0c18 5279 #endif
mbed_official 146:f64d43ff0c18 5280
mbed_official 146:f64d43ff0c18 5281 //! @brief Format value for bitfield SDHC_ADSADDR_ADSADDR.
mbed_official 146:f64d43ff0c18 5282 #define BF_SDHC_ADSADDR_ADSADDR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_ADSADDR_ADSADDR), uint32_t) & BM_SDHC_ADSADDR_ADSADDR)
mbed_official 146:f64d43ff0c18 5283
mbed_official 146:f64d43ff0c18 5284 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5285 //! @brief Set the ADSADDR field to a new value.
mbed_official 146:f64d43ff0c18 5286 #define BW_SDHC_ADSADDR_ADSADDR(v) (HW_SDHC_ADSADDR_WR((HW_SDHC_ADSADDR_RD() & ~BM_SDHC_ADSADDR_ADSADDR) | BF_SDHC_ADSADDR_ADSADDR(v)))
mbed_official 146:f64d43ff0c18 5287 #endif
mbed_official 146:f64d43ff0c18 5288 //@}
mbed_official 146:f64d43ff0c18 5289
mbed_official 146:f64d43ff0c18 5290 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5291 // HW_SDHC_VENDOR - Vendor Specific register
mbed_official 146:f64d43ff0c18 5292 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5293
mbed_official 146:f64d43ff0c18 5294 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5295 /*!
mbed_official 146:f64d43ff0c18 5296 * @brief HW_SDHC_VENDOR - Vendor Specific register (RW)
mbed_official 146:f64d43ff0c18 5297 *
mbed_official 146:f64d43ff0c18 5298 * Reset value: 0x00000001U
mbed_official 146:f64d43ff0c18 5299 *
mbed_official 146:f64d43ff0c18 5300 * This register contains the vendor-specific control/status register.
mbed_official 146:f64d43ff0c18 5301 */
mbed_official 146:f64d43ff0c18 5302 typedef union _hw_sdhc_vendor
mbed_official 146:f64d43ff0c18 5303 {
mbed_official 146:f64d43ff0c18 5304 uint32_t U;
mbed_official 146:f64d43ff0c18 5305 struct _hw_sdhc_vendor_bitfields
mbed_official 146:f64d43ff0c18 5306 {
mbed_official 146:f64d43ff0c18 5307 uint32_t EXTDMAEN : 1; //!< [0] External DMA Request Enable
mbed_official 146:f64d43ff0c18 5308 uint32_t EXBLKNU : 1; //!< [1] Exact Block Number Block Read Enable
mbed_official 146:f64d43ff0c18 5309 //! For SDIO CMD53
mbed_official 146:f64d43ff0c18 5310 uint32_t RESERVED0 : 14; //!< [15:2]
mbed_official 146:f64d43ff0c18 5311 uint32_t INTSTVAL : 8; //!< [23:16] Internal State Value
mbed_official 146:f64d43ff0c18 5312 uint32_t RESERVED1 : 8; //!< [31:24]
mbed_official 146:f64d43ff0c18 5313 } B;
mbed_official 146:f64d43ff0c18 5314 } hw_sdhc_vendor_t;
mbed_official 146:f64d43ff0c18 5315 #endif
mbed_official 146:f64d43ff0c18 5316
mbed_official 146:f64d43ff0c18 5317 /*!
mbed_official 146:f64d43ff0c18 5318 * @name Constants and macros for entire SDHC_VENDOR register
mbed_official 146:f64d43ff0c18 5319 */
mbed_official 146:f64d43ff0c18 5320 //@{
mbed_official 146:f64d43ff0c18 5321 #define HW_SDHC_VENDOR_ADDR (REGS_SDHC_BASE + 0xC0U)
mbed_official 146:f64d43ff0c18 5322
mbed_official 146:f64d43ff0c18 5323 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5324 #define HW_SDHC_VENDOR (*(__IO hw_sdhc_vendor_t *) HW_SDHC_VENDOR_ADDR)
mbed_official 146:f64d43ff0c18 5325 #define HW_SDHC_VENDOR_RD() (HW_SDHC_VENDOR.U)
mbed_official 146:f64d43ff0c18 5326 #define HW_SDHC_VENDOR_WR(v) (HW_SDHC_VENDOR.U = (v))
mbed_official 146:f64d43ff0c18 5327 #define HW_SDHC_VENDOR_SET(v) (HW_SDHC_VENDOR_WR(HW_SDHC_VENDOR_RD() | (v)))
mbed_official 146:f64d43ff0c18 5328 #define HW_SDHC_VENDOR_CLR(v) (HW_SDHC_VENDOR_WR(HW_SDHC_VENDOR_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 5329 #define HW_SDHC_VENDOR_TOG(v) (HW_SDHC_VENDOR_WR(HW_SDHC_VENDOR_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 5330 #endif
mbed_official 146:f64d43ff0c18 5331 //@}
mbed_official 146:f64d43ff0c18 5332
mbed_official 146:f64d43ff0c18 5333 /*
mbed_official 146:f64d43ff0c18 5334 * Constants & macros for individual SDHC_VENDOR bitfields
mbed_official 146:f64d43ff0c18 5335 */
mbed_official 146:f64d43ff0c18 5336
mbed_official 146:f64d43ff0c18 5337 /*!
mbed_official 146:f64d43ff0c18 5338 * @name Register SDHC_VENDOR, field EXTDMAEN[0] (RW)
mbed_official 146:f64d43ff0c18 5339 *
mbed_official 146:f64d43ff0c18 5340 * Enables the request to external DMA. When the internal DMA (either simple DMA
mbed_official 146:f64d43ff0c18 5341 * or advanced DMA) is not in use, and this bit is set, SDHC will send out DMA
mbed_official 146:f64d43ff0c18 5342 * request when the internal buffer is ready. This bit is particularly useful when
mbed_official 146:f64d43ff0c18 5343 * transferring data by CPU polling mode, and it is not allowed to send out the
mbed_official 146:f64d43ff0c18 5344 * external DMA request. By default, this bit is set.
mbed_official 146:f64d43ff0c18 5345 *
mbed_official 146:f64d43ff0c18 5346 * Values:
mbed_official 146:f64d43ff0c18 5347 * - 0 - In any scenario, SDHC does not send out the external DMA request.
mbed_official 146:f64d43ff0c18 5348 * - 1 - When internal DMA is not active, the external DMA request will be sent
mbed_official 146:f64d43ff0c18 5349 * out.
mbed_official 146:f64d43ff0c18 5350 */
mbed_official 146:f64d43ff0c18 5351 //@{
mbed_official 146:f64d43ff0c18 5352 #define BP_SDHC_VENDOR_EXTDMAEN (0U) //!< Bit position for SDHC_VENDOR_EXTDMAEN.
mbed_official 146:f64d43ff0c18 5353 #define BM_SDHC_VENDOR_EXTDMAEN (0x00000001U) //!< Bit mask for SDHC_VENDOR_EXTDMAEN.
mbed_official 146:f64d43ff0c18 5354 #define BS_SDHC_VENDOR_EXTDMAEN (1U) //!< Bit field size in bits for SDHC_VENDOR_EXTDMAEN.
mbed_official 146:f64d43ff0c18 5355
mbed_official 146:f64d43ff0c18 5356 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5357 //! @brief Read current value of the SDHC_VENDOR_EXTDMAEN field.
mbed_official 146:f64d43ff0c18 5358 #define BR_SDHC_VENDOR_EXTDMAEN (BITBAND_ACCESS32(HW_SDHC_VENDOR_ADDR, BP_SDHC_VENDOR_EXTDMAEN))
mbed_official 146:f64d43ff0c18 5359 #endif
mbed_official 146:f64d43ff0c18 5360
mbed_official 146:f64d43ff0c18 5361 //! @brief Format value for bitfield SDHC_VENDOR_EXTDMAEN.
mbed_official 146:f64d43ff0c18 5362 #define BF_SDHC_VENDOR_EXTDMAEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_VENDOR_EXTDMAEN), uint32_t) & BM_SDHC_VENDOR_EXTDMAEN)
mbed_official 146:f64d43ff0c18 5363
mbed_official 146:f64d43ff0c18 5364 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5365 //! @brief Set the EXTDMAEN field to a new value.
mbed_official 146:f64d43ff0c18 5366 #define BW_SDHC_VENDOR_EXTDMAEN(v) (BITBAND_ACCESS32(HW_SDHC_VENDOR_ADDR, BP_SDHC_VENDOR_EXTDMAEN) = (v))
mbed_official 146:f64d43ff0c18 5367 #endif
mbed_official 146:f64d43ff0c18 5368 //@}
mbed_official 146:f64d43ff0c18 5369
mbed_official 146:f64d43ff0c18 5370 /*!
mbed_official 146:f64d43ff0c18 5371 * @name Register SDHC_VENDOR, field EXBLKNU[1] (RW)
mbed_official 146:f64d43ff0c18 5372 *
mbed_official 146:f64d43ff0c18 5373 * This bit must be set before S/W issues CMD53 multi-block read with exact
mbed_official 146:f64d43ff0c18 5374 * block number. This bit must not be set if the CMD53 multi-block read is not exact
mbed_official 146:f64d43ff0c18 5375 * block number.
mbed_official 146:f64d43ff0c18 5376 *
mbed_official 146:f64d43ff0c18 5377 * Values:
mbed_official 146:f64d43ff0c18 5378 * - 0 - None exact block read.
mbed_official 146:f64d43ff0c18 5379 * - 1 - Exact block read for SDIO CMD53.
mbed_official 146:f64d43ff0c18 5380 */
mbed_official 146:f64d43ff0c18 5381 //@{
mbed_official 146:f64d43ff0c18 5382 #define BP_SDHC_VENDOR_EXBLKNU (1U) //!< Bit position for SDHC_VENDOR_EXBLKNU.
mbed_official 146:f64d43ff0c18 5383 #define BM_SDHC_VENDOR_EXBLKNU (0x00000002U) //!< Bit mask for SDHC_VENDOR_EXBLKNU.
mbed_official 146:f64d43ff0c18 5384 #define BS_SDHC_VENDOR_EXBLKNU (1U) //!< Bit field size in bits for SDHC_VENDOR_EXBLKNU.
mbed_official 146:f64d43ff0c18 5385
mbed_official 146:f64d43ff0c18 5386 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5387 //! @brief Read current value of the SDHC_VENDOR_EXBLKNU field.
mbed_official 146:f64d43ff0c18 5388 #define BR_SDHC_VENDOR_EXBLKNU (BITBAND_ACCESS32(HW_SDHC_VENDOR_ADDR, BP_SDHC_VENDOR_EXBLKNU))
mbed_official 146:f64d43ff0c18 5389 #endif
mbed_official 146:f64d43ff0c18 5390
mbed_official 146:f64d43ff0c18 5391 //! @brief Format value for bitfield SDHC_VENDOR_EXBLKNU.
mbed_official 146:f64d43ff0c18 5392 #define BF_SDHC_VENDOR_EXBLKNU(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_VENDOR_EXBLKNU), uint32_t) & BM_SDHC_VENDOR_EXBLKNU)
mbed_official 146:f64d43ff0c18 5393
mbed_official 146:f64d43ff0c18 5394 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5395 //! @brief Set the EXBLKNU field to a new value.
mbed_official 146:f64d43ff0c18 5396 #define BW_SDHC_VENDOR_EXBLKNU(v) (BITBAND_ACCESS32(HW_SDHC_VENDOR_ADDR, BP_SDHC_VENDOR_EXBLKNU) = (v))
mbed_official 146:f64d43ff0c18 5397 #endif
mbed_official 146:f64d43ff0c18 5398 //@}
mbed_official 146:f64d43ff0c18 5399
mbed_official 146:f64d43ff0c18 5400 /*!
mbed_official 146:f64d43ff0c18 5401 * @name Register SDHC_VENDOR, field INTSTVAL[23:16] (RO)
mbed_official 146:f64d43ff0c18 5402 *
mbed_official 146:f64d43ff0c18 5403 * Internal state value, reflecting the corresponding state value selected by
mbed_official 146:f64d43ff0c18 5404 * Debug Select field. This field is read-only and write to this field does not
mbed_official 146:f64d43ff0c18 5405 * have effect.
mbed_official 146:f64d43ff0c18 5406 */
mbed_official 146:f64d43ff0c18 5407 //@{
mbed_official 146:f64d43ff0c18 5408 #define BP_SDHC_VENDOR_INTSTVAL (16U) //!< Bit position for SDHC_VENDOR_INTSTVAL.
mbed_official 146:f64d43ff0c18 5409 #define BM_SDHC_VENDOR_INTSTVAL (0x00FF0000U) //!< Bit mask for SDHC_VENDOR_INTSTVAL.
mbed_official 146:f64d43ff0c18 5410 #define BS_SDHC_VENDOR_INTSTVAL (8U) //!< Bit field size in bits for SDHC_VENDOR_INTSTVAL.
mbed_official 146:f64d43ff0c18 5411
mbed_official 146:f64d43ff0c18 5412 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5413 //! @brief Read current value of the SDHC_VENDOR_INTSTVAL field.
mbed_official 146:f64d43ff0c18 5414 #define BR_SDHC_VENDOR_INTSTVAL (HW_SDHC_VENDOR.B.INTSTVAL)
mbed_official 146:f64d43ff0c18 5415 #endif
mbed_official 146:f64d43ff0c18 5416 //@}
mbed_official 146:f64d43ff0c18 5417
mbed_official 146:f64d43ff0c18 5418 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5419 // HW_SDHC_MMCBOOT - MMC Boot register
mbed_official 146:f64d43ff0c18 5420 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5421
mbed_official 146:f64d43ff0c18 5422 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5423 /*!
mbed_official 146:f64d43ff0c18 5424 * @brief HW_SDHC_MMCBOOT - MMC Boot register (RW)
mbed_official 146:f64d43ff0c18 5425 *
mbed_official 146:f64d43ff0c18 5426 * Reset value: 0x00000000U
mbed_official 146:f64d43ff0c18 5427 *
mbed_official 146:f64d43ff0c18 5428 * This register contains the MMC fast boot control register.
mbed_official 146:f64d43ff0c18 5429 */
mbed_official 146:f64d43ff0c18 5430 typedef union _hw_sdhc_mmcboot
mbed_official 146:f64d43ff0c18 5431 {
mbed_official 146:f64d43ff0c18 5432 uint32_t U;
mbed_official 146:f64d43ff0c18 5433 struct _hw_sdhc_mmcboot_bitfields
mbed_official 146:f64d43ff0c18 5434 {
mbed_official 146:f64d43ff0c18 5435 uint32_t DTOCVACK : 4; //!< [3:0] Boot ACK Time Out Counter Value
mbed_official 146:f64d43ff0c18 5436 uint32_t BOOTACK : 1; //!< [4] Boot Ack Mode Select
mbed_official 146:f64d43ff0c18 5437 uint32_t BOOTMODE : 1; //!< [5] Boot Mode Select
mbed_official 146:f64d43ff0c18 5438 uint32_t BOOTEN : 1; //!< [6] Boot Mode Enable
mbed_official 146:f64d43ff0c18 5439 uint32_t AUTOSABGEN : 1; //!< [7]
mbed_official 146:f64d43ff0c18 5440 uint32_t RESERVED0 : 8; //!< [15:8]
mbed_official 146:f64d43ff0c18 5441 uint32_t BOOTBLKCNT : 16; //!< [31:16]
mbed_official 146:f64d43ff0c18 5442 } B;
mbed_official 146:f64d43ff0c18 5443 } hw_sdhc_mmcboot_t;
mbed_official 146:f64d43ff0c18 5444 #endif
mbed_official 146:f64d43ff0c18 5445
mbed_official 146:f64d43ff0c18 5446 /*!
mbed_official 146:f64d43ff0c18 5447 * @name Constants and macros for entire SDHC_MMCBOOT register
mbed_official 146:f64d43ff0c18 5448 */
mbed_official 146:f64d43ff0c18 5449 //@{
mbed_official 146:f64d43ff0c18 5450 #define HW_SDHC_MMCBOOT_ADDR (REGS_SDHC_BASE + 0xC4U)
mbed_official 146:f64d43ff0c18 5451
mbed_official 146:f64d43ff0c18 5452 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5453 #define HW_SDHC_MMCBOOT (*(__IO hw_sdhc_mmcboot_t *) HW_SDHC_MMCBOOT_ADDR)
mbed_official 146:f64d43ff0c18 5454 #define HW_SDHC_MMCBOOT_RD() (HW_SDHC_MMCBOOT.U)
mbed_official 146:f64d43ff0c18 5455 #define HW_SDHC_MMCBOOT_WR(v) (HW_SDHC_MMCBOOT.U = (v))
mbed_official 146:f64d43ff0c18 5456 #define HW_SDHC_MMCBOOT_SET(v) (HW_SDHC_MMCBOOT_WR(HW_SDHC_MMCBOOT_RD() | (v)))
mbed_official 146:f64d43ff0c18 5457 #define HW_SDHC_MMCBOOT_CLR(v) (HW_SDHC_MMCBOOT_WR(HW_SDHC_MMCBOOT_RD() & ~(v)))
mbed_official 146:f64d43ff0c18 5458 #define HW_SDHC_MMCBOOT_TOG(v) (HW_SDHC_MMCBOOT_WR(HW_SDHC_MMCBOOT_RD() ^ (v)))
mbed_official 146:f64d43ff0c18 5459 #endif
mbed_official 146:f64d43ff0c18 5460 //@}
mbed_official 146:f64d43ff0c18 5461
mbed_official 146:f64d43ff0c18 5462 /*
mbed_official 146:f64d43ff0c18 5463 * Constants & macros for individual SDHC_MMCBOOT bitfields
mbed_official 146:f64d43ff0c18 5464 */
mbed_official 146:f64d43ff0c18 5465
mbed_official 146:f64d43ff0c18 5466 /*!
mbed_official 146:f64d43ff0c18 5467 * @name Register SDHC_MMCBOOT, field DTOCVACK[3:0] (RW)
mbed_official 146:f64d43ff0c18 5468 *
mbed_official 146:f64d43ff0c18 5469 * Values:
mbed_official 146:f64d43ff0c18 5470 * - 0000 - SDCLK x 2^8
mbed_official 146:f64d43ff0c18 5471 * - 0001 - SDCLK x 2^9
mbed_official 146:f64d43ff0c18 5472 * - 0010 - SDCLK x 2^10
mbed_official 146:f64d43ff0c18 5473 * - 0011 - SDCLK x 2^11
mbed_official 146:f64d43ff0c18 5474 * - 0100 - SDCLK x 2^12
mbed_official 146:f64d43ff0c18 5475 * - 0101 - SDCLK x 2^13
mbed_official 146:f64d43ff0c18 5476 * - 0110 - SDCLK x 2^14
mbed_official 146:f64d43ff0c18 5477 * - 0111 - SDCLK x 2^15
mbed_official 146:f64d43ff0c18 5478 * - 1110 - SDCLK x 2^22
mbed_official 146:f64d43ff0c18 5479 * - 1111 - Reserved
mbed_official 146:f64d43ff0c18 5480 */
mbed_official 146:f64d43ff0c18 5481 //@{
mbed_official 146:f64d43ff0c18 5482 #define BP_SDHC_MMCBOOT_DTOCVACK (0U) //!< Bit position for SDHC_MMCBOOT_DTOCVACK.
mbed_official 146:f64d43ff0c18 5483 #define BM_SDHC_MMCBOOT_DTOCVACK (0x0000000FU) //!< Bit mask for SDHC_MMCBOOT_DTOCVACK.
mbed_official 146:f64d43ff0c18 5484 #define BS_SDHC_MMCBOOT_DTOCVACK (4U) //!< Bit field size in bits for SDHC_MMCBOOT_DTOCVACK.
mbed_official 146:f64d43ff0c18 5485
mbed_official 146:f64d43ff0c18 5486 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5487 //! @brief Read current value of the SDHC_MMCBOOT_DTOCVACK field.
mbed_official 146:f64d43ff0c18 5488 #define BR_SDHC_MMCBOOT_DTOCVACK (HW_SDHC_MMCBOOT.B.DTOCVACK)
mbed_official 146:f64d43ff0c18 5489 #endif
mbed_official 146:f64d43ff0c18 5490
mbed_official 146:f64d43ff0c18 5491 //! @brief Format value for bitfield SDHC_MMCBOOT_DTOCVACK.
mbed_official 146:f64d43ff0c18 5492 #define BF_SDHC_MMCBOOT_DTOCVACK(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_DTOCVACK), uint32_t) & BM_SDHC_MMCBOOT_DTOCVACK)
mbed_official 146:f64d43ff0c18 5493
mbed_official 146:f64d43ff0c18 5494 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5495 //! @brief Set the DTOCVACK field to a new value.
mbed_official 146:f64d43ff0c18 5496 #define BW_SDHC_MMCBOOT_DTOCVACK(v) (HW_SDHC_MMCBOOT_WR((HW_SDHC_MMCBOOT_RD() & ~BM_SDHC_MMCBOOT_DTOCVACK) | BF_SDHC_MMCBOOT_DTOCVACK(v)))
mbed_official 146:f64d43ff0c18 5497 #endif
mbed_official 146:f64d43ff0c18 5498 //@}
mbed_official 146:f64d43ff0c18 5499
mbed_official 146:f64d43ff0c18 5500 /*!
mbed_official 146:f64d43ff0c18 5501 * @name Register SDHC_MMCBOOT, field BOOTACK[4] (RW)
mbed_official 146:f64d43ff0c18 5502 *
mbed_official 146:f64d43ff0c18 5503 * Values:
mbed_official 146:f64d43ff0c18 5504 * - 0 - No ack.
mbed_official 146:f64d43ff0c18 5505 * - 1 - Ack.
mbed_official 146:f64d43ff0c18 5506 */
mbed_official 146:f64d43ff0c18 5507 //@{
mbed_official 146:f64d43ff0c18 5508 #define BP_SDHC_MMCBOOT_BOOTACK (4U) //!< Bit position for SDHC_MMCBOOT_BOOTACK.
mbed_official 146:f64d43ff0c18 5509 #define BM_SDHC_MMCBOOT_BOOTACK (0x00000010U) //!< Bit mask for SDHC_MMCBOOT_BOOTACK.
mbed_official 146:f64d43ff0c18 5510 #define BS_SDHC_MMCBOOT_BOOTACK (1U) //!< Bit field size in bits for SDHC_MMCBOOT_BOOTACK.
mbed_official 146:f64d43ff0c18 5511
mbed_official 146:f64d43ff0c18 5512 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5513 //! @brief Read current value of the SDHC_MMCBOOT_BOOTACK field.
mbed_official 146:f64d43ff0c18 5514 #define BR_SDHC_MMCBOOT_BOOTACK (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTACK))
mbed_official 146:f64d43ff0c18 5515 #endif
mbed_official 146:f64d43ff0c18 5516
mbed_official 146:f64d43ff0c18 5517 //! @brief Format value for bitfield SDHC_MMCBOOT_BOOTACK.
mbed_official 146:f64d43ff0c18 5518 #define BF_SDHC_MMCBOOT_BOOTACK(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_BOOTACK), uint32_t) & BM_SDHC_MMCBOOT_BOOTACK)
mbed_official 146:f64d43ff0c18 5519
mbed_official 146:f64d43ff0c18 5520 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5521 //! @brief Set the BOOTACK field to a new value.
mbed_official 146:f64d43ff0c18 5522 #define BW_SDHC_MMCBOOT_BOOTACK(v) (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTACK) = (v))
mbed_official 146:f64d43ff0c18 5523 #endif
mbed_official 146:f64d43ff0c18 5524 //@}
mbed_official 146:f64d43ff0c18 5525
mbed_official 146:f64d43ff0c18 5526 /*!
mbed_official 146:f64d43ff0c18 5527 * @name Register SDHC_MMCBOOT, field BOOTMODE[5] (RW)
mbed_official 146:f64d43ff0c18 5528 *
mbed_official 146:f64d43ff0c18 5529 * Values:
mbed_official 146:f64d43ff0c18 5530 * - 0 - Normal boot.
mbed_official 146:f64d43ff0c18 5531 * - 1 - Alternative boot.
mbed_official 146:f64d43ff0c18 5532 */
mbed_official 146:f64d43ff0c18 5533 //@{
mbed_official 146:f64d43ff0c18 5534 #define BP_SDHC_MMCBOOT_BOOTMODE (5U) //!< Bit position for SDHC_MMCBOOT_BOOTMODE.
mbed_official 146:f64d43ff0c18 5535 #define BM_SDHC_MMCBOOT_BOOTMODE (0x00000020U) //!< Bit mask for SDHC_MMCBOOT_BOOTMODE.
mbed_official 146:f64d43ff0c18 5536 #define BS_SDHC_MMCBOOT_BOOTMODE (1U) //!< Bit field size in bits for SDHC_MMCBOOT_BOOTMODE.
mbed_official 146:f64d43ff0c18 5537
mbed_official 146:f64d43ff0c18 5538 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5539 //! @brief Read current value of the SDHC_MMCBOOT_BOOTMODE field.
mbed_official 146:f64d43ff0c18 5540 #define BR_SDHC_MMCBOOT_BOOTMODE (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTMODE))
mbed_official 146:f64d43ff0c18 5541 #endif
mbed_official 146:f64d43ff0c18 5542
mbed_official 146:f64d43ff0c18 5543 //! @brief Format value for bitfield SDHC_MMCBOOT_BOOTMODE.
mbed_official 146:f64d43ff0c18 5544 #define BF_SDHC_MMCBOOT_BOOTMODE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_BOOTMODE), uint32_t) & BM_SDHC_MMCBOOT_BOOTMODE)
mbed_official 146:f64d43ff0c18 5545
mbed_official 146:f64d43ff0c18 5546 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5547 //! @brief Set the BOOTMODE field to a new value.
mbed_official 146:f64d43ff0c18 5548 #define BW_SDHC_MMCBOOT_BOOTMODE(v) (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTMODE) = (v))
mbed_official 146:f64d43ff0c18 5549 #endif
mbed_official 146:f64d43ff0c18 5550 //@}
mbed_official 146:f64d43ff0c18 5551
mbed_official 146:f64d43ff0c18 5552 /*!
mbed_official 146:f64d43ff0c18 5553 * @name Register SDHC_MMCBOOT, field BOOTEN[6] (RW)
mbed_official 146:f64d43ff0c18 5554 *
mbed_official 146:f64d43ff0c18 5555 * Values:
mbed_official 146:f64d43ff0c18 5556 * - 0 - Fast boot disable.
mbed_official 146:f64d43ff0c18 5557 * - 1 - Fast boot enable.
mbed_official 146:f64d43ff0c18 5558 */
mbed_official 146:f64d43ff0c18 5559 //@{
mbed_official 146:f64d43ff0c18 5560 #define BP_SDHC_MMCBOOT_BOOTEN (6U) //!< Bit position for SDHC_MMCBOOT_BOOTEN.
mbed_official 146:f64d43ff0c18 5561 #define BM_SDHC_MMCBOOT_BOOTEN (0x00000040U) //!< Bit mask for SDHC_MMCBOOT_BOOTEN.
mbed_official 146:f64d43ff0c18 5562 #define BS_SDHC_MMCBOOT_BOOTEN (1U) //!< Bit field size in bits for SDHC_MMCBOOT_BOOTEN.
mbed_official 146:f64d43ff0c18 5563
mbed_official 146:f64d43ff0c18 5564 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5565 //! @brief Read current value of the SDHC_MMCBOOT_BOOTEN field.
mbed_official 146:f64d43ff0c18 5566 #define BR_SDHC_MMCBOOT_BOOTEN (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTEN))
mbed_official 146:f64d43ff0c18 5567 #endif
mbed_official 146:f64d43ff0c18 5568
mbed_official 146:f64d43ff0c18 5569 //! @brief Format value for bitfield SDHC_MMCBOOT_BOOTEN.
mbed_official 146:f64d43ff0c18 5570 #define BF_SDHC_MMCBOOT_BOOTEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_BOOTEN), uint32_t) & BM_SDHC_MMCBOOT_BOOTEN)
mbed_official 146:f64d43ff0c18 5571
mbed_official 146:f64d43ff0c18 5572 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5573 //! @brief Set the BOOTEN field to a new value.
mbed_official 146:f64d43ff0c18 5574 #define BW_SDHC_MMCBOOT_BOOTEN(v) (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_BOOTEN) = (v))
mbed_official 146:f64d43ff0c18 5575 #endif
mbed_official 146:f64d43ff0c18 5576 //@}
mbed_official 146:f64d43ff0c18 5577
mbed_official 146:f64d43ff0c18 5578 /*!
mbed_official 146:f64d43ff0c18 5579 * @name Register SDHC_MMCBOOT, field AUTOSABGEN[7] (RW)
mbed_official 146:f64d43ff0c18 5580 *
mbed_official 146:f64d43ff0c18 5581 * When boot, enable auto stop at block gap function. This function will be
mbed_official 146:f64d43ff0c18 5582 * triggered, and host will stop at block gap when received card block cnt is equal
mbed_official 146:f64d43ff0c18 5583 * to BOOTBLKCNT.
mbed_official 146:f64d43ff0c18 5584 */
mbed_official 146:f64d43ff0c18 5585 //@{
mbed_official 146:f64d43ff0c18 5586 #define BP_SDHC_MMCBOOT_AUTOSABGEN (7U) //!< Bit position for SDHC_MMCBOOT_AUTOSABGEN.
mbed_official 146:f64d43ff0c18 5587 #define BM_SDHC_MMCBOOT_AUTOSABGEN (0x00000080U) //!< Bit mask for SDHC_MMCBOOT_AUTOSABGEN.
mbed_official 146:f64d43ff0c18 5588 #define BS_SDHC_MMCBOOT_AUTOSABGEN (1U) //!< Bit field size in bits for SDHC_MMCBOOT_AUTOSABGEN.
mbed_official 146:f64d43ff0c18 5589
mbed_official 146:f64d43ff0c18 5590 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5591 //! @brief Read current value of the SDHC_MMCBOOT_AUTOSABGEN field.
mbed_official 146:f64d43ff0c18 5592 #define BR_SDHC_MMCBOOT_AUTOSABGEN (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_AUTOSABGEN))
mbed_official 146:f64d43ff0c18 5593 #endif
mbed_official 146:f64d43ff0c18 5594
mbed_official 146:f64d43ff0c18 5595 //! @brief Format value for bitfield SDHC_MMCBOOT_AUTOSABGEN.
mbed_official 146:f64d43ff0c18 5596 #define BF_SDHC_MMCBOOT_AUTOSABGEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_AUTOSABGEN), uint32_t) & BM_SDHC_MMCBOOT_AUTOSABGEN)
mbed_official 146:f64d43ff0c18 5597
mbed_official 146:f64d43ff0c18 5598 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5599 //! @brief Set the AUTOSABGEN field to a new value.
mbed_official 146:f64d43ff0c18 5600 #define BW_SDHC_MMCBOOT_AUTOSABGEN(v) (BITBAND_ACCESS32(HW_SDHC_MMCBOOT_ADDR, BP_SDHC_MMCBOOT_AUTOSABGEN) = (v))
mbed_official 146:f64d43ff0c18 5601 #endif
mbed_official 146:f64d43ff0c18 5602 //@}
mbed_official 146:f64d43ff0c18 5603
mbed_official 146:f64d43ff0c18 5604 /*!
mbed_official 146:f64d43ff0c18 5605 * @name Register SDHC_MMCBOOT, field BOOTBLKCNT[31:16] (RW)
mbed_official 146:f64d43ff0c18 5606 *
mbed_official 146:f64d43ff0c18 5607 * Defines the stop at block gap value of automatic mode. When received card
mbed_official 146:f64d43ff0c18 5608 * block cnt is equal to BOOTBLKCNT and AUTOSABGEN is 1, then stop at block gap.
mbed_official 146:f64d43ff0c18 5609 */
mbed_official 146:f64d43ff0c18 5610 //@{
mbed_official 146:f64d43ff0c18 5611 #define BP_SDHC_MMCBOOT_BOOTBLKCNT (16U) //!< Bit position for SDHC_MMCBOOT_BOOTBLKCNT.
mbed_official 146:f64d43ff0c18 5612 #define BM_SDHC_MMCBOOT_BOOTBLKCNT (0xFFFF0000U) //!< Bit mask for SDHC_MMCBOOT_BOOTBLKCNT.
mbed_official 146:f64d43ff0c18 5613 #define BS_SDHC_MMCBOOT_BOOTBLKCNT (16U) //!< Bit field size in bits for SDHC_MMCBOOT_BOOTBLKCNT.
mbed_official 146:f64d43ff0c18 5614
mbed_official 146:f64d43ff0c18 5615 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5616 //! @brief Read current value of the SDHC_MMCBOOT_BOOTBLKCNT field.
mbed_official 146:f64d43ff0c18 5617 #define BR_SDHC_MMCBOOT_BOOTBLKCNT (HW_SDHC_MMCBOOT.B.BOOTBLKCNT)
mbed_official 146:f64d43ff0c18 5618 #endif
mbed_official 146:f64d43ff0c18 5619
mbed_official 146:f64d43ff0c18 5620 //! @brief Format value for bitfield SDHC_MMCBOOT_BOOTBLKCNT.
mbed_official 146:f64d43ff0c18 5621 #define BF_SDHC_MMCBOOT_BOOTBLKCNT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint32_t) << BP_SDHC_MMCBOOT_BOOTBLKCNT), uint32_t) & BM_SDHC_MMCBOOT_BOOTBLKCNT)
mbed_official 146:f64d43ff0c18 5622
mbed_official 146:f64d43ff0c18 5623 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5624 //! @brief Set the BOOTBLKCNT field to a new value.
mbed_official 146:f64d43ff0c18 5625 #define BW_SDHC_MMCBOOT_BOOTBLKCNT(v) (HW_SDHC_MMCBOOT_WR((HW_SDHC_MMCBOOT_RD() & ~BM_SDHC_MMCBOOT_BOOTBLKCNT) | BF_SDHC_MMCBOOT_BOOTBLKCNT(v)))
mbed_official 146:f64d43ff0c18 5626 #endif
mbed_official 146:f64d43ff0c18 5627 //@}
mbed_official 146:f64d43ff0c18 5628
mbed_official 146:f64d43ff0c18 5629 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5630 // HW_SDHC_HOSTVER - Host Controller Version
mbed_official 146:f64d43ff0c18 5631 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5632
mbed_official 146:f64d43ff0c18 5633 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5634 /*!
mbed_official 146:f64d43ff0c18 5635 * @brief HW_SDHC_HOSTVER - Host Controller Version (RO)
mbed_official 146:f64d43ff0c18 5636 *
mbed_official 146:f64d43ff0c18 5637 * Reset value: 0x00001201U
mbed_official 146:f64d43ff0c18 5638 *
mbed_official 146:f64d43ff0c18 5639 * This register contains the vendor host controller version information. All
mbed_official 146:f64d43ff0c18 5640 * bits are read only and will read the same as the power-reset value.
mbed_official 146:f64d43ff0c18 5641 */
mbed_official 146:f64d43ff0c18 5642 typedef union _hw_sdhc_hostver
mbed_official 146:f64d43ff0c18 5643 {
mbed_official 146:f64d43ff0c18 5644 uint32_t U;
mbed_official 146:f64d43ff0c18 5645 struct _hw_sdhc_hostver_bitfields
mbed_official 146:f64d43ff0c18 5646 {
mbed_official 146:f64d43ff0c18 5647 uint32_t SVN : 8; //!< [7:0] Specification Version Number
mbed_official 146:f64d43ff0c18 5648 uint32_t VVN : 8; //!< [15:8] Vendor Version Number
mbed_official 146:f64d43ff0c18 5649 uint32_t RESERVED0 : 16; //!< [31:16]
mbed_official 146:f64d43ff0c18 5650 } B;
mbed_official 146:f64d43ff0c18 5651 } hw_sdhc_hostver_t;
mbed_official 146:f64d43ff0c18 5652 #endif
mbed_official 146:f64d43ff0c18 5653
mbed_official 146:f64d43ff0c18 5654 /*!
mbed_official 146:f64d43ff0c18 5655 * @name Constants and macros for entire SDHC_HOSTVER register
mbed_official 146:f64d43ff0c18 5656 */
mbed_official 146:f64d43ff0c18 5657 //@{
mbed_official 146:f64d43ff0c18 5658 #define HW_SDHC_HOSTVER_ADDR (REGS_SDHC_BASE + 0xFCU)
mbed_official 146:f64d43ff0c18 5659
mbed_official 146:f64d43ff0c18 5660 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5661 #define HW_SDHC_HOSTVER (*(__I hw_sdhc_hostver_t *) HW_SDHC_HOSTVER_ADDR)
mbed_official 146:f64d43ff0c18 5662 #define HW_SDHC_HOSTVER_RD() (HW_SDHC_HOSTVER.U)
mbed_official 146:f64d43ff0c18 5663 #endif
mbed_official 146:f64d43ff0c18 5664 //@}
mbed_official 146:f64d43ff0c18 5665
mbed_official 146:f64d43ff0c18 5666 /*
mbed_official 146:f64d43ff0c18 5667 * Constants & macros for individual SDHC_HOSTVER bitfields
mbed_official 146:f64d43ff0c18 5668 */
mbed_official 146:f64d43ff0c18 5669
mbed_official 146:f64d43ff0c18 5670 /*!
mbed_official 146:f64d43ff0c18 5671 * @name Register SDHC_HOSTVER, field SVN[7:0] (RO)
mbed_official 146:f64d43ff0c18 5672 *
mbed_official 146:f64d43ff0c18 5673 * These status bits indicate the host controller specification version.
mbed_official 146:f64d43ff0c18 5674 *
mbed_official 146:f64d43ff0c18 5675 * Values:
mbed_official 146:f64d43ff0c18 5676 * - 1 - SD host specification version 2.0, supports test event register and
mbed_official 146:f64d43ff0c18 5677 * ADMA.
mbed_official 146:f64d43ff0c18 5678 */
mbed_official 146:f64d43ff0c18 5679 //@{
mbed_official 146:f64d43ff0c18 5680 #define BP_SDHC_HOSTVER_SVN (0U) //!< Bit position for SDHC_HOSTVER_SVN.
mbed_official 146:f64d43ff0c18 5681 #define BM_SDHC_HOSTVER_SVN (0x000000FFU) //!< Bit mask for SDHC_HOSTVER_SVN.
mbed_official 146:f64d43ff0c18 5682 #define BS_SDHC_HOSTVER_SVN (8U) //!< Bit field size in bits for SDHC_HOSTVER_SVN.
mbed_official 146:f64d43ff0c18 5683
mbed_official 146:f64d43ff0c18 5684 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5685 //! @brief Read current value of the SDHC_HOSTVER_SVN field.
mbed_official 146:f64d43ff0c18 5686 #define BR_SDHC_HOSTVER_SVN (HW_SDHC_HOSTVER.B.SVN)
mbed_official 146:f64d43ff0c18 5687 #endif
mbed_official 146:f64d43ff0c18 5688 //@}
mbed_official 146:f64d43ff0c18 5689
mbed_official 146:f64d43ff0c18 5690 /*!
mbed_official 146:f64d43ff0c18 5691 * @name Register SDHC_HOSTVER, field VVN[15:8] (RO)
mbed_official 146:f64d43ff0c18 5692 *
mbed_official 146:f64d43ff0c18 5693 * These status bits are reserved for the vendor version number. The host driver
mbed_official 146:f64d43ff0c18 5694 * shall not use this status.
mbed_official 146:f64d43ff0c18 5695 *
mbed_official 146:f64d43ff0c18 5696 * Values:
mbed_official 146:f64d43ff0c18 5697 * - 0 - Freescale SDHC version 1.0
mbed_official 146:f64d43ff0c18 5698 * - 10000 - Freescale SDHC version 2.0
mbed_official 146:f64d43ff0c18 5699 * - 10001 - Freescale SDHC version 2.1
mbed_official 146:f64d43ff0c18 5700 * - 10010 - Freescale SDHC version 2.2
mbed_official 146:f64d43ff0c18 5701 */
mbed_official 146:f64d43ff0c18 5702 //@{
mbed_official 146:f64d43ff0c18 5703 #define BP_SDHC_HOSTVER_VVN (8U) //!< Bit position for SDHC_HOSTVER_VVN.
mbed_official 146:f64d43ff0c18 5704 #define BM_SDHC_HOSTVER_VVN (0x0000FF00U) //!< Bit mask for SDHC_HOSTVER_VVN.
mbed_official 146:f64d43ff0c18 5705 #define BS_SDHC_HOSTVER_VVN (8U) //!< Bit field size in bits for SDHC_HOSTVER_VVN.
mbed_official 146:f64d43ff0c18 5706
mbed_official 146:f64d43ff0c18 5707 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5708 //! @brief Read current value of the SDHC_HOSTVER_VVN field.
mbed_official 146:f64d43ff0c18 5709 #define BR_SDHC_HOSTVER_VVN (HW_SDHC_HOSTVER.B.VVN)
mbed_official 146:f64d43ff0c18 5710 #endif
mbed_official 146:f64d43ff0c18 5711 //@}
mbed_official 146:f64d43ff0c18 5712
mbed_official 146:f64d43ff0c18 5713 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5714 // hw_sdhc_t - module struct
mbed_official 146:f64d43ff0c18 5715 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 5716 /*!
mbed_official 146:f64d43ff0c18 5717 * @brief All SDHC module registers.
mbed_official 146:f64d43ff0c18 5718 */
mbed_official 146:f64d43ff0c18 5719 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 5720 #pragma pack(1)
mbed_official 146:f64d43ff0c18 5721 typedef struct _hw_sdhc
mbed_official 146:f64d43ff0c18 5722 {
mbed_official 146:f64d43ff0c18 5723 __IO hw_sdhc_dsaddr_t DSADDR; //!< [0x0] DMA System Address register
mbed_official 146:f64d43ff0c18 5724 __IO hw_sdhc_blkattr_t BLKATTR; //!< [0x4] Block Attributes register
mbed_official 146:f64d43ff0c18 5725 __IO hw_sdhc_cmdarg_t CMDARG; //!< [0x8] Command Argument register
mbed_official 146:f64d43ff0c18 5726 __IO hw_sdhc_xfertyp_t XFERTYP; //!< [0xC] Transfer Type register
mbed_official 146:f64d43ff0c18 5727 __I hw_sdhc_cmdrsp0_t CMDRSP0; //!< [0x10] Command Response 0
mbed_official 146:f64d43ff0c18 5728 __I hw_sdhc_cmdrsp1_t CMDRSP1; //!< [0x14] Command Response 1
mbed_official 146:f64d43ff0c18 5729 __I hw_sdhc_cmdrsp2_t CMDRSP2; //!< [0x18] Command Response 2
mbed_official 146:f64d43ff0c18 5730 __I hw_sdhc_cmdrsp3_t CMDRSP3; //!< [0x1C] Command Response 3
mbed_official 146:f64d43ff0c18 5731 __IO hw_sdhc_datport_t DATPORT; //!< [0x20] Buffer Data Port register
mbed_official 146:f64d43ff0c18 5732 __I hw_sdhc_prsstat_t PRSSTAT; //!< [0x24] Present State register
mbed_official 146:f64d43ff0c18 5733 __IO hw_sdhc_proctl_t PROCTL; //!< [0x28] Protocol Control register
mbed_official 146:f64d43ff0c18 5734 __IO hw_sdhc_sysctl_t SYSCTL; //!< [0x2C] System Control register
mbed_official 146:f64d43ff0c18 5735 __IO hw_sdhc_irqstat_t IRQSTAT; //!< [0x30] Interrupt Status register
mbed_official 146:f64d43ff0c18 5736 __IO hw_sdhc_irqstaten_t IRQSTATEN; //!< [0x34] Interrupt Status Enable register
mbed_official 146:f64d43ff0c18 5737 __IO hw_sdhc_irqsigen_t IRQSIGEN; //!< [0x38] Interrupt Signal Enable register
mbed_official 146:f64d43ff0c18 5738 __I hw_sdhc_ac12err_t AC12ERR; //!< [0x3C] Auto CMD12 Error Status Register
mbed_official 146:f64d43ff0c18 5739 __I hw_sdhc_htcapblt_t HTCAPBLT; //!< [0x40] Host Controller Capabilities
mbed_official 146:f64d43ff0c18 5740 __IO hw_sdhc_wml_t WML; //!< [0x44] Watermark Level Register
mbed_official 146:f64d43ff0c18 5741 uint8_t _reserved0[8];
mbed_official 146:f64d43ff0c18 5742 __O hw_sdhc_fevt_t FEVT; //!< [0x50] Force Event register
mbed_official 146:f64d43ff0c18 5743 __I hw_sdhc_admaes_t ADMAES; //!< [0x54] ADMA Error Status register
mbed_official 146:f64d43ff0c18 5744 __IO hw_sdhc_adsaddr_t ADSADDR; //!< [0x58] ADMA System Addressregister
mbed_official 146:f64d43ff0c18 5745 uint8_t _reserved1[100];
mbed_official 146:f64d43ff0c18 5746 __IO hw_sdhc_vendor_t VENDOR; //!< [0xC0] Vendor Specific register
mbed_official 146:f64d43ff0c18 5747 __IO hw_sdhc_mmcboot_t MMCBOOT; //!< [0xC4] MMC Boot register
mbed_official 146:f64d43ff0c18 5748 uint8_t _reserved2[52];
mbed_official 146:f64d43ff0c18 5749 __I hw_sdhc_hostver_t HOSTVER; //!< [0xFC] Host Controller Version
mbed_official 146:f64d43ff0c18 5750 } hw_sdhc_t;
mbed_official 146:f64d43ff0c18 5751 #pragma pack()
mbed_official 146:f64d43ff0c18 5752
mbed_official 146:f64d43ff0c18 5753 //! @brief Macro to access all SDHC registers.
mbed_official 146:f64d43ff0c18 5754 //! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct,
mbed_official 146:f64d43ff0c18 5755 //! use the '&' operator, like <code>&HW_SDHC</code>.
mbed_official 146:f64d43ff0c18 5756 #define HW_SDHC (*(hw_sdhc_t *) REGS_SDHC_BASE)
mbed_official 146:f64d43ff0c18 5757 #endif
mbed_official 146:f64d43ff0c18 5758
mbed_official 146:f64d43ff0c18 5759 #endif // __HW_SDHC_REGISTERS_H__
mbed_official 146:f64d43ff0c18 5760 // v22/130726/0.9
mbed_official 146:f64d43ff0c18 5761 // EOF