summaryrefslogtreecommitdiff
path: root/chip/ish/aontaskfw/ish_aon_share.h
diff options
context:
space:
mode:
Diffstat (limited to 'chip/ish/aontaskfw/ish_aon_share.h')
-rw-r--r--chip/ish/aontaskfw/ish_aon_share.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/chip/ish/aontaskfw/ish_aon_share.h b/chip/ish/aontaskfw/ish_aon_share.h
new file mode 100644
index 0000000000..3a5c1bd06b
--- /dev/null
+++ b/chip/ish/aontaskfw/ish_aon_share.h
@@ -0,0 +1,42 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef __CROS_EC_ISH_AON_SHARE_H
+#define __CROS_EC_ISH_AON_SHARE_H
+
+#include "ia_structs.h"
+
+/* magic ID for valid aontask image sanity check */
+#define AON_MAGIC_ID 0x544E4F41 /*"AONT"*/
+
+/* aontask error code */
+#define AON_SUCCESS 0
+#define AON_ERROR_NOT_SUPPORT_POWER_MODE 1
+#define AON_ERROR_DMA_FAILED 2
+
+
+/* shared data structure between main FW and aontask */
+struct ish_aon_share {
+ /* magic ID */
+ uint32_t magic_id;
+ /* last error */
+ /* error counter */
+ uint32_t error_count;
+ /* last error */
+ int last_error;
+ /* aontask's TSS segment entry */
+ struct tss_entry *aon_tss;
+ /* aontask's LDT start address */
+ ldt_entry *aon_ldt;
+ /* aontask's LDT's limit size */
+ uint32_t aon_ldt_size;
+ /* current power state, see chip/ish/power_mgt.h */
+ int pm_state;
+ /* for store/restore main FW's IDT */
+ struct idt_header main_fw_idt_hdr;
+
+} __packed;
+
+#endif /* __CROS_EC_ISH_AON_SHARE_H */