xref: /netbsd-src/sys/dev/sdmmc/sdhcvar.h (revision c2f76ff004a2cb67efe5b12d97bd3ef7fe89e18d)
1 /*	$NetBSD: sdhcvar.h,v 1.4 2010/03/27 03:04:52 nonaka Exp $	*/
2 /*	$OpenBSD: sdhcvar.h,v 1.3 2007/09/06 08:01:01 jsg Exp $	*/
3 
4 /*
5  * Copyright (c) 2006 Uwe Stuehler <uwe@openbsd.org>
6  *
7  * Permission to use, copy, modify, and distribute this software for any
8  * purpose with or without fee is hereby granted, provided that the above
9  * copyright notice and this permission notice appear in all copies.
10  *
11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 #ifndef _SDHCVAR_H_
21 #define _SDHCVAR_H_
22 
23 #include <sys/bus.h>
24 #include <sys/device.h>
25 #include <sys/pmf.h>
26 
27 struct sdhc_host;
28 
29 struct sdhc_softc {
30 	device_t		sc_dev;
31 
32 	struct sdhc_host	**sc_host;
33 	int			sc_nhosts;
34 
35 	bus_dma_tag_t		sc_dmat;
36 
37 	uint32_t		sc_flags;
38 #define	SDHC_FLAG_USE_DMA	0x0001
39 #define	SDHC_FLAG_FORCE_DMA	0x0002
40 #define	SDHC_FLAG_NO_PWR0	0x0004
41 };
42 
43 /* Host controller functions called by the attachment driver. */
44 int	sdhc_host_found(struct sdhc_softc *, bus_space_tag_t,
45 	    bus_space_handle_t, bus_size_t);
46 int	sdhc_intr(void *);
47 int	sdhc_detach(device_t, int);
48 bool	sdhc_suspend(device_t, const pmf_qual_t *);
49 bool	sdhc_resume(device_t, const pmf_qual_t *);
50 bool	sdhc_shutdown(device_t, int);
51 
52 #endif	/* _SDHCVAR_H_ */
53