summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/slatecom_interface.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/include/uapi/linux/slatecom_interface.h b/include/uapi/linux/slatecom_interface.h
new file mode 100644
index 000000000000..1caed8c42bf6
--- /dev/null
+++ b/include/uapi/linux/slatecom_interface.h
@@ -0,0 +1,93 @@
+/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
+/*
+ * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
+ */
+#ifndef LINUX_SLATECOM_INTERFACE_H
+#define LINUX_SLATECOM_INTERFACE_H
+
+#include <linux/types.h>
+
+#define SLATECOM_REG_READ 0
+#define SLATECOM_AHB_READ 1
+#define SLATECOM_AHB_WRITE 2
+#define SLATECOM_SET_SPI_FREE 3
+#define SLATECOM_SET_SPI_BUSY 4
+#define SLATECOM_REG_WRITE 5
+#define SLATECOM_SOFT_RESET 6
+#define SLATECOM_MODEM_DOWN2_SLATE 7
+#define SLATECOM_TWM_EXIT 8
+#define SLATECOM_SLATE_APP_RUNNING 9
+#define SLATECOM_ADSP_DOWN2_SLATE 10
+#define SLATECOM_SLATE_WEAR_LOAD 11
+#define SLATECOM_SLATE_WEAR_UNLOAD 12
+#define EXCHANGE_CODE 'V'
+
+struct slate_ui_data {
+ __u64 __user write;
+ __u64 __user result;
+ __u32 slate_address;
+ __u32 cmd;
+ __u32 num_of_words;
+ __u8 __user *buffer;
+};
+
+enum slate_event_type {
+ SLATE_BEFORE_POWER_DOWN = 1,
+ SLATE_AFTER_POWER_DOWN,
+ SLATE_BEFORE_POWER_UP,
+ SLATE_AFTER_POWER_UP,
+ MODEM_BEFORE_POWER_DOWN,
+ MODEM_AFTER_POWER_UP,
+ ADSP_BEFORE_POWER_DOWN,
+ ADSP_AFTER_POWER_UP,
+ TWM_SLATE_AFTER_POWER_UP,
+ SLATE_DSP_ERROR,
+ SLATE_DSP_READY,
+ SLATE_BT_ERROR,
+ SLATE_BT_READY,
+};
+
+#define SLATE_AFTER_POWER_UP SLATE_AFTER_POWER_UP
+
+#define REG_READ \
+ _IOWR(EXCHANGE_CODE, SLATECOM_REG_READ, \
+ struct slate_ui_data)
+#define AHB_READ \
+ _IOWR(EXCHANGE_CODE, SLATECOM_AHB_READ, \
+ struct slate_ui_data)
+#define AHB_WRITE \
+ _IOW(EXCHANGE_CODE, SLATECOM_AHB_WRITE, \
+ struct slate_ui_data)
+#define SET_SPI_FREE \
+ _IOR(EXCHANGE_CODE, SLATECOM_SET_SPI_FREE, \
+ struct slate_ui_data)
+#define SET_SPI_BUSY \
+ _IOR(EXCHANGE_CODE, SLATECOM_SET_SPI_BUSY, \
+ struct slate_ui_data)
+#define REG_WRITE \
+ _IOWR(EXCHANGE_CODE, SLATECOM_REG_WRITE, \
+ struct slate_ui_data)
+#define SLATE_SOFT_RESET \
+ _IOWR(EXCHANGE_CODE, SLATECOM_SOFT_RESET, \
+ struct slate_ui_data)
+#define SLATE_TWM_EXIT \
+ _IOWR(EXCHANGE_CODE, SLATECOM_TWM_EXIT, \
+ struct slate_ui_data)
+#define SLATE_APP_RUNNING \
+ _IOWR(EXCHANGE_CODE, SLATECOM_SLATE_APP_RUNNING, \
+ struct slate_ui_data)
+#define SLATE_MODEM_DOWN2_SLATE_DONE \
+ _IOWR(EXCHANGE_CODE, SLATECOM_MODEM_DOWN2_SLATE, \
+ struct slate_ui_data)
+#define SLATE_WEAR_LOAD \
+ _IOWR(EXCHANGE_CODE, SLATECOM_SLATE_WEAR_LOAD, \
+ struct slate_ui_data)
+#define SLATE_WEAR_UNLOAD \
+ _IOWR(EXCHANGE_CODE, SLATECOM_SLATE_WEAR_UNLOAD, \
+ struct slate_ui_data)
+#define SLATE_ADSP_DOWN2_SLATE_DONE \
+ _IOWR(EXCHANGE_CODE, SLATECOM_ADSP_DOWN2_SLATE, \
+ struct slate_ui_data)
+
+#endif /* LINUX_SLATECOM_INTERFACE_H */
+