summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/intel_scu_ipc.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/intel_scu_ipc.h')
-rw-r--r--arch/x86/include/asm/intel_scu_ipc.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/x86/include/asm/intel_scu_ipc.h b/arch/x86/include/asm/intel_scu_ipc.h
index 2a1442ba6e78..c53d18f9440b 100644
--- a/arch/x86/include/asm/intel_scu_ipc.h
+++ b/arch/x86/include/asm/intel_scu_ipc.h
@@ -2,6 +2,7 @@
#ifndef _ASM_X86_INTEL_SCU_IPC_H_
#define _ASM_X86_INTEL_SCU_IPC_H_
+#include <linux/ioport.h>
#include <linux/notifier.h>
#define IPCMSG_INDIRECT_READ 0x02
@@ -19,6 +20,23 @@
#define IPC_CMD_VRTC_SETTIME 1 /* Set time */
#define IPC_CMD_VRTC_SETALARM 2 /* Set alarm */
+struct device;
+struct intel_scu_ipc_dev;
+
+/**
+ * struct intel_scu_ipc_data - Data used to configure SCU IPC
+ * @mem: Base address of SCU IPC MMIO registers
+ * @irq: The IRQ number used for SCU (optional)
+ */
+struct intel_scu_ipc_data {
+ struct resource mem;
+ int irq;
+};
+
+struct intel_scu_ipc_dev *
+intel_scu_ipc_register(struct device *parent,
+ const struct intel_scu_ipc_data *scu_data);
+
/* Read single register */
int intel_scu_ipc_ioread8(u16 addr, u8 *data);