cust_msdc.h 4.4 KB

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