Home | History | Annotate | Line # | Download | only in xscale
pxa2x0_apm.h revision 1.2.12.1
      1  1.2.12.1     tls /*	$NetBSD: pxa2x0_apm.h,v 1.2.12.1 2012/11/20 03:01:08 tls Exp $	*/
      2       1.1    ober /*	$OpenBSD: pxa2x0_apm.h,v 1.7 2005/04/13 05:40:07 uwe Exp $	*/
      3       1.1    ober 
      4       1.1    ober /*
      5       1.1    ober  * Copyright (c) 2005 Uwe Stuehler <uwe (at) bsdx.de>
      6       1.1    ober  *
      7       1.1    ober  * Permission to use, copy, modify, and distribute this software for any
      8       1.1    ober  * purpose with or without fee is hereby granted, provided that the above
      9       1.1    ober  * copyright notice and this permission notice appear in all copies.
     10       1.1    ober  *
     11       1.1    ober  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     12       1.1    ober  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     13       1.1    ober  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     14       1.1    ober  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     15       1.1    ober  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     16       1.1    ober  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     17       1.1    ober  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     18       1.1    ober  */
     19       1.1    ober 
     20       1.1    ober #ifndef _PXA2X0_APM_H_
     21       1.1    ober #define _PXA2X0_APM_H_
     22       1.1    ober 
     23       1.1    ober #include <sys/event.h>
     24       1.1    ober 
     25       1.2  dyoung #include <sys/bus.h>
     26       1.1    ober #include <machine/apmvar.h>
     27       1.1    ober 
     28       1.1    ober struct pxa2x0_apm_softc {
     29  1.2.12.1     tls 	device_t sc_dev;
     30       1.1    ober 	struct	proc *sc_thread;
     31       1.1    ober 	kmutex_t sc_lock;
     32       1.1    ober 	struct	klist sc_note;
     33       1.1    ober 	int	sc_flags;
     34       1.1    ober 	int	sc_wakeon;	/* enabled wakeup sources */
     35       1.1    ober 	int	sc_batt_life;
     36       1.1    ober 	bus_space_tag_t sc_iot;
     37       1.1    ober 	bus_space_handle_t sc_pm_ioh;
     38       1.1    ober 	bus_space_handle_t sc_memctl_ioh;
     39       1.1    ober 	int	(*sc_get_event)(struct pxa2x0_apm_softc *, u_int *);
     40       1.1    ober 	void	(*sc_power_info)(struct pxa2x0_apm_softc *,
     41       1.1    ober 	    struct apm_power_info *);
     42       1.1    ober 	void	(*sc_suspend)(struct pxa2x0_apm_softc *);
     43       1.1    ober 	int	(*sc_resume)(struct pxa2x0_apm_softc *);
     44       1.1    ober };
     45       1.1    ober 
     46       1.1    ober void	pxa2x0_apm_attach_sub(struct pxa2x0_apm_softc *);
     47       1.1    ober void	pxa2x0_apm_sleep(struct pxa2x0_apm_softc *);
     48       1.1    ober 
     49       1.1    ober #define PXA2X0_WAKEUP_POWERON	(1<<0)
     50       1.1    ober #define PXA2X0_WAKEUP_GPIORST	(1<<1)
     51       1.1    ober #define PXA2X0_WAKEUP_SD	(1<<2)
     52       1.1    ober #define PXA2X0_WAKEUP_RC	(1<<3)
     53       1.1    ober #define PXA2X0_WAKEUP_SYNC	(1<<4)
     54       1.1    ober #define PXA2X0_WAKEUP_KEYNS0	(1<<5)
     55       1.1    ober #define PXA2X0_WAKEUP_KEYNS1	(1<<6)
     56       1.1    ober #define PXA2X0_WAKEUP_KEYNS2	(1<<7)
     57       1.1    ober #define PXA2X0_WAKEUP_KEYNS3	(1<<8)
     58       1.1    ober #define PXA2X0_WAKEUP_KEYNS4	(1<<9)
     59       1.1    ober #define PXA2X0_WAKEUP_KEYNS5	(1<<10)
     60       1.1    ober #define PXA2X0_WAKEUP_KEYNS6	(1<<11)
     61       1.1    ober #define PXA2X0_WAKEUP_CF0	(1<<12)
     62       1.1    ober #define PXA2X0_WAKEUP_CF1	(1<<13)
     63       1.1    ober #define PXA2X0_WAKEUP_USBD	(1<<14)
     64       1.1    ober #define PXA2X0_WAKEUP_LOCKSW	(1<<15)
     65       1.1    ober #define PXA2X0_WAKEUP_JACKIN	(1<<16)
     66       1.1    ober #define PXA2X0_WAKEUP_CHRGFULL	(1<<17)
     67       1.1    ober #define PXA2X0_WAKEUP_RTC	(1<<18)
     68       1.1    ober 
     69       1.1    ober #define PXA2X0_WAKEUP_KEYNS_ALL	(PXA2X0_WAKEUP_KEYNS0|			\
     70       1.1    ober     PXA2X0_WAKEUP_KEYNS1|PXA2X0_WAKEUP_KEYNS2|PXA2X0_WAKEUP_KEYNS3|	\
     71       1.1    ober     PXA2X0_WAKEUP_KEYNS4|PXA2X0_WAKEUP_KEYNS5|PXA2X0_WAKEUP_KEYNS6)
     72       1.1    ober 
     73       1.1    ober #define PXA2X0_WAKEUP_CF_ALL	(PXA2X0_WAKEUP_CF0|PXA2X0_WAKEUP_CF1)
     74       1.1    ober 
     75       1.1    ober #define PXA2X0_WAKEUP_ALL	(PXA2X0_WAKEUP_POWERON|			\
     76       1.1    ober     PXA2X0_WAKEUP_GPIORST|PXA2X0_WAKEUP_SD|PXA2X0_WAKEUP_RC|		\
     77       1.1    ober     PXA2X0_WAKEUP_SYNC|PXA2X0_WAKEUP_KEYNS_ALL|PXA2X0_WAKEUP_CF_ALL|	\
     78       1.1    ober     PXA2X0_WAKEUP_USBD|PXA2X0_WAKEUP_LOCKSW|PXA2X0_WAKEUP_JACKIN|	\
     79       1.1    ober     PXA2X0_WAKEUP_CHRGFULL|PXA2X0_WAKEUP_RTC)
     80       1.1    ober 
     81       1.1    ober void	pxa2x0_wakeup_config(u_int, int);
     82       1.1    ober u_int	pxa2x0_wakeup_status(void);
     83       1.1    ober 
     84       1.1    ober #endif
     85