summaryrefslogtreecommitdiff
path: root/bsp/allwinner/libraries/drivers/sdmmc/drv_sdmmc.h
blob: bd90196a4b77208ce481d22c9338c066d0881716 (plain)
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
/*
 * Copyright (c) 2006-2022, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-11-11     JasonHu      first version
 */

#ifndef DRV_SDMMC_H__
#define DRV_SDMMC_H__

#include <rtdef.h>
#include <rtdevice.h>

#define SDMMC_CARD_NR 2

#define SDMMC_DEV_NAME_DEF "sdmmc0"

struct dev_sdmmc
{
    int host_id;                            /* host id for each card device */
    struct rt_device_blk_geometry geometry; /* block geometry */
};

void sd_mmc1_init(void);
void sd_mmc1_deinit(void);

#ifdef RT_USING_DEVICE_OPS
#define rt_dev_has_control(dev)         (dev)->ops->control
#define rt_dev_control(dev, cmd, args) (dev)->ops->control(dev, cmd, args)
#define rt_dev_read(dev, pos, buffer, size) (dev)->ops->read(dev, pos, buffer, size)
#define rt_dev_write(dev, pos, buffer, size) (dev)->ops->write(dev, pos, buffer, size)

#else
#define rt_dev_has_control(dev)         (dev)->control
#define rt_dev_control(dev, cmd, args) (dev)->control(dev, cmd, args)
#define rt_dev_read(dev, pos, buffer, size) (dev)->read(dev, pos, buffer, size)
#define rt_dev_write(dev, pos, buffer, size) (dev)->write(dev, pos, buffer, size)

#endif

#endif