Developer World
Spresense SDK Library v3.2.0-ebc0364
cxd56_sdcard.h
1/****************************************************************************
2 * boards/arm/cxd56xx/spresense/include/cxd56_sdcard.h
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership. The
7 * ASF licenses this file to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance with the
9 * License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16 * License for the specific language governing permissions and limitations
17 * under the License.
18 *
19 ****************************************************************************/
20
21#ifndef __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_SDCARD_H
22#define __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_SDCARD_H
23
24/****************************************************************************
25 * Included Files
26 ****************************************************************************/
27
28#include <nuttx/config.h>
29#include <stdint.h>
30
31/****************************************************************************
32 * Public Types
33 ****************************************************************************/
34
35#ifndef __ASSEMBLY__
36
37/****************************************************************************
38 * Public Data
39 ****************************************************************************/
40
41#undef EXTERN
42#if defined(__cplusplus)
43#define EXTERN extern "C"
44extern "C"
45{
46#else
47#define EXTERN extern
48#endif
49
50/****************************************************************************
51 * Public Function Prototypes
52 ****************************************************************************/
53
54/****************************************************************************
55 * Name: board_sdcard_initialize
56 *
57 * Description:
58 * Initialize SD Card on the board.
59 *
60 ****************************************************************************/
61
62int board_sdcard_initialize(void);
63
64/****************************************************************************
65 * Name: board_sdcard_pin_initialize
66 *
67 * Description:
68 * Initialize SD Card pins on the board.
69 *
70 ****************************************************************************/
71
72void board_sdcard_pin_initialize(void);
73
74/****************************************************************************
75 * Name: board_sdcard_pin_finalize
76 *
77 * Description:
78 * Finalize SD Card pins on the board.
79 *
80 ****************************************************************************/
81
82void board_sdcard_pin_finalize(void);
83
84/****************************************************************************
85 * Name: board_sdcard_pin_configuraton
86 *
87 * Description:
88 * Configure SD Card pins on the board.
89 *
90 ****************************************************************************/
91
92void board_sdcard_pin_configuraton(void);
93
94/****************************************************************************
95 * Name: board_sdcard_pin_enable
96 *
97 * Description:
98 * Enable SD Card pins on the board.
99 *
100 ****************************************************************************/
101
102void board_sdcard_pin_enable(void);
103
104/****************************************************************************
105 * Name: board_sdcard_pin_disable
106 *
107 * Description:
108 * Disable SD Card pins on the board.
109 *
110 ****************************************************************************/
111
112void board_sdcard_pin_disable(void);
113
114/****************************************************************************
115 * Name: board_sdcard_set_high_voltage
116 *
117 * Description:
118 * Set SD Card IO voltage to 3.3V
119 *
120 ****************************************************************************/
121
122void board_sdcard_set_high_voltage(void);
123
124/****************************************************************************
125 * Name: board_sdcard_set_low_voltage
126 *
127 * Description:
128 * Set SD Card IO voltage to 1.8V
129 *
130 ****************************************************************************/
131
132void board_sdcard_set_low_voltage(void);
133
134/****************************************************************************
135 * Name: board_sdcard_inserted
136 *
137 * Description:
138 * Check if a card is inserted into the selected SD Card slot
139 *
140 ****************************************************************************/
141
142#ifdef CONFIG_MMCSD_HAVE_CARDDETECT
143bool board_sdcard_inserted(int slotno);
144#else
145# define board_sdcard_inserted(slotno) true
146#endif
147
148#undef EXTERN
149#if defined(__cplusplus)
150}
151#endif
152
153#endif /* __ASSEMBLY__ */
154#endif /* __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_SDCARD_H */