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

📄 pu_irom_sdhc_ipp.h

📁 freescale atk source code
💻 H
字号:
#ifndef _PU_IROM_SDHC_IPP_H_#define _PU_IROM_SDHC_IPP_H_/*==================================================================================================                                                                                   Module Name:  pu_irom_sdhc_ipp.h    General Description: Private include file for SDHC IP.====================================================================================================    Copyright (C) 2006, Freescale Semiconductor, Inc. All Rights Reserved    THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT    BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF    Freescale Semiconductor, Inc.  Revision History:                            Modification     TrackingAuthor                          Date          Number     Description of Changes-------------------------   ------------    ----------   -------------------------------------------Suresh Kumar                 03/Oct/2006    TLSbo79133     Initial Version -------------------------   ------------    ----------   ------------------------------------------- Portability: Non-Portable.References : iMX31 L3 Specifications V1.43====================================================================================================                                        INCLUDE FILES==================================================================================================*/#include "Common.h"/*==================================================================================================                                      MACROS AND DEFINES==================================================================================================*/      #define BLK_LEN   512#define FIFO_SIZE 4   /* For SD 1-bit Mode, FIFO is of 4 words *//* General defines */#define IPG_PER_CLK_REF_TO_MPLL_CKIL           48*1024    /* in kHz */         #define IPG_PER_CLK_REF_TO_MPLL_CKIH           39*1000    /* in kHz */#define CLOCK_SEL_MASK                         0x00000006#define CKIL_CLOCK_SEL                         0x00000002/* Command and data control masks */#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP      0x00000007#define SDHC_CMD_DATA_CTRL_DATA_ENABLE         0x00000008#define SDHC_CMD_DATA_CTRL_WRITE_READ          0x00000010#define SDHC_CMD_DATA_CTRL_INIT                0x00000080#define SDHC_CMD_DATA_CTRL_BUS_WIDTH           0x00000300#define SDHC_CMD_DATA_CTRL_START_READ_WAIT     0x00000400#define SDHC_CMD_DATA_CTRL_STOP_READ_WAIT      0x00000800#define SDHC_CMD_DATA_CTRL_CMD_RESP_LONG_OFF   0x00001000/* Command and data control values */#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP_SHIFT     0x0#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP_NONE      0x0#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP_48        0x1#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP_136       0x2#define SDHC_CMD_DATA_CTRL_FROMAT_OF_RESP_48_N0_CRC 0x3#define SDHC_CMD_DATA_CTRL_DATA_ENABLE_SHIFT        0x3#define SDHC_CMD_DATA_CTRL_BUS_WIDTH_SHIFT          0x8#define SDHC_CMD_DATA_CTRL_BUS_WIDTH_1_BIT          0x0#define SDHC_CMD_DATA_CTRL_BUS_WIDTH_4_BIT          0x2#define SDHC_CMD_DATA_CTRL_WRITE_READ_SHIFT         0x4#define SDHC_CMD_DATA_CTRL_INIT_SHIFT               0x7/* Interrupt control regiter Mask *//* Bit - 0: READ_OP_DONE * Bit - 2: END_CMD_RES * Bit - 4: BUF_READ_EN * Bit - 14: CARD_REMOVAL_EN * Bit - 15: CARD_INSERTION_EN */#define SDHC_INTERRUPTS_MASK                  0x0000c015/* Clock rate register masks */#define SDHC_CLK_RATE_DIVIDE_MASK             0x0000000F#define SDHC_CLK_RATE_PRESCALER_MASK          0x0000FFF0#define SDHC_CLK_RATE_DIVIDE_SHIFT            0x0#define SDHC_CLK_RATE_PRESCALER_SHIFT         0x4/* Status regsiter Masks */#define SDHC_STATUS_CLK_RUN_MSK               0x100#define SDHC_STATUS_END_CMD_RESP_MSK          0x2000#define SDHC_STATUS_TIME_OUT_RESP_MSK         0x2#define SDHC_STATUS_RESP_CRC_ERR_MSK          0x20#define SDHC_STATUS_BUF_READ_RDY_MSK          0x80#define SDHC_STATUS_BUF_WRITE_RDY_MSK         0x40#define SDHC_STATUS_WRITE_OP_DONE_MSK         0x1000#define SDHC_STATUS_WR_CRC_ERR_CODE_MSK       0x600#define SDHC_STATUS_WRITE_CRC_ERR_MSK         0x4#define SDHC_STATUS_READ_OP_DONE_MSK          0x800#define SDHC_STATUS_TIME_OUT_READ             0x1#define SDHC_STATUS_READ_CRC_ERR_MSK          0x8#define SDHC_STATUS_CLEAR                     ((U32)(0xC0007E2F))/*==================================================================================================                                             ENUMS==================================================================================================*//* SDHC Clock Control register constants*/enum sdhc_str_stp_clk_val{    SDHC_STR_STP_CLK_START = 0x2,    SDHC_STR_STP_CLK_STOP = 0x1,    SDHC_STR_STP_CLK_RESET = 0x8};enum sdhc_int_cntr_val{    SDHC_INT_CNTR_END_CMD_RESP = 0x4,    SDHC_INT_CNTR_BUF_WR_RDY = 0x8};/* Clock rate register constants */enum clock_rate_prescaler{    PRE_CLK_DIV =0x000,     PRE_CLK_DIV_2 =0x001,     PRE_CLK_DIV_4 =0x002,     PRE_CLK_DIV_8 =0x004,     PRE_CLK_DIV_16 =0x008,     PRE_CLK_DIV_32 =0x010,     PRE_CLK_DIV_64 =0x020,     PRE_CLK_DIV_128 =0x040,     PRE_CLK_DIV_256 =0x080,     PRE_CLK_DIV_512 =0x100,     PRE_CLK_DIV_1024 =0x200,     PRE_CLK_DIV_2048 =0x400,     PRE_CLK_DIV_4096 =0x800};enum clock_rate_divider{    CLK_DIV_2 =0x01,     CLK_DIV_3 =0x02,     CLK_DIV_4 =0x03,     CLK_DIV_5 =0x04,     CLK_DIV_6 =0x05,     CLK_DIV_7 =0x06,     CLK_DIV_8 =0x07,     CLK_DIV_9 =0x08,     CLK_DIV_10 =0x09,     CLK_DIV_11 =0x0a,     CLK_DIV_12 =0x0b,     CLK_DIV_13 =0x0c,     CLK_DIV_14 =0x0d,    CLK_DIV_15 =0x0e,    CLK_DIV_16 =0x0f};/*==================================================================================================                                 STRUCTURES AND OTHER TYPEDEFS==================================================================================================*//* SDHC register Set */typedef struct {    U32 sdhc_str_stp_clk;    U32 sdhc_status;    U32 sdhc_clk_rate;    U32 sdhc_cmd_dat_cont;    U32 sdhc_response_to;    U32 sdhc_read_to;    U32 sdhc_blk_len;    U32 sdhc_nob;    U32 sdhc_rev_no;    U32 sdhc_int_cntr;    U32 sdhc_cmd;    U32 sdhc_arg;    U32 sdhc_reserved;    U32 sdhc_res_fifo;    U32 sdhc_buffer_access;    U32 sdhc_remaining_nob;    U32 sdhc_remaining_blk_size;}sdhc_t, *psdhc_t;#endif

⌨️ 快捷键说明

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