summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/scu.h
diff options
context:
space:
mode:
authorGeorgii Staroselskii <georgii.staroselskii@emlid.com>2018-09-11 13:31:06 +0300
committerBin Meng <bmeng.cn@gmail.com>2018-09-17 14:34:15 +0800
commit224742a390f48c64aac75095c7ac251077f07bdb (patch)
treebdf59557fae58b19e4e267d666e971612b405cce /arch/x86/include/asm/scu.h
parent41f4e4302fbaa426f0ca34720f438f74d3304e79 (diff)
downloadu-boot-224742a390f48c64aac75095c7ac251077f07bdb.tar.gz
u-boot-224742a390f48c64aac75095c7ac251077f07bdb.tar.xz
u-boot-224742a390f48c64aac75095c7ac251077f07bdb.zip
x86: cpu: introduce scu_ipc_raw_command()
This interface will be used to configure properly some pins on Merrifield that are shared with SCU. scu_ipc_raw_command() writes SPTR and DPTR registers before sending a command to SCU. This code has been ported from Linux work done by Andy Shevchenko. Signed-off-by: Georgii Staroselskii <georgii.staroselskii@emlid.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/include/asm/scu.h')
-rw-r--r--arch/x86/include/asm/scu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/scu.h b/arch/x86/include/asm/scu.h
index 7ce5824167..f5ec5a19d9 100644
--- a/arch/x86/include/asm/scu.h
+++ b/arch/x86/include/asm/scu.h
@@ -6,6 +6,8 @@
#define _X86_ASM_SCU_IPC_H_
/* IPC defines the following message types */
+#define IPCMSG_INDIRECT_READ 0x02
+#define IPCMSG_INDIRECT_WRITE 0x05
#define IPCMSG_WARM_RESET 0xf0
#define IPCMSG_COLD_RESET 0xf1
#define IPCMSG_SOFT_RESET 0xf2
@@ -23,5 +25,7 @@ struct ipc_ifwi_version {
/* 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);
+int scu_ipc_raw_command(u32 cmd, u32 sub, u32 *in, int inlen, u32 *out,
+ int outlen, u32 dptr, u32 sptr);
#endif /* _X86_ASM_SCU_IPC_H_ */