sd_switch.h
1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef _SD_SWITCH_H
#define _SD_SWITCH_H
#if 1
//SD detect
#define SD1_DETECT_PIN (GPIO0_00_INDEX)
#define SD1_DETECT app_gpio_input_level_read(SD1_DETECT_PIN)//GPIO0_READ(SD1_DETECT_PIN)
#else
#define SD1_DETECT_PIN GPIO2_11_INDEX
#define SD1_DETECT app_gpio_input_level_read(SD1_DETECT_PIN)//GPIO0_READ(SD1_DETECT_PIN)
#endif
//#define SD2_DETECT_PIN GPIO18_MASK
//#define SD2_DETECT GPIO0_READ(SD2_DETECT_PIN)
enum {
enSD_PLUG_UNKNOWN,
enSD_PLUG_IN,
enSD_PLUG_OUT
};
enum {
enSD_WR_PROTECT_UNKNOWN,
enSD_WR_PROTECT,
enSD_WR_PROTECT_NONE
};
typedef enum _sdmmc_switch
{
SDMMC_CHANNEL_1,
SDMMC_CHANNEL_2,
SDMMC_CHANNEL_3
} sdmmc_switch_t;
extern volatile U8 sdmmcReady;
extern U8 sd1_state;
extern U8 sd2_state;
extern U8 sd3_state;
void SD_Switch_Init(void);
void SD_Switch_Setting(U8 channel);
void SD_Detect_Init(void);
void SDMMC_Switch_GPIO_Test(void);
void SDMMC_Detect_GPIO_Test(void);
U8 SD_Card1_Detect(void);
U8 SD_Card2_Detect(void);
U8 SD_Card3_Detect(void);
U8 SD_WR_Protect_Get(void);
#endif //_SD_SWITCH_H