SmartAudio/lichee/linux-4.9/drivers/soc/sunxi/pm/standby/standby_arisc.h

53 lines
1.5 KiB
C
Raw Normal View History

2018-12-13 10:48:25 +00:00
/*
* arch/arm/mach-sun6i/pm/standby/standby_arisc.h
*
* Copyright 2012 (c) Allwinner.
* sunny (sunny@allwinnertech.com)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
*/
#ifndef __ASM_ARCH_STANDBY_A100_H
#define __ASM_ARCH_STANDBY_A100_H
//the sync mode between arisc and ac327
#define STANDBY_ARISC_SYNC (1<<1)
#define STANDBY_ARISC_ASYNC (1<<2)
int standby_arisc_init(void);
int standby_arisc_exit(void);
/*
* notify arisc to wakeup: restore cpus freq, volt, and init_dram.
* para: mode.
* STANDBY_ARISC_SYNC:
* STANDBY_ARISC_ASYNC:
* return: result, 0 - notify successed, !0 - notify failed;
*/
int standby_arisc_notify_restore(unsigned long mode);
/*
* check arisc restore status.
* para: none.
* return: result, 0 - restore completion successed, !0 - notify failed;
*/
int standby_arisc_check_restore_status(void);
/*
* query standby wakeup source.
* para: point of buffer to store wakeup event informations.
* return: result, 0 - query successed, !0 - query failed;
*/
int standby_arisc_query_wakeup_src(unsigned long *event);
/*
* enter normal standby.
* para: parameter for enter normal standby.
* return: result, 0 - normal standby successed, !0 - normal standby failed;
*/
int standby_arisc_standby_normal(struct normal_standby_para *para);
#endif //__ASM_ARCH_STANDBY_A100_H