From 06782fb5db473009d1da0ccee04a10eac93905f1 Mon Sep 17 00:00:00 2001 From: Sarada Prasanna Garnayak Date: Mon, 31 Jul 2017 15:38:14 +0530 Subject: wcnss: Add support to enable and disable wcnss snoc clock It is a hardware requirement to increase snoc clock frequency in HID sniff mode due to low wlan throughput. To provide this, add support to enable and disable snoc clock. Update the voltage regulator configuration API as per upstream kernel. CRs-Fixed: 1101377 Change-Id: I1130353bf861ca31792c40ef51243497788ed56d Signed-off-by: Sarada Prasanna Garnayak --- include/linux/wcnss_wlan.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/wcnss_wlan.h b/include/linux/wcnss_wlan.h index c93364b861d9..341eb74a9f4b 100644 --- a/include/linux/wcnss_wlan.h +++ b/include/linux/wcnss_wlan.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -74,6 +74,7 @@ enum { #define HAVE_WCNSS_CAL_DOWNLOAD 1 #define HAVE_CBC_DONE 1 #define HAVE_WCNSS_RX_BUFF_COUNT 1 +#define HAVE_WCNSS_SNOC_HIGH_FREQ_VOTING 1 #define WLAN_MAC_ADDR_SIZE (6) #define WLAN_RF_REG_ADDR_START_OFFSET 0x3 #define WLAN_RF_REG_DATA_START_OFFSET 0xf @@ -138,6 +139,7 @@ void wcnss_init_work(struct work_struct *work , void *callbackptr); void wcnss_init_delayed_work(struct delayed_work *dwork , void *callbackptr); int wcnss_get_iris_name(char *iris_version); void wcnss_dump_stack(struct task_struct *task); +void wcnss_snoc_vote(bool clk_chk_en); #ifdef CONFIG_WCNSS_REGISTER_DUMP_ON_BITE void wcnss_log_debug_regs_on_bite(void); -- cgit v1.2.3 From 6d11c13b4311665ad0b438bf82908577d6d1a32f Mon Sep 17 00:00:00 2001 From: Sarada Prasanna Garnayak Date: Wed, 2 Aug 2017 12:55:42 +0530 Subject: wcnss: Add support to read wifi dual band capability The WLAN dual band support vary from target to target and to enable/disable dual band support for a particular target the wcnss platform driver read the wlan hardware qfuse register and export the dual band capability info to wlan host driver to enable/disable this dual band feature. Add export symbol for dual band capability info. CRs-Fixed: 1115909 Change-Id: I7dc26435e3ac0ac1eec71f0e334878b35e25224d Signed-off-by: Sarada Prasanna Garnayak --- include/linux/wcnss_wlan.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/linux') diff --git a/include/linux/wcnss_wlan.h b/include/linux/wcnss_wlan.h index 341eb74a9f4b..78ae70a92753 100644 --- a/include/linux/wcnss_wlan.h +++ b/include/linux/wcnss_wlan.h @@ -75,6 +75,7 @@ enum { #define HAVE_CBC_DONE 1 #define HAVE_WCNSS_RX_BUFF_COUNT 1 #define HAVE_WCNSS_SNOC_HIGH_FREQ_VOTING 1 +#define HAVE_WCNSS_5G_DISABLE 1 #define WLAN_MAC_ADDR_SIZE (6) #define WLAN_RF_REG_ADDR_START_OFFSET 0x3 #define WLAN_RF_REG_DATA_START_OFFSET 0xf @@ -133,6 +134,7 @@ void wcnss_riva_dump_pmic_regs(void); int wcnss_xo_auto_detect_enabled(void); u32 wcnss_get_wlan_rx_buff_count(void); int wcnss_wlan_iris_xo_mode(void); +int wcnss_wlan_dual_band_disabled(void); void wcnss_flush_work(struct work_struct *work); void wcnss_flush_delayed_work(struct delayed_work *dwork); void wcnss_init_work(struct work_struct *work , void *callbackptr); -- cgit v1.2.3 From cca1739db38ce7c40d518255404c86b6046f5a03 Mon Sep 17 00:00:00 2001 From: Sarada Prasanna Garnayak Date: Wed, 21 Jun 2017 20:43:31 +0530 Subject: wcnss: Update the wcnss wlan module power up sequence The wcnss wlan module power up sequence has been changed. To add support for the wcnss new power up sequence configured 3.3v external GPIO in wcnss platform driver. Add check for the target to support the 3.3v external gpio for the wcnss power up and routine to control the gpio like gpio init, enable, disable for the device power management in different state of the wcnss wlan device. CRs-Fixed: 2065396 Change-Id: Ie6b79415b670522aa0abee58a23a31cffec76f5a Signed-off-by: Sarada Prasanna Garnayak --- include/linux/wcnss_wlan.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include/linux') diff --git a/include/linux/wcnss_wlan.h b/include/linux/wcnss_wlan.h index 78ae70a92753..dbde018af4c6 100644 --- a/include/linux/wcnss_wlan.h +++ b/include/linux/wcnss_wlan.h @@ -20,6 +20,11 @@ #define IRIS_REGULATORS 4 #define PRONTO_REGULATORS 3 +#define WCNSS_EXTERNAL_GPIO_NAME "qcom,wcn-external-gpio" +#define WCNSS_EXTERNAL_GPIO_HIGH 1 +#define WCNSS_EXTERNAL_GPIO_LOW 0 +#define WCNSS_EXTERNAL_GPIO_DIR_OUT 1 + enum wcnss_opcode { WCNSS_WLAN_SWITCH_OFF = 0, WCNSS_WLAN_SWITCH_ON, @@ -38,6 +43,8 @@ struct vregs_level { }; struct wcnss_wlan_config { + bool wcn_external_gpio_support; + int wcn_external_gpio; int use_48mhz_xo; int is_pronto_vadc; int is_pronto_v3; -- cgit v1.2.3