1 /* 2 * Copyright (C) 2017 ALLWINNERTECH TECHNOLOGY CO., LTD. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the 12 * distribution. 13 * 3. Neither the name of ALLWINNERTECH TECHNOLOGY CO., LTD. nor the names of 14 * its contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 */ 29 30 #ifndef _ROM_DRIVER_CHIP_SDMMC__SDIO_H_ 31 #define _ROM_DRIVER_CHIP_SDMMC__SDIO_H_ 32 33 #include "_core.h" 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 /* 40 * Standard SDIO Function Interfaces 41 */ 42 43 #define SDIO_CLASS_NONE 0x00 /* Not a SDIO standard interface */ 44 #define SDIO_CLASS_UART 0x01 /* standard UART interface */ 45 #define SDIO_CLASS_BT_A 0x02 /* Type-A BlueTooth std interface */ 46 #define SDIO_CLASS_BT_B 0x03 /* Type-B BlueTooth std interface */ 47 #define SDIO_CLASS_GPS 0x04 /* GPS standard interface */ 48 #define SDIO_CLASS_CAMERA 0x05 /* Camera standard interface */ 49 #define SDIO_CLASS_PHS 0x06 /* PHS standard interface */ 50 #define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ 51 #define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ 52 #define SDIO_CLASS_BT_AMP 0x09 /* Type-A Bluetooth AMP interface */ 53 54 extern uint32_t mmc_sdio_get_max_clock(struct mmc_card *card); 55 extern uint32_t sdio_reset(struct mmc_host *host); 56 extern int mmc_attach_sdio(struct mmc_card *card, struct mmc_host *host); 57 extern void mmc_deattach_sdio(struct mmc_card *card, struct mmc_host *host); 58 59 #ifdef __cplusplus 60 } 61 #endif 62 63 #endif /* _ROM_DRIVER_CHIP_SDMMC__SDIO_H_ */ 64