diff options
Diffstat (limited to 'cnss2/main.h')
-rw-r--r-- | cnss2/main.h | 23 |
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 */ |