/***************************************************************************** * Copyright Statement: * -------------------- * This software is protected by Copyright and the information contained * herein is confidential. The software may not be copied and the information * contained herein may not be used or disclosed except with the written * permission of MediaTek Inc. (C) 2010 * * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. * * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. * * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). * *****************************************************************************/ #ifndef CUST_MSDC_H #define CUST_MSDC_H #include "msdc_cfg.h" #if (defined(MMC_MSDC_DRV_CTP) && !defined(FPGA_PLATFORM)) #define MSDC_MAX_NUM (4) #else #define MSDC_MAX_NUM (1) #endif #define MSDC_CD_PIN_EN (1 << 0) /* card detection pin is wired */ #define MSDC_WP_PIN_EN (1 << 1) /* write protection pin is wired */ #define MSDC_RST_PIN_EN (1 << 2) /* emmc reset pin is wired */ #define MSDC_SDIO_IRQ (1 << 3) /* use internal sdio irq (bus) */ #define MSDC_EXT_SDIO_IRQ (1 << 4) /* use external sdio irq */ #define MSDC_REMOVABLE (1 << 5) /* removable slot */ #define MSDC_SYS_SUSPEND (1 << 6) /* suspended by system */ #define MSDC_HIGHSPEED (1 << 7) /* high-speed mode support */ #define MSDC_UHS1 (1 << 8) /* uhs-1 mode support */ #define MSDC_DDR (1 << 9) /* ddr mode support */ #define MSDC_HS200 (1 << 10) /* hs200 mode support(eMMC4.5) */ #define MSDC_HS400 (1 << 11) /* hs200 mode support(eMMC5.0) */ #define MSDC_SMPL_RISING (0) #define MSDC_SMPL_FALLING (1) #define MSDC_SMPL_SEPERATE (2) struct msdc_cust { unsigned char clk_src; /* host clock source */ unsigned char cmd_edge; /* command latch edge */ unsigned char data_edge; /* data latch edge */ unsigned char clk_drv; /* clock pad driving */ unsigned char cmd_drv; /* command pad driving */ unsigned char dat_drv; /* data pad driving */ unsigned char rst_drv; /* reset pin pad driving */ unsigned char ds_drv; /* ds pad driving */ unsigned char clk_18v_drv; /* clock pad driving */ unsigned char cmd_18v_drv; /* command pad driving on 1.8V */ unsigned char dat_18v_drv; /* data pad driving on 1.8V */ unsigned char data_pins; /* data pins on 1.8V */ unsigned int data_offset; /* data address offset */ unsigned int flags; /* hardware capability flags */ }; extern struct msdc_cust msdc_cap[MSDC_MAX_NUM]; #endif /* end of _MSDC_CUST_H_ */