/* * TI Wakeup M3 for AMx3 SoCs Power Management Routines * * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ * Dave Gerlach <d-gerlach@ti.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 version 2. * * This program is distributed "as is" WITHOUT ANY WARRANTY of any * kind, whether express or implied; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _LINUX_WKUP_M3_IPC_H #define _LINUX_WKUP_M3_IPC_H #define WKUP_M3_DEEPSLEEP 1 #define WKUP_M3_STANDBY 2 #define WKUP_M3_IDLE 3 #include <linux/mailbox_client.h> struct wkup_m3_ipc_ops; struct wkup_m3_ipc { struct rproc *rproc; void __iomem *ipc_mem_base; struct device *dev; int mem_type; unsigned long resume_addr; int state; struct completion sync_complete; struct mbox_client mbox_client; struct mbox_chan *mbox; struct wkup_m3_ipc_ops *ops; }; struct wkup_m3_ipc_ops { void (*set_mem_type)(struct wkup_m3_ipc *m3_ipc, int mem_type); void (*set_resume_address)(struct wkup_m3_ipc *m3_ipc, void *addr); int (*prepare_low_power)(struct wkup_m3_ipc *m3_ipc, int state); int (*finish_low_power)(struct wkup_m3_ipc *m3_ipc); int (*request_pm_status)(struct wkup_m3_ipc *m3_ipc); }; struct wkup_m3_ipc *wkup_m3_ipc_get(void); void wkup_m3_ipc_put(struct wkup_m3_ipc *m3_ipc); #endif /* _LINUX_WKUP_M3_IPC_H */Overall Contributors
Person | Tokens | Prop | Commits | CommitProp | |
dave gerlach | dave gerlach | 168 | 100.00% | 1 | 100.00% |
Total | 168 | 100.00% | 1 | 100.00% |