]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/target/sama5d2/component/component_sdmmc.h
Add SAMA5D2 Xplained IAR demo.
[freertos] / FreeRTOS / Demo / CORTEX_A5_SAMA5D2x_Xplained_IAR / AtmelFiles / target / sama5d2 / component / component_sdmmc.h
diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/target/sama5d2/component/component_sdmmc.h b/FreeRTOS/Demo/CORTEX_A5_SAMA5D2x_Xplained_IAR/AtmelFiles/target/sama5d2/component/component_sdmmc.h
new file mode 100644 (file)
index 0000000..fbf746c
--- /dev/null
@@ -0,0 +1,522 @@
+/* ---------------------------------------------------------------------------- */\r
+/*                  Atmel Microcontroller Software Support                      */\r
+/*                       SAM Software Package License                           */\r
+/* ---------------------------------------------------------------------------- */\r
+/* Copyright (c) 2015, Atmel Corporation                                        */\r
+/*                                                                              */\r
+/* All rights reserved.                                                         */\r
+/*                                                                              */\r
+/* Redistribution and use in source and binary forms, with or without           */\r
+/* modification, are permitted provided that the following condition is met:    */\r
+/*                                                                              */\r
+/* - Redistributions of source code must retain the above copyright notice,     */\r
+/* this list of conditions and the disclaimer below.                            */\r
+/*                                                                              */\r
+/* Atmel's name may not be used to endorse or promote products derived from     */\r
+/* this software without specific prior written permission.                     */\r
+/*                                                                              */\r
+/* DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR   */\r
+/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */\r
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE   */\r
+/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,      */\r
+/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */\r
+/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,  */\r
+/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    */\r
+/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING         */\r
+/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */\r
+/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                           */\r
+/* ---------------------------------------------------------------------------- */\r
+\r
+#ifndef _SAMA5D2_SDMMC_COMPONENT_\r
+#define _SAMA5D2_SDMMC_COMPONENT_\r
+\r
+/* ============================================================================= */\r
+/**  SOFTWARE API DEFINITION FOR Secure Digital MultiMedia Card Controller       */\r
+/* ============================================================================= */\r
+/** \addtogroup SAMA5D2_SDMMC Secure Digital MultiMedia Card Controller */\r
+/*@{*/\r
+\r
+#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))\r
+/** \brief SDMMC hardware registers */\r
+typedef struct {\r
+  __IO uint32_t SDMMC_SSAR;         /**< \brief (SDMMC Offset: 0x000) SDMA System Address - Argument 2 Register */\r
+  __IO uint16_t SDMMC_BSR;          /**< \brief (SDMMC Offset: 0x004) Block Size Register */\r
+  __IO uint16_t SDMMC_BCR;          /**< \brief (SDMMC Offset: 0x006) Block Count Register */\r
+  __IO uint32_t SDMMC_ARG1R;        /**< \brief (SDMMC Offset: 0x008) Argument 1 Register */\r
+  __IO uint16_t SDMMC_TMR;          /**< \brief (SDMMC Offset: 0x00C) Transfer Mode Register */\r
+  __IO uint16_t SDMMC_CR;           /**< \brief (SDMMC Offset: 0x00E) Command Register */\r
+  __I  uint32_t SDMMC_RR[4];        /**< \brief (SDMMC Offset: 0x010) Response Register */\r
+  __IO uint32_t SDMMC_BDPR;         /**< \brief (SDMMC Offset: 0x020) Buffer Data Port Register */\r
+  __I  uint32_t SDMMC_PSR;          /**< \brief (SDMMC Offset: 0x024) Present State Register */\r
+  __IO uint8_t  SDMMC_HC1R;         /**< \brief (SDMMC Offset: 0x028) Host Control 1 Register */\r
+  __IO uint8_t  SDMMC_PCR;          /**< \brief (SDMMC Offset: 0x029) Power Control Register */\r
+  __IO uint8_t  SDMMC_BGCR;         /**< \brief (SDMMC Offset: 0x02A) Block Gap Control Register */\r
+  __IO uint8_t  SDMMC_WCR;          /**< \brief (SDMMC Offset: 0x02B) Wakeup Control Register */\r
+  __IO uint16_t SDMMC_CCR;          /**< \brief (SDMMC Offset: 0x02C) Clock Control Register */\r
+  __IO uint8_t  SDMMC_TCR;          /**< \brief (SDMMC Offset: 0x02E) Timeout Control Register */\r
+  __IO uint8_t  SDMMC_SRR;          /**< \brief (SDMMC Offset: 0x02F) Software Reset Register */\r
+  __IO uint16_t SDMMC_NISTR;        /**< \brief (SDMMC Offset: 0x030) Normal Interrupt Status Register */\r
+  __IO uint16_t SDMMC_EISTR;        /**< \brief (SDMMC Offset: 0x032) Error Interrupt Status Register */\r
+  __IO uint16_t SDMMC_NISTER;       /**< \brief (SDMMC Offset: 0x034) Normal Interrupt Status Enable Register */\r
+  __IO uint16_t SDMMC_EISTER;       /**< \brief (SDMMC Offset: 0x036) Error Interrupt Status Enable Register */\r
+  __IO uint16_t SDMMC_NISIER;       /**< \brief (SDMMC Offset: 0x038) Normal Interrupt Signal Enable Register */\r
+  __IO uint16_t SDMMC_EISIER;       /**< \brief (SDMMC Offset: 0x03A) Error Interrupt Signal Enable Register */\r
+  __I  uint16_t SDMMC_ACESR;        /**< \brief (SDMMC Offset: 0x03C) Auto CMD Error Status Register */\r
+  __IO uint16_t SDMMC_HC2R;         /**< \brief (SDMMC Offset: 0x03E) Host Control 2 Register */\r
+  __IO uint32_t SDMMC_CA0R;         /**< \brief (SDMMC Offset: 0x040) Capabilities Register */\r
+  __IO uint32_t SDMMC_CA1R;         /**< \brief (SDMMC Offset: 0x044) Capabilities Register */\r
+  __IO uint32_t SDMMC_MCCAR;        /**< \brief (SDMMC Offset: 0x048) Maximum Current Capabilities Register */\r
+  __I  uint32_t SDMMC_RSVD1;        /**< \brief (SDMMC Offset: 0x04C) Reserved */\r
+  __O  uint16_t SDMMC_FERACES;      /**< \brief (SDMMC Offset: 0x050) Force Event Register for Auto CMD Error Status */\r
+  __O  uint16_t SDMMC_FEREIS;       /**< \brief (SDMMC Offset: 0x052) Force Event Register for Error Interrupt Status */\r
+  __I  uint8_t  SDMMC_AESR;         /**< \brief (SDMMC Offset: 0x054) ADMA Error Status Register */\r
+  __I  uint8_t  SDMMC_RSVD2[3];     /**< \brief (SDMMC Offset: 0x055 - 0x57) Reserved */\r
+  __IO uint32_t SDMMC_ASA0R;        /**< \brief (SDMMC Offset: 0x058) ADMA System Address Register */\r
+  __I  uint32_t SDMMC_RSVD3[1];     /**< \brief (SDMMC Offset: 0x05C) Reserved */\r
+  __IO uint16_t SDMMC_PVR[8];       /**< \brief (SDMMC Offset: 0x060) Preset Value Register */\r
+  __I  uint32_t SDMMC_RSVD4[35];    /**< \brief (SDMMC Offset: 0x070 - 0xF8) Reserved */\r
+  __I  uint16_t SDMMC_SISR;         /**< \brief (SDMMC Offset: 0x0FC) Slot Interrupt Status Register */\r
+  __I  uint16_t SDMMC_HCVR;         /**< \brief (SDMMC Offset: 0x0FE) Host Controller Version Register */\r
+\r
+  __I  uint32_t SDMMC_RSVD5[64];    /**< \brief (SDMMC Offset: 0x100 - 0x1FC) Reserved */\r
+\r
+  __I  uint32_t SDMMC_APSR;         /**< \brief (SDMMC Offset: 0x200) Additionnal Present State Register */\r
+  __IO uint8_t  SDMMC_MC1R;         /**< \brief (SDMMC Offset: 0x204) MMC Control 1 Register */\r
+  __O  uint8_t  SDMMC_MC2R;         /**< \brief (SDMMC Offset: 0x205) MMC Control 2 Register */\r
+  __I  uint8_t  SDMMC_RSVD6[2];     /**< \brief (SDMMC Offset: 0x206 - 0x207) Reserved */\r
+  __IO uint32_t SDMMC_ACR;          /**< \brief (SDMMC Offset: 0x208) AHB Control Register */\r
+  __IO uint32_t SDMMC_CC2R;         /**< \brief (SDMMC Offset: 0x20C) Clock Control 2 Register */\r
+  __IO uint8_t  SDMMC_RTC1R;        /**< \brief (SDMMC Offset: 0x210) Retuning Timer Control 1 Register */\r
+  __O  uint8_t  SDMMC_RTC2R;        /**< \brief (SDMMC Offset: 0x211) Retuning Timer Control 2 Register */\r
+  __I  uint8_t  SDMMC_RSVD7[2];     /**< \brief (SDMMC Offset: 0x212 - 0x213) Reserved */\r
+  __IO uint32_t SDMMC_RTCVR;        /**< \brief (SDMMC Offset: 0x214) Retuning Timer Counter Value Register */\r
+  __IO uint8_t  SDMMC_RTISTER;      /**< \brief (SDMMC Offset: 0x218) Retuning Timer Interrupt Status Enable Register */\r
+  __IO uint8_t  SDMMC_RTISIER;      /**< \brief (SDMMC Offset: 0x219) Retuning Timer Interrupt Signal Enable Register */\r
+  __I  uint8_t  SDMMC_RSVD11[2];    /**< \brief (SDMMC Offset: 0x21A - 0x21B) Reserved */\r
+  __IO uint8_t  SDMMC_RTISTR;       /**< \brief (SDMMC Offset: 0x21C) Retuning Timer Interrupt Status Register */\r
+  __I  uint8_t  SDMMC_RTSSR;        /**< \brief (SDMMC Offset: 0x21D) Retuning Timer Status Slots Register */\r
+  __I  uint8_t  SDMMC_RSVD12[2];    /**< \brief (SDMMC Offset: 0x21E - 0x21F) Reserved */\r
+  __IO uint32_t SDMMC_TUNCR;        /**< \brief (SDMMC Offset: 0x220) Tuning Control Register */\r
+  __I  uint32_t SDMMC_RSVD8[3];     /**< \brief (SDMMC Offset: 0x224 - 0x22C) Reserved */\r
+  __IO uint32_t SDMMC_CACR;         /**< \brief (SDMMC Offset: 0x230) Capabilities Control Register */\r
+  __I  uint32_t SDMMC_RSVD9[3];     /**< \brief (SDMMC Offset: 0x234 - 0x23C) Reserved */\r
+  __IO uint32_t SDMMC_CALCR;        /**< \brief (SDMMC Offset: 0x240) Calibration Control Register */\r
+  __I  uint32_t SDMMC_RSVD10[47];   /**< \brief (SDMMC Offset: 0x244 - 0x2FC) Reserved */\r
+} Sdmmc;\r
+#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */\r
+\r
+/* --------  SDMMC_SSAR (SDMMC Offset: 0x000) SDMA System Address - Argument 2 Register */\r
+#define SDMMC_SSAR_ADDR_Pos 0\r
+#define SDMMC_SSAR_ADDR_Msk (0xFFFFFFFFu << SDMMC_SSAR_ADDR_Pos)\r
+#define SDMMC_SSAR_ADDR(value) ((SDMMC_SSAR_ADDR_Msk & ((value) << SDMMC_SSAR_ADDR_Pos)))\r
+#define SDMMC_SSAR_ARG2_Pos 0\r
+#define SDMMC_SSAR_ARG2_Msk (0xFFFFFFFFu << SDMMC_SSAR_ARG2_Pos)\r
+#define SDMMC_SSAR_ARG2(value) ((SDMMC_SSAR_ARG2_Msk & ((value) << SDMMC_SSAR_ARG2_Pos)))\r
+/* --------  SDMMC_BSR (SDMMC Offset: 0x004) Block Size Register */\r
+#define SDMMC_BSR_BLKSIZE_Pos 0\r
+#define SDMMC_BSR_BLKSIZE_Msk (0xFFFu << SDMMC_BSR_BLKSIZE_Pos)\r
+#define SDMMC_BSR_BLKSIZE(value) ((SDMMC_BSR_BLKSIZE_Msk & ((value) << SDMMC_BSR_BLKSIZE_Pos)))\r
+#define SDMMC_BSR_BOUNDARY_Pos 12\r
+#define SDMMC_BSR_BOUNDARY_Msk (0x7u << SDMMC_BSR_BOUNDARY_Pos)\r
+#define SDMMC_BSR_BOUNDARY(value) ((SDMMC_BSR_BOUNDARY_Msk & ((value) << SDMMC_BSR_BOUNDARY_Pos)))\r
+/* --------  SDMMC_BCR (SDMMC Offset: 0x006) Block Count Register */\r
+#define SDMMC_BCR_BLKCNT_Pos 0\r
+#define SDMMC_BCR_BLKCNT_Msk (0xFFFFu << SDMMC_BCR_BLKCNT_Pos)\r
+#define SDMMC_BCR_BLKCNT(value) ((SDMMC_BCR_BLKCNT_Msk & ((value) << SDMMC_BCR_BLKCNT_Pos)))\r
+/* --------  SDMMC_ARG1R (SDMMC Offset: 0x008) Argument 1 Register */\r
+#define SDMMC_ARG1R_ARG1_Pos 0\r
+#define SDMMC_ARG1R_ARG1_Msk (0xFFFFFFFFu << SDMMC_ARG1R_ARG1_Pos)\r
+#define SDMMC_ARG1R_ARG1(value) ((SDMMC_ARG1R_ARG1_Msk & ((value) << SDMMC_ARG1R_ARG1_Pos)))\r
+/* --------  SDMMC_TMR (SDMMC Offset: 0x00C) Transfer Mode Register */\r
+#define SDMMC_TMR_DMAEN (0x1u << 0)\r
+#define SDMMC_TMR_BCEN (0x1u << 1)\r
+#define SDMMC_TMR_ACMDEN_Pos 2\r
+#define SDMMC_TMR_ACMDEN_Msk (0x3u << SDMMC_TMR_ACMDEN_Pos)\r
+#define   SDMMC_TMR_ACMDEN_DIS (0x0u << 2)\r
+#define   SDMMC_TMR_ACMDEN_ACMD12 (0x1u << 2)\r
+#define   SDMMC_TMR_ACMDEN_ACMD23 (0x2u << 2)\r
+#define SDMMC_TMR_DTDSEL (0x1u << 4)\r
+#define   SDMMC_TMR_DTDSEL_WR (0x0u << 4)\r
+#define   SDMMC_TMR_DTDSEL_RD (0x1u << 4)\r
+#define SDMMC_TMR_MSBSEL (0x1u << 5)\r
+/* --------  SDMMC_CR (SDMMC Offset: 0x00E) Command Register */\r
+#define SDMMC_CR_RESPTYP_Pos 0\r
+#define SDMMC_CR_RESPTYP_Msk (0x3u << SDMMC_CR_RESPTYP_Pos)\r
+#define   SDMMC_CR_RESPTYP_NORESP (0x0u << 0)\r
+#define   SDMMC_CR_RESPTYP_RL136 (0x1u << 0)\r
+#define   SDMMC_CR_RESPTYP_RL48 (0x2u << 0)\r
+#define   SDMMC_CR_RESPTYP_RL48BUSY (0x3u << 0)\r
+#define SDMMC_CR_CMDCCEN (0x1u << 3)\r
+#define SDMMC_CR_CMDICEN (0x1u << 4)\r
+#define SDMMC_CR_DPSEL (0x1u << 5)\r
+#define SDMMC_CR_CMDTYP_Pos 6\r
+#define SDMMC_CR_CMDTYP_Msk (0x3u << SDMMC_CR_CMDTYP_Pos)\r
+#define   SDMMC_CR_CMDTYP_NORMAL (0x0u << 6)\r
+#define   SDMMC_CR_CMDTYP_SUSPEND (0x1u << 6)\r
+#define   SDMMC_CR_CMDTYP_RESUME (0x2u << 6)\r
+#define   SDMMC_CR_CMDTYP_ABORT (0x3u << 6)\r
+#define SDMMC_CR_CMDIDX_Pos 8\r
+#define SDMMC_CR_CMDIDX_Msk (0x3F << SDMMC_CR_CMDIDX_Pos)\r
+#define SDMMC_CR_CMDIDX(value) ((SDMMC_CR_CMDIDX_Msk & ((value) << SDMMC_CR_CMDIDX_Pos)))\r
+/* --------  SDMMC_RR[4] (SDMMC Offset: 0x010) Response Register */\r
+#define SDMMC_RR_CMDRESP_Pos 0\r
+#define SDMMC_RR_CMDRESP_Msk (0xFFFFFFFFu << SDMMC_RR_CMDRESP_Pos)\r
+/* --------  SDMMC_BDPR Buffer Data Port Register */\r
+#define SDMMC_BDPR_BUFDATA_Pos 0\r
+#define SDMMC_BDPR_BUFDATA_Msk (0xFFFFFFFFu << SDMMC_BDPR_BUFDATA_Pos)\r
+#define SDMMC_BDPR_BUFDATA(value) ((SDMMC_BDPR_BUFDATA_Msk & ((value) << SDMMC_BDPR_BUFDATA_Pos)))\r
+/* --------  SDMMC_PSR (SDMMC Offset: 0x024) Present State Register */\r
+#define SDMMC_PSR_CMDINHC (0x1u << 0)\r
+#define SDMMC_PSR_CMDINHD (0x1u << 1)\r
+#define SDMMC_PSR_DLACT (0x1u << 2)\r
+#define SDMMC_PSR_RTREQ (0x1u << 3)\r
+#define SDMMC_PSR_WTACT (0x1u << 8)\r
+#define SDMMC_PSR_RTACT (0x1u << 9)\r
+#define SDMMC_PSR_BUFWREN (0x1u << 10)\r
+#define SDMMC_PSR_BUFRDEN (0x1u << 11)\r
+#define SDMMC_PSR_CARDINS (0x1u << 16)\r
+#define SDMMC_PSR_CARDSS (0x1u << 17)\r
+#define SDMMC_PSR_CARDDPL (0x1u << 18)\r
+#define SDMMC_PSR_WRPPL (0x1u << 19)\r
+#define SDMMC_PSR_DATLL_Pos 20\r
+#define SDMMC_PSR_DATLL_Msk (0xFu << SDMMC_PSR_DATLL_Pos)\r
+#define SDMMC_PSR_CMDLL (0x1u << 24)\r
+/* --------  SDMMC_HC1R (SDMMC Offset: 0x028) Host Control 1 Register */\r
+#define SDMMC_HC1R_LEDCTRL (0x1u << 0)\r
+#define SDMMC_HC1R_DW (0x1u << 1)\r
+#define SDMMC_HC1R_HSEN (0x1u << 2)\r
+#define SDMMC_HC1R_DMASEL_Pos 3\r
+#define SDMMC_HC1R_DMASEL_Msk (0x3u << SDMMC_HC1R_DMASEL_Pos)\r
+#define   SDMMC_HC1R_DMASEL_SDMA (0x0u << 3)\r
+#define   SDMMC_HC1R_DMASEL_ADMA32 (0x2u << 3)\r
+#define   SDMMC_HC1R_DMASEL_ADMA64 (0x3u << 3)\r
+#define SDMMC_HC1R_EXTDW (0x1u << 5)\r
+#define SDMMC_HC1R_CARDDTL (0x1u << 6)\r
+#define SDMMC_HC1R_CARDDSSEL (0x1u << 7)\r
+/* --------  SDMMC_PCR (SDMMC Offset: 0x029) Power Control Register */\r
+#define SDMMC_PCR_SDBPWR (0x1u << 0)\r
+#define SDMMC_PCR_SDBVSEL_Pos 1\r
+#define SDMMC_PCR_SDBVSEL_Msk (0x7u << SDMMC_PCR_SDBVSEL_Pos)\r
+#define SDMMC_PCR_SDBVSEL(value) ((SDMMC_PCR_SDBVSEL_Msk & ((value) << SDMMC_PCR_SDBVSEL_Pos)))\r
+/* --------  SDMMC_BGCR (SDMMC Offset: 0x02A) Block Gap Control Register */\r
+#define SDMMC_BGCR_STPBGR (0x1u << 0)\r
+#define SDMMC_BGCR_CONTR (0x1u << 1)\r
+#define SDMMC_BGCR_RWCTRL (0x1u << 2)\r
+#define SDMMC_BGCR_INTBG (0x1u << 3)\r
+/* --------  SDMMC_WCR (SDMMC Offset: 0x02B) Wakeup Control Register */\r
+#define SDMMC_WCR_WKENCINT (0x1u << 0)\r
+#define SDMMC_WCR_WKENCINS (0x1u << 1)\r
+#define SDMMC_WCR_WKENCREM (0x1u << 2)\r
+/* --------  SDMMC_CCR (SDMMC Offset: 0x02C) Clock Control Register */\r
+#define SDMMC_CCR_INTCLKEN (0x1u << 0)\r
+#define SDMMC_CCR_INTCLKS (0x1u << 1)\r
+#define SDMMC_CCR_SDCLKEN (0x1u << 2)\r
+#define SDMMC_CCR_CLKGSEL (0x1u << 5)\r
+#define SDMMC_CCR_USDCLKFSEL_Pos 6\r
+#define SDMMC_CCR_USDCLKFSEL_Msk (0x3u << SDMMC_CCR_USDCLKFSEL_Pos)\r
+#define SDMMC_CCR_USDCLKFSEL(value) ((SDMMC_CCR_USDCLKFSEL_Msk & ((value) << SDMMC_CCR_USDCLKFSEL_Pos)))\r
+#define SDMMC_CCR_SDCLKFSEL_Pos 8\r
+#define SDMMC_CCR_SDCLKFSEL_Msk (0xFFu << SDMMC_CCR_SDCLKFSEL_Pos)\r
+#define SDMMC_CCR_SDCLKFSEL(value) ((SDMMC_CCR_SDCLKFSEL_Msk & ((value) << SDMMC_CCR_SDCLKFSEL_Pos)))\r
+/* --------  SDMMC_TCR (SDMMC Offset: 0x02E) Timeout Control Register */\r
+#define SDMMC_TCR_DTCVAL_Pos 0\r
+#define SDMMC_TCR_DTCVAL_Msk (0xFu << SDMMC_TCR_DTCVAL_Pos)\r
+#define SDMMC_TCR_DTCVAL(value) ((SDMMC_TCR_DTCVAL_Msk & ((value) << SDMMC_TCR_DTCVAL_Pos)))\r
+/* --------  SDMMC_SRR (SDMMC Offset: 0x02F) Software Reset Register */\r
+#define SDMMC_SRR_SWRSTALL (0x1u << 0)\r
+#define SDMMC_SRR_SWRSTCMD (0x1u << 1)\r
+#define SDMMC_SRR_SWRSTDAT (0x1u << 2)\r
+/* --------  SDMMC_NISTR (SDMMC Offset: 0x030) Normal Interrupt Status Register */\r
+#define SDMMC_NISTR_CMDC (0x1u << 0)\r
+#define SDMMC_NISTR_TRFC (0x1u << 1)\r
+#define SDMMC_NISTR_BLKGE (0x1u << 2)\r
+#define SDMMC_NISTR_DMAINT (0x1u << 3)\r
+#define SDMMC_NISTR_BWRRDY (0x1u << 4)\r
+#define SDMMC_NISTR_BRDRDY (0x1u << 5)\r
+#define SDMMC_NISTR_CINS (0x1u << 6)\r
+#define SDMMC_NISTR_CREM (0x1u << 7)\r
+#define SDMMC_NISTR_CINT (0x1u << 8)\r
+#define SDMMC_NISTR_INTA (0x1u << 9)\r
+#define SDMMC_NISTR_INTB (0x1u << 10)\r
+#define SDMMC_NISTR_INTC (0x1u << 11)\r
+#define SDMMC_NISTR_RTEVT (0x1u << 12)\r
+#define SDMMC_NISTR_BOOTAR (0x1u << 14)\r
+#define SDMMC_NISTR_ERRINT (0x1u << 15)\r
+/* --------  SDMMC_EISTR (SDMMC Offset: 0x032) Error Interrupt Status Register */\r
+#define SDMMC_EISTR_CMDTEO (0x1u << 0)\r
+#define SDMMC_EISTR_CMDCRC (0x1u << 1)\r
+#define SDMMC_EISTR_CMDEND (0x1u << 2)\r
+#define SDMMC_EISTR_CMDIDX (0x1u << 3)\r
+#define SDMMC_EISTR_DATTEO (0x1u << 4)\r
+#define SDMMC_EISTR_DATCRC (0x1u << 5)\r
+#define SDMMC_EISTR_DATEND (0x1u << 6)\r
+#define SDMMC_EISTR_CURLIM (0x1u << 7)\r
+#define SDMMC_EISTR_ACMD   (0x1u << 8)\r
+#define SDMMC_EISTR_ADMA   (0x1u << 9)\r
+#define SDMMC_EISTR_TUNING (0x1u << 10)\r
+#define SDMMC_EISTR_BOOTAE (0x1u << 12)\r
+/* --------  SDMMC_NISTER (SDMMC Offset: 0x034) Normal Interrupt Status Enable Register */\r
+#define SDMMC_NISTER_CMDC (0x1u << 0)\r
+#define SDMMC_NISTER_TRFC (0x1u << 1)\r
+#define SDMMC_NISTER_BLKGE (0x1u << 2)\r
+#define SDMMC_NISTER_DMAINT (0x1u << 3)\r
+#define SDMMC_NISTER_BWRRDY (0x1u << 4)\r
+#define SDMMC_NISTER_BRDRDY (0x1u << 5)\r
+#define SDMMC_NISTER_CINS (0x1u << 6)\r
+#define SDMMC_NISTER_CREM (0x1u << 7)\r
+#define SDMMC_NISTER_CINT (0x1u << 8)\r
+#define SDMMC_NISTER_INTA (0x1u << 9)\r
+#define SDMMC_NISTER_INTB (0x1u << 10)\r
+#define SDMMC_NISTER_INTC (0x1u << 11)\r
+#define SDMMC_NISTER_RTEVT (0x1u << 12)\r
+#define SDMMC_NISTER_BOOTAR (0x1u << 14)\r
+/* --------  SDMMC_EISTER (SDMMC Offset: 0x036) Error Interrupt Status Enable Register */\r
+#define SDMMC_EISTER_CMDTEO (0x1u << 0)\r
+#define SDMMC_EISTER_CMDCRC (0x1u << 1)\r
+#define SDMMC_EISTER_CMDEND (0x1u << 2)\r
+#define SDMMC_EISTER_CMDIDX (0x1u << 3)\r
+#define SDMMC_EISTER_DATTEO (0x1u << 4)\r
+#define SDMMC_EISTER_DATCRC (0x1u << 5)\r
+#define SDMMC_EISTER_DATEND (0x1u << 6)\r
+#define SDMMC_EISTER_CURLIM (0x1u << 7)\r
+#define SDMMC_EISTER_ACMD (0x1u << 8)\r
+#define SDMMC_EISTER_ADMA (0x1u << 9)\r
+#define SDMMC_EISTER_TUNING (0x1u << 10)\r
+#define SDMMC_EISTER_BOOTAE (0x1u << 12)\r
+/* --------  SDMMC_NISIER (SDMMC Offset: 0x038) Normal Interrupt Signal Enable Register */\r
+#define SDMMC_NISIER_CMDC (0x1u << 0)\r
+#define SDMMC_NISIER_TRFC (0x1u << 1)\r
+#define SDMMC_NISIER_BLKGE (0x1u << 2)\r
+#define SDMMC_NISIER_DMAINT (0x1u << 3)\r
+#define SDMMC_NISIER_BWRRDY (0x1u << 4)\r
+#define SDMMC_NISIER_BRDRDY (0x1u << 5)\r
+#define SDMMC_NISIER_CINS (0x1u << 6)\r
+#define SDMMC_NISIER_CREM (0x1u << 7)\r
+#define SDMMC_NISIER_CINT (0x1u << 8)\r
+#define SDMMC_NISIER_INTA (0x1u << 9)\r
+#define SDMMC_NISIER_INTB (0x1u << 10)\r
+#define SDMMC_NISIER_INTC (0x1u << 11)\r
+#define SDMMC_NISIER_RTEVT (0x1u << 12)\r
+#define SDMMC_NISIER_BOOTAR (0x1u << 14)\r
+/* --------  SDMMC_EISIER (SDMMC Offset: 0x03A) Error Interrupt Signal Enable Register */\r
+#define SDMMC_EISIER_CMDTEO (0x1u << 0)\r
+#define SDMMC_EISIER_CMDCRC (0x1u << 1)\r
+#define SDMMC_EISIER_CMDEND (0x1u << 2)\r
+#define SDMMC_EISIER_CMDIDX (0x1u << 3)\r
+#define SDMMC_EISIER_DATTEO (0x1u << 4)\r
+#define SDMMC_EISIER_DATCRC (0x1u << 5)\r
+#define SDMMC_EISIER_DATEND (0x1u << 6)\r
+#define SDMMC_EISIER_CURLIM (0x1u << 7)\r
+#define SDMMC_EISIER_ACMD (0x1u << 8)\r
+#define SDMMC_EISIER_ADMA (0x1u << 9)\r
+#define SDMMC_EISIER_TUNING (0x1u << 10)\r
+#define SDMMC_EISIER_BOOTAE (0x1u << 12)\r
+/* --------  SDMMC_ACESR (SDMMC Offset: 0x03C) Auto CMD Error Status Register */\r
+#define SDMMC_ACESR_ACMD12NE (0x1u << 0)\r
+#define SDMMC_ACESR_ACMDTEO (0x1u << 1)\r
+#define SDMMC_ACESR_ACMDCRC (0x1u << 2)\r
+#define SDMMC_ACESR_ACMDEND (0x1u << 3)\r
+#define SDMMC_ACESR_ACMDIDX (0x1u << 4)\r
+#define SDMMC_ACESR_CMDNI (0x1u << 7)\r
+/* --------  SDMMC_HC2R (SDMMC Offset: 0x03E) Host Control 2 Register */\r
+#define SDMMC_HC2R_UHSMS_Pos 0\r
+#define SDMMC_HC2R_UHSMS_Msk (0x7u << SDMMC_HC2R_UHSMS_Pos)\r
+#define   SDMMC_HC2R_UHSMS_SDR12 (0x0u << 0)\r
+#define   SDMMC_HC2R_UHSMS_SDR25 (0x1u << 0)\r
+#define   SDMMC_HC2R_UHSMS_SDR50 (0x2u << 0)\r
+#define   SDMMC_HC2R_UHSMS_SDR104 (0x3u << 0)\r
+#define   SDMMC_HC2R_UHSMS_DDR50 (0x4u << 0)\r
+#define SDMMC_HC2R_VS18EN (0x1u << 3)\r
+#define SDMMC_HC2R_DRVSEL_Pos 4\r
+#define SDMMC_HC2R_DRVSEL_Msk (0x3u << SDMMC_HC2R_DRVSEL_Pos)\r
+#define   SDMMC_HC2R_DRVSEL_TYPEB (0x0u << 4)\r
+#define   SDMMC_HC2R_DRVSEL_TYPEA (0x1u << 4)\r
+#define   SDMMC_HC2R_DRVSEL_TYPEC (0x2u << 4)\r
+#define   SDMMC_HC2R_DRVSEL_TYPED (0x3u << 4)\r
+#define SDMMC_HC2R_EXTUN (0x1u << 6)\r
+#define SDMMC_HC2R_SCLKSEL (0x1u << 7)\r
+#define SDMMC_HC2R_ASINTEN (0x1u << 14)\r
+#define SDMMC_HC2R_PVALEN (0x1u << 15)\r
+/* --------  SDMMC_CA0R (SDMMC Offset: 0x040) Capabilities Register */\r
+#define SDMMC_CA0R_TEOCLKF_Pos 0\r
+#define SDMMC_CA0R_TEOCLKF_Msk (0x3Fu << SDMMC_CA0R_TEOCLKF_Pos)\r
+#define SDMMC_CA0R_TEOCLKF(value) ((SDMMC_CA0R_TEOCLKF_Msk & ((value) << SDMMC_CA0R_TEOCLKF_Pos)))\r
+#define SDMMC_CA0R_TEOCLKU (0x1u << 7)\r
+#define SDMMC_CA0R_BASECLKF_Pos 8\r
+#define SDMMC_CA0R_BASECLKF_Msk (0xFFu << SDMMC_CA0R_BASECLKF_Pos)\r
+#define SDMMC_CA0R_BASECLKF(value) ((SDMMC_CA0R_BASECLKF_Msk & ((value) << SDMMC_CA0R_BASECLKF_Pos)))\r
+#define SDMMC_CA0R_MAXBLKL_Pos 16\r
+#define SDMMC_CA0R_MAXBLKL_Msk (0x3u << SDMMC_CA0R_MAXBLKL_Pos)\r
+#define SDMMC_CA0R_MAXBLKL(value) ((SDMMC_CA0R_MAXBLKL_Msk & ((value) << SDMMC_CA0R_MAXBLKL_Pos)))\r
+#define SDMMC_CA0R_ED8SUP (0x1u << 18)\r
+#define SDMMC_CA0R_ADMA2SUP (0x1u << 19)\r
+#define SDMMC_CA0R_HSSUP (0x1u << 21)\r
+#define SDMMC_CA0R_SDMASUP (0x1u << 22)\r
+#define SDMMC_CA0R_SRSUP (0x1u << 23)\r
+#define SDMMC_CA0R_V33VSUP (0x1u << 24)\r
+#define SDMMC_CA0R_V30VSUP (0x1u << 25)\r
+#define SDMMC_CA0R_V18VSUP (0x1u << 26)\r
+#define SDMMC_CA0R_SB64SUP (0x1u << 28)\r
+#define SDMMC_CA0R_ASINTSUP (0x1u << 29)\r
+#define SDMMC_CA0R_SLTYPE_Pos 30\r
+#define SDMMC_CA0R_SLTYPE_Msk (0x3u << SDMMC_CA0R_SLTYPE_Pos)\r
+#define   SDMMC_CA0R_SLTYPE_REMOVABLECARD (0x0u << 30)\r
+#define   SDMMC_CA0R_SLTYPE_EMBEDDED (0x1u << 30)\r
+#define   SDMMC_CA0R_SLTYPE_SHAREDBUS (0x2u << 30)\r
+/* --------  SDMMC_CA1R (SDMMC Offset: 0x044) Capabilities Register */\r
+#define SDMMC_CA1R_SDR50SUP (0x1u << 0)\r
+#define SDMMC_CA1R_SDR104SUP (0x1u << 1)\r
+#define SDMMC_CA1R_DDR50SUP (0x1u << 2)\r
+#define SDMMC_CA1R_DRVASUP (0x1u << 4)\r
+#define SDMMC_CA1R_DRVCSUP (0x1u << 5)\r
+#define SDMMC_CA1R_DRVDSUP (0x1u << 6)\r
+#define SDMMC_CA1R_TCNTRT_Pos 8\r
+#define SDMMC_CA1R_TCNTRT_Msk (0xFu << SDMMC_CA1R_TCNTRT_Pos)\r
+#define SDMMC_CA1R_TSDR50 (0x1u << 13)\r
+#define SDMMC_CA1R_RTMOD_Pos 14\r
+#define SDMMC_CA1R_RTMOD_Msk (0x3u << SDMMC_CA1R_RTMOD_Pos)\r
+#define   SDMMC_CA1R_RTMOD_MODE1 (0x0u << 14)\r
+#define   SDMMC_CA1R_RTMOD_MODE2 (0x1u << 14)\r
+#define   SDMMC_CA1R_RTMOD_MODE3 (0x2u << 14)\r
+#define SDMMC_CA1R_CLKMULT_Pos 16\r
+#define SDMMC_CA1R_CLKMULT_Msk (0xFFu << SDMMC_CA1R_CLKMULT_Pos)\r
+/* --------  SDMMC_MCCAR (SDMMC Offset: 0x048) Maximum Current Capabilities Register */\r
+#define SDMMC_MCCAR_MAXCUR33V_Pos 0\r
+#define SDMMC_MCCAR_MAXCUR33V_Msk (0xFFu << SDMMC_MCCAR_MAXCUR33V_Pos)\r
+#define SDMMC_MCCAR_MAXCUR30V_Pos 8\r
+#define SDMMC_MCCAR_MAXCUR30V_Msk (0xFFu << SDMMC_MCCAR_MAXCUR30V_Pos)\r
+#define SDMMC_MCCAR_MAXCUR18V_Pos 16\r
+#define SDMMC_MCCAR_MAXCUR18V_Msk (0xFFu << SDMMC_MCCAR_MAXCUR18V_Pos)\r
+/* --------  SDMMC_FERACES (SDMMC Offset: 0x050) Force Event Register for Auto CMD Error Status */\r
+#define SDMMC_FERACES_ACMD12NE (0x1u << 0)\r
+#define SDMMC_FERACES_ACMDTEO (0x1u << 1)\r
+#define SDMMC_FERACES_ACMDCRC (0x1u << 2)\r
+#define SDMMC_FERACES_ACMDEND (0x1u << 3)\r
+#define SDMMC_FERACES_ACMDIDX (0x1u << 4)\r
+#define SDMMC_FERACES_CMDNI (0x1u << 7)\r
+/* --------  SDMMC_FEREIS (SDMMC Offset: 0x052) Force Event Register for Error Interrupt Status */\r
+#define SDMMC_FEREIS_CMDTEO (0x1u << 0)\r
+#define SDMMC_FEREIS_CMDCRC (0x1u << 1)\r
+#define SDMMC_FEREIS_CMDEND (0x1u << 2)\r
+#define SDMMC_FEREIS_CMDIDX (0x1u << 3)\r
+#define SDMMC_FEREIS_DATTEO (0x1u << 4)\r
+#define SDMMC_FEREIS_DATCRC (0x1u << 5)\r
+#define SDMMC_FEREIS_DATEND (0x1u << 6)\r
+#define SDMMC_FEREIS_CURLIM (0x1u << 7)\r
+#define SDMMC_FEREIS_ACMD (0x1u << 8)\r
+#define SDMMC_FEREIS_ADMA (0x1u << 9)\r
+/* --------  SDMMC_AESR (SDMMC Offset: 0x054) ADMA Error Status Register */\r
+#define SDMMC_AESR_ERRST_Pos 0\r
+#define SDMMC_AESR_ERRST_Msk (0x3u << SDMMC_AESR_ERRST_Pos)\r
+#define   SDMMC_AESR_ERRST_STOP (0x0u << 0)\r
+#define   SDMMC_AESR_ERRST_FDS (0x1u << 0)\r
+#define   SDMMC_AESR_ERRST_TFR (0x3u << 0)\r
+#define SDMMC_AESR_LMIS (0x1u << 2)\r
+/* --------  SDMMC_ASA0R (SDMMC Offset: 0x058) ADMA System Address Register */\r
+#define SDMMC_ASA0R_ADMASA_Pos 0\r
+#define SDMMC_ASA0R_ADMASA_Msk (0xFFFFFFFFu << SDMMC_ASA0R_ADMASA_Pos)\r
+#define SDMMC_ASA0R_ADMASA(value) ((SDMMC_ASA0R_ADMASA_Msk & ((value) << SDMMC_ASA0R_ADMASA_Pos)))\r
+/* --------  SDMMC_PVR[8] (SDMMC Offset: 0x060) Preset Value Register */\r
+#define SDMMC_PVR_SDCLKFSEL_Pos 0\r
+#define SDMMC_PVR_SDCLKFSEL_Msk (0x3FFu << SDMMC_PVR_SDCLKFSEL_Pos)\r
+#define SDMMC_PVR_SDCLKFSEL(value) ((SDMMC_PVR_SDCLKFSEL_Msk & ((value) << SDMMC_PVR_SDCLKFSEL_Pos)))\r
+#define SDMMC_PVR_CLKGSEL (0x1u << 10)\r
+#define SDMMC_PVR_DRVSEL_Pos 14\r
+#define SDMMC_PVR_DRVSEL_Msk (0x3u << SDMMC_PVR_DRVSEL_Pos)\r
+#define SDMMC_PVR_DRVSEL(value) ((SDMMC_PVR_DRVSEL_Msk & ((value) << SDMMC_PVR_DRVSEL_Pos)))\r
+/* --------  SDMMC_SISR (SDMMC Offset: 0x0FC) Slot Interrupt Status Register */\r
+#define SDMMC_SISR_INTSSL_Pos 0\r
+#define SDMMC_SISR_INTSSL_Msk (0xFFu << SDMMC_SISR_INTSIGSLOT_Pos)\r
+/* --------  SDMMC_HCVR (SDMMC Offset: 0x0FE) Host Controller Version Register */\r
+#define SDMMC_HCVR_SVER_Pos 0\r
+#define SDMMC_HCVR_SVER_Msk (0xFFu << SDMMC_HCVR_SVER_Pos)\r
+#define SDMMC_HCVR_VVER_Pos 8\r
+#define SDMMC_HCVR_VVER_Msk (0xFFu << SDMMC_HCVR_VVER_Pos)\r
+/* --------  SDMMC_APSR (SDMMC Offset: 0x200) Additionnal Present State Register */\r
+#define SDMMC_APSR_HDATLL_Pos 0\r
+#define SDMMC_APSR_HDATLL_Msk (0xFu << SDMMC_APSR_HDATLL_Pos)\r
+/* --------  SDMMC_MC1R (SDMMC Offset: 0x204) MMC Control 1 Register */\r
+#define SDMMC_MC1R_CMDTYP_Pos 0\r
+#define SDMMC_MC1R_CMDTYP_Msk (0x3u << SDMMC_MC1R_CMDTYP_Pos)\r
+#define   SDMMC_MC1R_CMDTYP_NORMAL (0x0u << 0)\r
+#define   SDMMC_MC1R_CMDTYP_WAITIRQ (0x1u << 0)\r
+#define   SDMMC_MC1R_CMDTYP_STREAM (0x2u << 0)\r
+#define   SDMMC_MC1R_CMDTYP_BOOT (0x3u << 0)\r
+#define SDMMC_MC1R_DDR (0x1u << 3)\r
+#define SDMMC_MC1R_OPD (0x1u << 4)\r
+#define SDMMC_MC1R_BOOTA (0x1u << 5)\r
+#define SDMMC_MC1R_RSTN (0x1u << 6)\r
+#define SDMMC_MC1R_FCD (0x1u << 7)\r
+/* --------  SDMMC_MC2R (SDMMC Offset: 0x205) MMC Control 2 Register */\r
+#define SDMMC_MC2R_SRESP (0x1u << 0)\r
+#define SDMMC_MC2R_ABOOT (0x1u << 1)\r
+/* --------  SDMMC_ACR (SDMMC Offset: 0x208) AHB Control Register */\r
+#define SDMMC_ACR_BMAX_Pos 0\r
+#define SDMMC_ACR_BMAX_Msk (0x3u << SDMMC_ACR_BMAX_Pos)\r
+#define   SDMMC_ACR_BMAX_INCR16 (0x0u << 0)\r
+#define   SDMMC_ACR_BMAX_INCR8 (0x1u << 0)\r
+#define   SDMMC_ACR_BMAX_INCR4 (0x2u << 0)\r
+#define   SDMMC_ACR_BMAX_SINGLE (0x3u << 0)\r
+#define SDMMC_ACR_HNBRDIS (0x1u << 4)\r
+#define SDMMC_ACR_B1KBDIS (0x1u << 5)\r
+/* --------  SDMMC_CC2R (SDMMC Offset: 0x20C) Clock Control 2 Register */\r
+#define SDMMC_CC2R_FSDCLKD (0x1u << 0)\r
+/* --------  SDMMC_RTC1R (SDMMC Offset: 0x210) Retuning Timer Control 1 Register */\r
+#define SDMMC_RTC1R_TMREN (0x1u << 0)\r
+/* --------  SDMMC_RTC2R (SDMMC Offset: 0x211) Retuning Timer Control 2 Register */\r
+#define SDMMC_RTC2R_RLD (0x1u << 0)\r
+/* --------  SDMMC_RTCVR (SDMMC Offset: 0x214) Retuning Timer Counter Value Register */\r
+#define SDMMC_RTCVR_TCVAL_Pos 0\r
+#define SDMMC_RTCVR_TCVAL_Msk (0xFu << SDMMC_RTCVR_TCVAL_Pos)\r
+#define SDMMC_RTCVR_TCVAL(value) ((SDMMC_RTCVR_TCVAL_Msk & ((value) << SDMMC_RTCVR_TCVAL_Pos)))\r
+/* --------  SDMMC_RTISTER (SDMMC Offset: 0x218) Retuning Timer Interrupt Status Enable Register */\r
+#define SDMMC_RTISTER_TEVT (0x1u << 0)\r
+/* --------  SDMMC_RTISIER (SDMMC Offset: 0x219) Retuning Timer Interrupt Signal Enable Register */\r
+#define SDMMC_RTISIER_TEVT (0x1u << 0)\r
+/* --------  SDMMC_RTISTR (SDMMC Offset: 0x21C) Retuning Timer Interrupt Status Register */\r
+#define SDMMC_RTISTR_TEVT (0x1u << 0)\r
+/* --------  SDMMC_RTSSR (SDMMC Offset: 0x21D) Retuning Timer Status Slots Register */\r
+#define SDMMC_RTSSR_TEVTSLOT (0x1u << 0)\r
+/* --------  SDMMC_TUNCR (SDMMC Offset: 0x220) Tuning Control Register */\r
+#define SDMMC_TUNCR_SMPLPT (0x1u << 0)\r
+/* --------  SDMMC_CACR (SDMMC Offset: 0x230) Capabilities Control Register */\r
+#define SDMMC_CACR_CAPWREN (0x1u << 0)\r
+#define SDMMC_CACR_KEY_Pos 8\r
+#define SDMMC_CACR_KEY_Msk (0xFFu << SDMMC_CACR_KEY_Pos)\r
+#define SDMMC_CACR_KEY(value) ((SDMMC_CACR_KEY_Msk & ((value) << SDMMC_CACR_KEY_Pos)))\r
+/* --------  SDMMC_CALCR (SDMMC Offset: 0x240) Calibration Control Register */\r
+#define SDMMC_CALCR_EN (0x1u << 0)\r
+#define SDMMC_CALCR_ALWYSON (0x1u << 4)\r
+#define SDMMC_CALCR_TUNDIS (0x1u << 5)\r
+#define SDMMC_CALCR_CNTVAL_Pos 8\r
+#define SDMMC_CALCR_CNTVAL_Msk (0xFFu << SDMMC_CALCR_CNTVAL_Pos)\r
+#define SDMMC_CALCR_CNTVAL(value) ((SDMMC_CALCR_CNTVAL_Msk & ((value) << SDMMC_CALCR_CNTVAL_Pos)))\r
+#define SDMMC_CALCR_CALN_Pos 16\r
+#define SDMMC_CALCR_CALN_Msk (0xFu << SDMMC_CALCR_CALN_Pos)\r
+#define SDMMC_CALCR_CALP_Pos 24\r
+#define SDMMC_CALCR_CALP_Msk (0xFu << SDMMC_CALCR_CALP_Pos)\r
+/* --------  SDMMC Descriptor Table for Advanced DMA 2 as pointed by SDMMC_ASA0R */\r
+#define SDMMC_DMADL_SIZE (2u) /**< \brief Size of a Descriptor Line in the ADMA2 Descriptor Table, in words */\r
+#define SDMMC_DMADL_TRAN_LEN_MIN (1u) /**< \brief Minimum data length per ADMA2 Descriptor Line, in bytes */\r
+#define SDMMC_DMADL_TRAN_LEN_MAX (65536ul) /**< \brief Maximum data length per ADMA2 Descriptor Line, in bytes */\r
+/* --------  SDMMC_DMADL[0] (Descriptor Line Offset: 0x0) ADMA2 Descriptor Line */\r
+#define SDMMC_DMA0DL_ATTR_VALID (0x1u << 0)\r
+#define SDMMC_DMA0DL_ATTR_END (0x1u << 1)\r
+#define SDMMC_DMA0DL_ATTR_INT (0x1u << 2)\r
+#define SDMMC_DMA0DL_ATTR_ACT_Pos 4\r
+#define SDMMC_DMA0DL_ATTR_ACT_Msk (0x3u << SDMMC_DMA0DL_ATTR_ACT_Pos)\r
+#define   SDMMC_DMA0DL_ATTR_ACT_NOP (0x0u << 4)\r
+#define   SDMMC_DMA0DL_ATTR_ACT_TRAN (0x2u << 4)\r
+#define   SDMMC_DMA0DL_ATTR_ACT_LINK (0x3u << 4)\r
+#define SDMMC_DMA0DL_LEN_Pos 16\r
+#define SDMMC_DMA0DL_LEN_Msk (0xFFFFu << SDMMC_DMA0DL_LEN_Pos)\r
+#define   SDMMC_DMA0DL_LEN_MAX (0x0u << 16)\r
+#define SDMMC_DMA0DL_LEN(value) ((SDMMC_DMA0DL_LEN_Msk & ((value) << SDMMC_DMA0DL_LEN_Pos)))\r
+/* --------  SDMMC_DMADL[1] (Descriptor Line Offset: 0x4) ADMA2 Descriptor Line */\r
+#define SDMMC_DMA1DL_ADDR_Pos 0\r
+#define SDMMC_DMA1DL_ADDR_Msk (0xFFFFFFFFu << SDMMC_DMA1DL_ADDR_Pos)\r
+#define SDMMC_DMA1DL_ADDR(value) ((SDMMC_DMA1DL_ADDR_Msk & ((value) << SDMMC_DMA1DL_ADDR_Pos)))\r
+\r
+/*@}*/\r
+\r
+#endif /* _SAMA5D2_SDMMC_COMPONENT_ */\r