Home | History | Annotate | Line # | Download | only in gemini
gemini_lpcvar.h revision 1.1
      1  1.1  cliff /*	$NetBSD: gemini_lpcvar.h,v 1.1 2008/11/09 09:15:42 cliff Exp $	*/
      2  1.1  cliff 
      3  1.1  cliff #ifndef _ARM_GEMINI_LPCVAR_H
      4  1.1  cliff #define _ARM_GEMINI_LPCVAR_H
      5  1.1  cliff 
      6  1.1  cliff #include <sys/types.h>
      7  1.1  cliff #include <sys/device.h>
      8  1.1  cliff #include <machine/bus.h>
      9  1.1  cliff 
     10  1.1  cliff #define GEMINI_LPC_LDN_ALL	-1	/* "global" LDN */
     11  1.1  cliff 
     12  1.1  cliff typedef void * lpctag_t;
     13  1.1  cliff typedef void * lpcintrtag_t;
     14  1.1  cliff 
     15  1.1  cliff typedef struct gemini_lpc_bus_ops {
     16  1.1  cliff 	uint8_t	(*lpc_pnp_read)(lpctag_t, int, uint);
     17  1.1  cliff 	void	(*lpc_pnp_write)(lpctag_t, int, uint, uint8_t);
     18  1.1  cliff 	void	(*lpc_pnp_enter)(lpctag_t);
     19  1.1  cliff 	void	(*lpc_pnp_exit)(lpctag_t);
     20  1.1  cliff 	void   *(*lpc_intr_establish)(lpcintrtag_t,
     21  1.1  cliff 			uint, int, int, int (*)(void *), void *);
     22  1.1  cliff 	void	(*lpc_intr_diestablish)(lpcintrtag_t, void *);
     23  1.1  cliff } gemini_lpc_bus_ops_t;
     24  1.1  cliff 
     25  1.1  cliff typedef struct gemini_lpc_attach_args {
     26  1.1  cliff         void	       *lpc_intrtag;
     27  1.1  cliff         void	       *lpc_tag;
     28  1.1  cliff 	uint		lpc_ldn;
     29  1.1  cliff 	bus_addr_t	lpc_base;
     30  1.1  cliff 	bus_addr_t	lpc_addr;
     31  1.1  cliff 	bus_size_t	lpc_size;
     32  1.1  cliff         uint		lpc_intr;
     33  1.1  cliff         bus_space_tag_t	lpc_iot;
     34  1.1  cliff 	gemini_lpc_bus_ops_t *lpc_bus_ops;
     35  1.1  cliff } gemini_lpc_attach_args_t;
     36  1.1  cliff 
     37  1.1  cliff typedef struct gemini_lpc_softc {
     38  1.1  cliff 	struct device		sc_dev;
     39  1.1  cliff 	bus_addr_t		sc_addr;
     40  1.1  cliff 	bus_size_t		sc_size;
     41  1.1  cliff 	int			sc_intr;
     42  1.1  cliff 	bus_space_tag_t		sc_iot;
     43  1.1  cliff 	bus_space_handle_t	sc_ioh;
     44  1.1  cliff 	void		       *sc_lpchctag;
     45  1.1  cliff } gemini_lpc_softc_t;
     46  1.1  cliff 
     47  1.1  cliff 
     48  1.1  cliff /* la_flags */
     49  1.1  cliff #define LPC_FL_ENABLED    0x01            /* device is enabled */
     50  1.1  cliff 
     51  1.1  cliff 
     52  1.1  cliff 
     53  1.1  cliff #endif	/* _ARM_GEMINI_LPCVAR_H */
     54