summaryrefslogtreecommitdiff
path: root/cnss2/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'cnss2/main.h')
-rw-r--r--cnss2/main.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/cnss2/main.h b/cnss2/main.h
index a44a784..fd9a739 100644
--- a/cnss2/main.h
+++ b/cnss2/main.h
@@ -25,7 +25,7 @@
#include <linux/time64.h>
#ifdef CONFIG_CNSS_OUT_OF_TREE
#include "cnss2.h"
-#if IS_ENABLED(CONFIG_QCOM_MEMORY_DUMP_V2)
+#if IS_ENABLED(CONFIG_QCOM_MEMORY_DUMP_V2) || IS_ENABLED(CONFIG_QCOM_MINIDUMP)
#include "memory_dump.h"
#endif
#if IS_ENABLED(CONFIG_MSM_SUBSYSTEM_RESTART) || \
@@ -34,7 +34,7 @@
#endif
#else
#include <net/cnss2.h>
-#if IS_ENABLED(CONFIG_QCOM_MEMORY_DUMP_V2)
+#if IS_ENABLED(CONFIG_QCOM_MEMORY_DUMP_V2) || IS_ENABLED(CONFIG_QCOM_MINIDUMP)
#include <soc/qcom/memory_dump.h>
#endif
#if IS_ENABLED(CONFIG_MSM_SUBSYSTEM_RESTART) || \
@@ -115,6 +115,7 @@ struct cnss_clk_info {
struct cnss_pinctrl_info {
struct pinctrl *pinctrl;
struct pinctrl_state *bootstrap_active;
+ struct pinctrl_state *sol_default;
struct pinctrl_state *wlan_en_active;
struct pinctrl_state *wlan_en_sleep;
int bt_en_gpio;
@@ -357,7 +358,6 @@ enum cnss_debug_quirks {
ENABLE_WALTEST,
ENABLE_PCI_LINK_DOWN_PANIC,
FBC_BYPASS,
- ENABLE_DAEMON_SUPPORT,
DISABLE_DRV,
DISABLE_IO_COHERENCY,
IGNORE_PCI_LINK_FAILURE,
@@ -434,6 +434,13 @@ enum cnss_timeout_type {
CNSS_TIMEOUT_DAEMON_CONNECTION,
};
+struct cnss_sol_gpio {
+ int dev_sol_gpio;
+ int dev_sol_irq;
+ u32 dev_sol_counter;
+ int host_sol_gpio;
+};
+
struct cnss_plat_data {
struct platform_device *plat_dev;
void *bus_priv;
@@ -441,6 +448,7 @@ struct cnss_plat_data {
struct list_head vreg_list;
struct list_head clk_list;
struct cnss_pinctrl_info pinctrl_info;
+ struct cnss_sol_gpio sol_gpio;
#if IS_ENABLED(CONFIG_MSM_SUBSYSTEM_RESTART)
struct cnss_subsys_info subsys_info;
#endif
@@ -507,6 +515,7 @@ struct cnss_plat_data {
u8 use_fw_path_with_prefix;
char firmware_name[MAX_FIRMWARE_NAME_LEN];
char fw_fallback_name[MAX_FIRMWARE_NAME_LEN];
+ u8 *sram_dump;
struct completion rddm_complete;
struct completion recovery_complete;
struct cnss_control_params ctrl_params;
@@ -586,6 +595,13 @@ int cnss_get_pinctrl(struct cnss_plat_data *plat_priv);
int cnss_power_on_device(struct cnss_plat_data *plat_priv);
void cnss_power_off_device(struct cnss_plat_data *plat_priv);
bool cnss_is_device_powered_on(struct cnss_plat_data *plat_priv);
+int cnss_enable_dev_sol_irq(struct cnss_plat_data *plat_priv);
+int cnss_disable_dev_sol_irq(struct cnss_plat_data *plat_priv);
+int cnss_get_dev_sol_value(struct cnss_plat_data *plat_priv);
+int cnss_init_dev_sol_irq(struct cnss_plat_data *plat_priv);
+int cnss_deinit_dev_sol_irq(struct cnss_plat_data *plat_priv);
+int cnss_set_host_sol_value(struct cnss_plat_data *plat_priv, int value);
+int cnss_get_host_sol_value(struct cnss_plat_data *plat_priv);
int cnss_register_subsys(struct cnss_plat_data *plat_priv);
void cnss_unregister_subsys(struct cnss_plat_data *plat_priv);
int cnss_register_ramdump(struct cnss_plat_data *plat_priv);
@@ -616,4 +632,5 @@ int cnss_set_feature_list(struct cnss_plat_data *plat_priv,
int cnss_get_feature_list(struct cnss_plat_data *plat_priv,
u64 *feature_list);
int cnss_get_input_gpio_value(struct cnss_plat_data *plat_priv, int gpio_num);
+bool cnss_check_driver_loading_allowed(void);
#endif /* _CNSS_MAIN_H */