2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2017-04-01 13:21:33 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2017 Intel Corporation
|
|
|
|
*/
|
|
|
|
#ifndef _X86_ASM_SCU_IPC_H_
|
|
|
|
#define _X86_ASM_SCU_IPC_H_
|
|
|
|
|
|
|
|
/* IPC defines the following message types */
|
2018-09-11 10:31:06 +00:00
|
|
|
#define IPCMSG_INDIRECT_READ 0x02
|
|
|
|
#define IPCMSG_INDIRECT_WRITE 0x05
|
2017-04-01 13:21:33 +00:00
|
|
|
#define IPCMSG_WARM_RESET 0xf0
|
|
|
|
#define IPCMSG_COLD_RESET 0xf1
|
|
|
|
#define IPCMSG_SOFT_RESET 0xf2
|
|
|
|
#define IPCMSG_COLD_BOOT 0xf3
|
|
|
|
#define IPCMSG_GET_FW_REVISION 0xf4
|
|
|
|
#define IPCMSG_WATCHDOG_TIMER 0xf8 /* Set Kernel Watchdog Threshold */
|
|
|
|
|
|
|
|
struct ipc_ifwi_version {
|
|
|
|
u16 minor;
|
|
|
|
u8 major;
|
|
|
|
u8 hardware_id;
|
|
|
|
u32 reserved[3];
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Issue commands to the SCU with or without data */
|
|
|
|
int scu_ipc_simple_command(u32 cmd, u32 sub);
|
|
|
|
int scu_ipc_command(u32 cmd, u32 sub, u32 *in, int inlen, u32 *out, int outlen);
|
2018-09-11 10:31:06 +00:00
|
|
|
int scu_ipc_raw_command(u32 cmd, u32 sub, u32 *in, int inlen, u32 *out,
|
|
|
|
int outlen, u32 dptr, u32 sptr);
|
2017-04-01 13:21:33 +00:00
|
|
|
|
|
|
|
#endif /* _X86_ASM_SCU_IPC_H_ */
|