]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/sdio/sdio_if.m
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / sys / dev / sdio / sdio_if.m
1 #-
2 # Copyright (c) 2019 The FreeBSD Foundation
3 #
4 # Portions of this software were developed by Björn Zeeb
5 # under sponsorship from the FreeBSD Foundation.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 # 1. Redistributions of source code must retain the above copyright
11 #    notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 #    notice, this list of conditions and the following disclaimer in the
14 #    documentation and/or other materials provided with the distribution.
15 #
16 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #
27 # $FreeBSD$
28 #
29
30 #include <sys/bus.h>
31 #include <machine/bus.h>
32
33 INTERFACE sdio;
34
35 #
36 # READ DIRECT (1byte)
37 #
38 METHOD int read_direct {
39         device_t dev;
40         uint8_t fn;
41         uint32_t addr;
42         uint8_t *val;
43 };
44
45 #
46 # WRITE DIRECT (1byte)
47 #
48 METHOD int write_direct {
49         device_t dev;
50         uint8_t fn;
51         uint32_t addr;
52         uint8_t val;
53 };
54
55 #
56 # READ EXTENDED
57 #
58 METHOD int read_extended {
59         device_t dev;
60         uint8_t fn;
61         uint32_t addr;
62         uint32_t size;
63         uint8_t *buffer;
64         bool incaddr;
65 };
66
67 #
68 # WRITE EXTENDED
69 #
70 METHOD int write_extended {
71         device_t dev;
72         uint8_t fn;
73         uint32_t addr;
74         uint32_t size;
75         uint8_t *buffer;
76         bool incaddr;
77 };
78
79 # end