summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/rtems/bsd/local/sdhci_if.h
blob: f8ee4fe44ee31b6fb7cb1eb305bcdcde82d45dac (plain) (blame)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
/*
 * This file is produced automatically.
 * Do not modify anything in here by hand.
 *
 * Created from source file
 *   freebsd-org/sys/dev/sdhci/sdhci_if.m
 * with
 *   makeobjops.awk
 *
 * See the source file for legal information
 */


#ifndef _sdhci_if_h_
#define _sdhci_if_h_

/** @brief Unique descriptor for the SDHCI_READ_1() method */
extern struct kobjop_desc sdhci_read_1_desc;
/** @brief A function implementing the SDHCI_READ_1() method */
typedef uint8_t sdhci_read_1_t(device_t brdev, struct sdhci_slot *slot,
                               bus_size_t off);

static __inline uint8_t SDHCI_READ_1(device_t brdev, struct sdhci_slot *slot,
                                     bus_size_t off)
{
	kobjop_t _m;
	uint8_t rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_read_1);
	rc = ((sdhci_read_1_t *) _m)(brdev, slot, off);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_READ_2() method */
extern struct kobjop_desc sdhci_read_2_desc;
/** @brief A function implementing the SDHCI_READ_2() method */
typedef uint16_t sdhci_read_2_t(device_t brdev, struct sdhci_slot *slot,
                                bus_size_t off);

static __inline uint16_t SDHCI_READ_2(device_t brdev, struct sdhci_slot *slot,
                                      bus_size_t off)
{
	kobjop_t _m;
	uint16_t rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_read_2);
	rc = ((sdhci_read_2_t *) _m)(brdev, slot, off);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_READ_4() method */
extern struct kobjop_desc sdhci_read_4_desc;
/** @brief A function implementing the SDHCI_READ_4() method */
typedef uint32_t sdhci_read_4_t(device_t brdev, struct sdhci_slot *slot,
                                bus_size_t off);

static __inline uint32_t SDHCI_READ_4(device_t brdev, struct sdhci_slot *slot,
                                      bus_size_t off)
{
	kobjop_t _m;
	uint32_t rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_read_4);
	rc = ((sdhci_read_4_t *) _m)(brdev, slot, off);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_READ_MULTI_4() method */
extern struct kobjop_desc sdhci_read_multi_4_desc;
/** @brief A function implementing the SDHCI_READ_MULTI_4() method */
typedef void sdhci_read_multi_4_t(device_t brdev, struct sdhci_slot *slot,
                                  bus_size_t off, uint32_t *data,
                                  bus_size_t count);

static __inline void SDHCI_READ_MULTI_4(device_t brdev, struct sdhci_slot *slot,
                                        bus_size_t off, uint32_t *data,
                                        bus_size_t count)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_read_multi_4);
	((sdhci_read_multi_4_t *) _m)(brdev, slot, off, data, count);
}

/** @brief Unique descriptor for the SDHCI_WRITE_1() method */
extern struct kobjop_desc sdhci_write_1_desc;
/** @brief A function implementing the SDHCI_WRITE_1() method */
typedef void sdhci_write_1_t(device_t brdev, struct sdhci_slot *slot,
                             bus_size_t off, uint8_t val);

static __inline void SDHCI_WRITE_1(device_t brdev, struct sdhci_slot *slot,
                                   bus_size_t off, uint8_t val)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_write_1);
	((sdhci_write_1_t *) _m)(brdev, slot, off, val);
}

/** @brief Unique descriptor for the SDHCI_WRITE_2() method */
extern struct kobjop_desc sdhci_write_2_desc;
/** @brief A function implementing the SDHCI_WRITE_2() method */
typedef void sdhci_write_2_t(device_t brdev, struct sdhci_slot *slot,
                             bus_size_t off, uint16_t val);

static __inline void SDHCI_WRITE_2(device_t brdev, struct sdhci_slot *slot,
                                   bus_size_t off, uint16_t val)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_write_2);
	((sdhci_write_2_t *) _m)(brdev, slot, off, val);
}

/** @brief Unique descriptor for the SDHCI_WRITE_4() method */
extern struct kobjop_desc sdhci_write_4_desc;
/** @brief A function implementing the SDHCI_WRITE_4() method */
typedef void sdhci_write_4_t(device_t brdev, struct sdhci_slot *slot,
                             bus_size_t off, uint32_t val);

static __inline void SDHCI_WRITE_4(device_t brdev, struct sdhci_slot *slot,
                                   bus_size_t off, uint32_t val)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_write_4);
	((sdhci_write_4_t *) _m)(brdev, slot, off, val);
}

/** @brief Unique descriptor for the SDHCI_WRITE_MULTI_4() method */
extern struct kobjop_desc sdhci_write_multi_4_desc;
/** @brief A function implementing the SDHCI_WRITE_MULTI_4() method */
typedef void sdhci_write_multi_4_t(device_t brdev, struct sdhci_slot *slot,
                                   bus_size_t off, uint32_t *data,
                                   bus_size_t count);

static __inline void SDHCI_WRITE_MULTI_4(device_t brdev,
                                         struct sdhci_slot *slot,
                                         bus_size_t off, uint32_t *data,
                                         bus_size_t count)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_write_multi_4);
	((sdhci_write_multi_4_t *) _m)(brdev, slot, off, data, count);
}

/** @brief Unique descriptor for the SDHCI_PLATFORM_WILL_HANDLE() method */
extern struct kobjop_desc sdhci_platform_will_handle_desc;
/** @brief A function implementing the SDHCI_PLATFORM_WILL_HANDLE() method */
typedef int sdhci_platform_will_handle_t(device_t brdev,
                                         struct sdhci_slot *slot);

static __inline int SDHCI_PLATFORM_WILL_HANDLE(device_t brdev,
                                               struct sdhci_slot *slot)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_platform_will_handle);
	rc = ((sdhci_platform_will_handle_t *) _m)(brdev, slot);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_PLATFORM_START_TRANSFER() method */
extern struct kobjop_desc sdhci_platform_start_transfer_desc;
/** @brief A function implementing the SDHCI_PLATFORM_START_TRANSFER() method */
typedef void sdhci_platform_start_transfer_t(device_t brdev,
                                             struct sdhci_slot *slot,
                                             uint32_t *intmask);

static __inline void SDHCI_PLATFORM_START_TRANSFER(device_t brdev,
                                                   struct sdhci_slot *slot,
                                                   uint32_t *intmask)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_platform_start_transfer);
	((sdhci_platform_start_transfer_t *) _m)(brdev, slot, intmask);
}

/** @brief Unique descriptor for the SDHCI_PLATFORM_FINISH_TRANSFER() method */
extern struct kobjop_desc sdhci_platform_finish_transfer_desc;
/** @brief A function implementing the SDHCI_PLATFORM_FINISH_TRANSFER() method */
typedef void sdhci_platform_finish_transfer_t(device_t brdev,
                                              struct sdhci_slot *slot);

static __inline void SDHCI_PLATFORM_FINISH_TRANSFER(device_t brdev,
                                                    struct sdhci_slot *slot)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_platform_finish_transfer);
	((sdhci_platform_finish_transfer_t *) _m)(brdev, slot);
}

/** @brief Unique descriptor for the SDHCI_MIN_FREQ() method */
extern struct kobjop_desc sdhci_min_freq_desc;
/** @brief A function implementing the SDHCI_MIN_FREQ() method */
typedef uint32_t sdhci_min_freq_t(device_t brdev, struct sdhci_slot *slot);

static __inline uint32_t SDHCI_MIN_FREQ(device_t brdev, struct sdhci_slot *slot)
{
	kobjop_t _m;
	uint32_t rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_min_freq);
	rc = ((sdhci_min_freq_t *) _m)(brdev, slot);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_GET_CARD_PRESENT() method */
extern struct kobjop_desc sdhci_get_card_present_desc;
/** @brief A function implementing the SDHCI_GET_CARD_PRESENT() method */
typedef bool sdhci_get_card_present_t(device_t brdev, struct sdhci_slot *slot);

static __inline bool SDHCI_GET_CARD_PRESENT(device_t brdev,
                                            struct sdhci_slot *slot)
{
	kobjop_t _m;
	bool rc;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_get_card_present);
	rc = ((sdhci_get_card_present_t *) _m)(brdev, slot);
	return (rc);
}

/** @brief Unique descriptor for the SDHCI_SET_UHS_TIMING() method */
extern struct kobjop_desc sdhci_set_uhs_timing_desc;
/** @brief A function implementing the SDHCI_SET_UHS_TIMING() method */
typedef void sdhci_set_uhs_timing_t(device_t brdev, struct sdhci_slot *slot);

static __inline void SDHCI_SET_UHS_TIMING(device_t brdev,
                                          struct sdhci_slot *slot)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)brdev)->ops,sdhci_set_uhs_timing);
	((sdhci_set_uhs_timing_t *) _m)(brdev, slot);
}

#endif /* _sdhci_if_h_ */