xref: /netbsd-src/sys/arch/arm/gemini/gemini_lpchcvar.h (revision cf10107d5d3746e98e37d403b996f1965f67f255)
1*cf10107dSdyoung /*	$NetBSD: gemini_lpchcvar.h,v 1.4 2011/07/01 19:32:28 dyoung Exp $	*/
22842dccfScliff 
32842dccfScliff #ifndef  _ARM_GEMINI_LPHCVAR_H
42842dccfScliff #define  _ARM_GEMINI_LPHCVAR_H
52842dccfScliff 
62842dccfScliff #include <sys/types.h>
72842dccfScliff #include <sys/device.h>
8*cf10107dSdyoung #include <sys/bus.h>
92842dccfScliff #include <arch/arm/gemini/gemini_lpcvar.h>
102842dccfScliff 
112842dccfScliff 
122842dccfScliff typedef struct gemini_lpchc_attach_args {
132842dccfScliff 	void	       *lpchc_tag;
142842dccfScliff         bus_space_tag_t lpchc_iot;
152842dccfScliff         bus_addr_t      lpchc_addr;
162842dccfScliff         bus_size_t      lpchc_size;
172842dccfScliff } gemini_lpchc_attach_args_t;
182842dccfScliff 
192842dccfScliff typedef struct gemini_lpchc_intrq {
202842dccfScliff 	SIMPLEQ_ENTRY(gemini_lpchc_intrq) iq_q;
212842dccfScliff 	int (*iq_func)(void *);
222842dccfScliff 	void *iq_arg;
232842dccfScliff 	uint32_t iq_bit;
242842dccfScliff 	boolean_t iq_isedge;
252842dccfScliff } gemini_lpchc_intrq_t;
262842dccfScliff 
272842dccfScliff typedef struct gemini_lpchc_softc {
28c20cc9bcScliff 	device_t sc_dev;
292842dccfScliff 	bus_addr_t sc_addr;
302842dccfScliff 	bus_size_t sc_size;
312842dccfScliff 	bus_space_tag_t sc_iot;
322842dccfScliff 	bus_space_handle_t sc_ioh;
332842dccfScliff 	int sc_intr;
342842dccfScliff 	void *sc_ih;
352842dccfScliff 	SIMPLEQ_HEAD(, gemini_lpchc_intrq) sc_intrq;
362842dccfScliff } gemini_lpchc_softc_t;
372842dccfScliff 
38e08eff94Scliff extern void gemini_lpchc_init(lpcintrtag_t);
39e08eff94Scliff extern void *gemini_lpchc_intr_establish(lpcintrtag_t, uint, int, int,
402842dccfScliff         int (*)(void *), void *);
41e08eff94Scliff extern void gemini_lpchc_intr_disestablish(lpcintrtag_t, void *);
42e08eff94Scliff extern int  gemini_lpchc_intr(void *);
432842dccfScliff 
442842dccfScliff 
452842dccfScliff 
462842dccfScliff #endif  /* _ARM_GEMINI_LPHCVAR_H */
47