Home | History | Annotate | Line # | Download | only in sdmmc
sdhcvar.h revision 1.8.2.1
      1  1.8.2.1     tls /*	$NetBSD: sdhcvar.h,v 1.8.2.1 2012/11/20 03:02:33 tls Exp $	*/
      2      1.1  nonaka /*	$OpenBSD: sdhcvar.h,v 1.3 2007/09/06 08:01:01 jsg Exp $	*/
      3      1.1  nonaka 
      4      1.1  nonaka /*
      5      1.1  nonaka  * Copyright (c) 2006 Uwe Stuehler <uwe (at) openbsd.org>
      6      1.1  nonaka  *
      7      1.1  nonaka  * Permission to use, copy, modify, and distribute this software for any
      8      1.1  nonaka  * purpose with or without fee is hereby granted, provided that the above
      9      1.1  nonaka  * copyright notice and this permission notice appear in all copies.
     10      1.1  nonaka  *
     11      1.1  nonaka  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     12      1.1  nonaka  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     13      1.1  nonaka  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     14      1.1  nonaka  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     15      1.1  nonaka  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     16      1.1  nonaka  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     17      1.1  nonaka  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     18      1.1  nonaka  */
     19      1.1  nonaka 
     20      1.1  nonaka #ifndef _SDHCVAR_H_
     21      1.1  nonaka #define _SDHCVAR_H_
     22      1.1  nonaka 
     23      1.1  nonaka #include <sys/bus.h>
     24      1.1  nonaka #include <sys/device.h>
     25      1.1  nonaka #include <sys/pmf.h>
     26      1.1  nonaka 
     27      1.1  nonaka struct sdhc_host;
     28      1.1  nonaka 
     29      1.1  nonaka struct sdhc_softc {
     30      1.1  nonaka 	device_t		sc_dev;
     31      1.1  nonaka 
     32      1.1  nonaka 	struct sdhc_host	**sc_host;
     33      1.1  nonaka 	int			sc_nhosts;
     34      1.1  nonaka 
     35      1.1  nonaka 	bus_dma_tag_t		sc_dmat;
     36      1.1  nonaka 
     37      1.1  nonaka 	uint32_t		sc_flags;
     38      1.1  nonaka #define	SDHC_FLAG_USE_DMA	0x0001
     39      1.1  nonaka #define	SDHC_FLAG_FORCE_DMA	0x0002
     40      1.6    matt #define	SDHC_FLAG_NO_PWR0	0x0004	/* Freescale ESDHC */
     41      1.6    matt #define	SDHC_FLAG_HAVE_DVS	0x0008	/* Freescale ESDHC */
     42      1.6    matt #define	SDHC_FLAG_32BIT_ACCESS	0x0010	/* Freescale ESDHC */
     43      1.6    matt #define	SDHC_FLAG_ENHANCED	0x0020	/* Freescale ESDHC */
     44      1.6    matt #define	SDHC_FLAG_8BIT_MODE	0x0040	/* MMC 8bit mode is supported */
     45      1.6    matt #define	SDHC_FLAG_HAVE_CGM	0x0080	/* Netlogic XLP */
     46      1.7    matt #define	SDHC_FLAG_NO_LED_ON	0x0100	/* LED_ON unsupported in HOST_CTL */
     47      1.8   skrll #define	SDHC_FLAG_HOSTCAPS	0x0200	/* No device provided capabilities */
     48  1.8.2.1     tls #define	SDHC_FLAG_RSP136_CRC	0x0400	/* Resp 136 with CRC and end-bit */
     49  1.8.2.1     tls #define	SDHC_FLAG_SINGLE_ONLY	0x0800	/* Single transfer only */
     50      1.8   skrll 
     51      1.5    matt 	uint32_t		sc_clkbase;
     52  1.8.2.1     tls 	int			sc_clkmsk;	/* Mask for SDCLK */
     53      1.8   skrll 	uint32_t		sc_caps;/* attachment provided capabilities */
     54  1.8.2.1     tls 
     55  1.8.2.1     tls 	int (*sc_vendor_rod)(struct sdhc_softc *, int);
     56  1.8.2.1     tls 	int (*sc_vendor_write_protect)(struct sdhc_softc *);
     57  1.8.2.1     tls 	int (*sc_vendor_card_detect)(struct sdhc_softc *);
     58      1.1  nonaka };
     59      1.1  nonaka 
     60      1.1  nonaka /* Host controller functions called by the attachment driver. */
     61      1.1  nonaka int	sdhc_host_found(struct sdhc_softc *, bus_space_tag_t,
     62      1.1  nonaka 	    bus_space_handle_t, bus_size_t);
     63      1.1  nonaka int	sdhc_intr(void *);
     64      1.4  nonaka int	sdhc_detach(device_t, int);
     65      1.4  nonaka bool	sdhc_suspend(device_t, const pmf_qual_t *);
     66      1.4  nonaka bool	sdhc_resume(device_t, const pmf_qual_t *);
     67      1.4  nonaka bool	sdhc_shutdown(device_t, int);
     68      1.1  nonaka 
     69      1.1  nonaka #endif	/* _SDHCVAR_H_ */
     70