⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lh7a400_mmc.h

📁 sharp触摸屏测试代码
💻 H
字号:
/***********************************************************************
 * $Workfile:   lh7a400_mmc.h  $
 * $Revision:   1.0  $
 * $Author:   WellsK  $
 * $Date:   Jun 09 2003 14:31:34  $
 *
 * Project: LH7A400 MMC definitions
 *
 * Description:
 *     This file contains the structure definitions and manifest
 *     constants for the LH7A400 component:
 *         Multi-Media Card Controller
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh7a400/include/lh7a400_mmc.h-arc  $
 * 
 *    Rev 1.0   Jun 09 2003 14:31:34   WellsK
 * Initial revision.
 * 
 * 
 ***********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 **********************************************************************/

#ifndef LH7A400_MMC_H
#define LH7A400_MMC_H
#include "SMA_types.h"
//#include "abl_types.h"
//#include "lh7a400_chip.h"

/***********************************************************************
 * MMC Module Register Structure
 **********************************************************************/

/* MMC Module Register Structure */ 
typedef struct 
{
    volatile UNS_32 clock_control; /* MMC Clock control register */ 
    volatile UNS_32 status;        /* MMC Controller status register */ 
    volatile UNS_32 clock_rate;    /* MMC clock divider register */
    volatile UNS_32 clock_prediv;  /* MMC clock pre-divider register*/
    volatile UNS_32 spi;           /* MMC SPI mode control register */
    volatile UNS_32 cmd_control;   /* MMC Command control register */
    volatile UNS_32 response_to;   /* MMC Response timeout register */
    volatile UNS_32 read_to;       /* MMC Read timeout register */
    volatile UNS_32 block_len;     /* MMC Block length register */
    volatile UNS_32 block_count;   /* MMC Block count register */ 
    volatile UNS_32 int_status;    /* MMC Interrupt status register */
    volatile UNS_32 int_clear;     /* MMC Interrupt clear register */ 
    volatile UNS_32 reserved1;
    volatile UNS_32 int_mask;    /* MMC Interrupt enable register */
    volatile UNS_32 command;       /* MMC Command Number register */
    volatile UNS_32 argument;      /* MMC Command Argument register */
    volatile UNS_32 response_fifo; /* MMC Response FIFO register */
    volatile UNS_32 reserved2;
    volatile UNS_32 data_fifo;     /* MMC Data FIFO register */
    volatile UNS_32 buf_part_full; /* MMC Partial buf for stream mode */
} MMCREGS;

/***********************************************************************
 * MMC clock start/stop register definitions
 **********************************************************************/

/* MMC clock start/stop register stop clock bit */
#define MMC_CTRL_STOP_CLK                0x00000001
/* MMC clock start/stop register start clock bit */
#define MMC_CTRL_START_CLK               0x00000002

/***********************************************************************
 * MMC status register definitions
 **********************************************************************/

/* MMC status register read timeout bit */
#define MMC_STATUS_READ_TO               0x00000001
/* MMC status register response timeout bit */
#define MMC_STATUS_RESPONSE_TO           0x00000002
/* MMC status register CRC write error bit */
#define MMC_STATUS_CRC_ERROR_WRITE       0x00000004
/* MMC status register CRC read error bit */
#define MMC_STATUS_CRC_ERROR_READ        0x00000008
/* MMC status register SPI read error token bit */
#define MMC_STATUS_SPI_READ_ERROR_TOKEN  0x00000010
/* MMC status register response CRC error bit */
#define MMC_STATUS_CRC_ERROR_RESPONSE    0x00000020
/* MMC status register FIFO empty bit */
#define MMC_STATUS_FIFO_EMPTY            0x00000040
/* MMC status register FIFO full bit */
#define MMC_STATUS_FIFO_FULL             0x00000080
/* MMC status register clock enabled bit */
#define MMC_STATUS_CLOCK_ENABLED         0x00000100
/* MMC status register data transfer done bit */
#define MMC_STATUS_DATA_TRANSFER_DONE    0x00000800
/* MMC status register program done bit */
#define MMC_STATUS_PROGRAM_DONE          0x00001000
/* MMC status register command response complete bit */
#define MMC_STATUS_END_COMMAND_RESPONSE  0x00002000

#define MMC_CMD_RESPONSE_FORMAT(n)       _SBF(0, (n & 0x3))
/***********************************************************************
 * MMC clock rate register definitions
 **********************************************************************/

/* MMC clock rate register load macro */
#define MMC_CLOCK_RATE(n)                _SBF(0, ((n) & 0x7))
/* MMC clock rate register divide by 1 load value */
#define MMC_CLOCK_DIV1                   0
/* MMC clock rate register divide by 2 load value */
#define MMC_CLOCK_DIV2                   1
/* MMC clock rate register divide by 4 load value */
#define MMC_CLOCK_DIV4                   2
/* MMC clock rate register divide by 8 load value */
#define MMC_CLOCK_DIV8                   3
/* MMC clock rate register divide by 16 load value */
#define MMC_CLOCK_DIV16                  4
/* MMC clock rate register divide by 32 load value */
#define MMC_CLOCK_DIV32                  5
/* MMC clock rate register divide by 64 load value */
#define MMC_CLOCK_DIV64                  6

/***********************************************************************
 * MMC clock predivide register definitions
 **********************************************************************/

/* MMC clock predivide register load macro */
#define MMC_PREDIV(n)                    _SBF(0, ((n) & 0xF))
/* MMC clock predivide MMC clock gate bit */
#define MMC_PREDIV_EN                     0x00000010
/* MMC clock predivide APB read enable bit */
#define MMC_PREDIV_APB_RD_EN              0x00000020

/***********************************************************************
 * MMC SPI register definitions
 **********************************************************************/

/* MMC SPI register SPI mode enable bit */
#define MMC_SPI_EN                        0x00000001
/* MMC SPI register CRC mode enable bit */
#define MMC_SPI_CRC_ON                    0x00000002
/* MMC SPI register SPI chip select enable bit */
#define MMC_SPI_CS_EN                     0x00000004
/* MMC SPI register SPI chip select address 1 bit */
#define MMC_SPI_CS_ADDR                   0x00000008

/***********************************************************************
 * MMC command/data register definitions
 **********************************************************************/

/* MMC command/data register response format none value */
#define MMC_CMD_RESPONSE_NONE             _SBF(0, ((n) & 0x0))
/* MMC command/data register response format R1 value */
#define MMC_CMD_RESPONSE_R1               _SBF(0, ((n) & 0x1))
/* MMC command/data register response format R2 value */
#define MMC_CMD_RESPONSE_R2               _SBF(0, ((n) & 0x2))
/* MMC command/data register response format R3 value */
#define MMC_CMD_RESPONSE_R3               _SBF(0, ((n) & 0x3))
/* MMC command/data register data enable bit */
#define MMC_CMD_DATA_EN                   0x00000004
/* MMC command/data register write enable bit */
#define MMC_CMD_WRITE                     0x00000008
/* MMC command/data register stream enable bit */
#define MMC_CMD_STREAM                    0x00000010
/* MMC command/data register busy signal expectation bit */
#define MMC_CMD_BUSY                      0x00000020
/* MMC command/data register initialize enable bit */
#define MMC_CMD_INITIALIZE                0x00000040

/***********************************************************************
 * MMC response timeout register definitions
 **********************************************************************/

/* MMC response timeout register load macro */
#define MMC_RESPONSE_TO(n)                ((n) & 0x0000007F)

/***********************************************************************
 * MMC read timeout register definitions
 **********************************************************************/

/* MMC read timeout register load macro */
#define MMC_READ_TO(n)                    ((n) & 0x0000FFFF)

/***********************************************************************
 * MMC block length register definitions
 **********************************************************************/

/* MMC block length register load macro */
#define MMC_BLOCK_LEN(n)                  ((n) & 0x000003FF)

/***********************************************************************
 * MMC block count register definitions
 **********************************************************************/

/* MMC block count register load macro */
#define MMC_BLOCK_COUNT(n)                ((n) & 0x0000FFFF)

/***********************************************************************
 * MMC interrupt register definitions
 **********************************************************************/

/* MMC interrupt register data transfer done bit */
#define MMC_INT_DATA_TRANSFER_DONE        0x00000001
/* MMC interrupt register program done bit */
#define MMC_INT_PROGRAM_DONE              0x00000002
/* MMC interrupt register end command bit */
#define MMC_INT_END_CMD_RESPONSE          0x00000004
/* MMC interrupt register buffer ready bit */
#define MMC_INT_BUFFER_READY              0x00000008
/* MMC interrupt register bus clock stopped bit */
#define MMC_INT_CLOCK_DISABLED            0x00000010

/***********************************************************************
 * MMC command number register definitions
 **********************************************************************/
                                          
/* MMC command number register load macro */
#define MMC_CMD_NUM(n)                    _SBF(0, ((n) & 0x3F))

/***********************************************************************
 * MMC buffer partially full register definitions
 **********************************************************************/

/* MMC buffer partially full register partial FIFO written bit */
#define MMC_BUF_PART_FULL                 0x00000001

/* Macro pointing to interrupt controller registers */
//#define MMC ((MMC_REGS_T *)(MMC_BASE))

#endif /* LH7A400_MMC_H */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -