]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - rpmsg/hwspinlock.git/blobdiff - include/linux/wkup_m3_ipc.h
soc: ti: wkup_m3_ipc: Add support for i2c voltage scaling
[rpmsg/hwspinlock.git] / include / linux / wkup_m3_ipc.h
index d6ba7d39a62fecb497e87cbeca5a1f335675754b..071a7be37ed8229735f70dadfe1e61aa41959fda 100644 (file)
@@ -33,23 +33,43 @@ struct wkup_m3_ipc {
 
        int mem_type;
        unsigned long resume_addr;
+       int vtt_conf;
+       int isolation_conf;
        int state;
 
+       unsigned long volt_scale_offsets;
+       const char *sd_fw_name;
+
        struct completion sync_complete;
        struct mbox_client mbox_client;
        struct mbox_chan *mbox;
 
        struct wkup_m3_ipc_ops *ops;
+       int is_rtc_only;
+};
+
+struct wkup_m3_wakeup_src {
+       int irq_nr;
+       char src[10];
 };
 
+struct wkup_m3_scale_data_header {
+       u16 magic;
+       u8 sleep_offset;
+       u8 wake_offset;
+} __packed;
+
 struct wkup_m3_ipc_ops {
        void (*set_mem_type)(struct wkup_m3_ipc *m3_ipc, int mem_type);
        void (*set_resume_address)(struct wkup_m3_ipc *m3_ipc, void *addr);
        int (*prepare_low_power)(struct wkup_m3_ipc *m3_ipc, int state);
        int (*finish_low_power)(struct wkup_m3_ipc *m3_ipc);
        int (*request_pm_status)(struct wkup_m3_ipc *m3_ipc);
+       const char *(*request_wake_src)(struct wkup_m3_ipc *m3_ipc);
+       void (*set_rtc_only)(struct wkup_m3_ipc *m3_ipc);
 };
 
 struct wkup_m3_ipc *wkup_m3_ipc_get(void);
 void wkup_m3_ipc_put(struct wkup_m3_ipc *m3_ipc);
+void wkup_m3_set_rtc_only_mode(void);
 #endif /* _LINUX_WKUP_M3_IPC_H */