高通wifi设备树修改
dts部分修改点
arch/arm/boot/dts/qcom/sa415m-ttp.dtsi
这里定义一个名字wlan-pwr-gpio是GPIO 89.
arch/arm/boot/dts/qcom/sdxpoorwills-pinctrl.dtsi
调用pinctrl部分代码
1
drivers/net/wireless/cnss2/main.h
struct cnss_pinctrl_info {
struct pinctrl *pinctrl;
struct pinctrl_state *bootstrap_active;
struct pinctrl_state *wlan_en_active;
struct pinctrl_state *wlan_en_sleep;
struct pinctrl_state *wlan_pwr_active;
struct pinctrl_state *wlan_pwr_sleep;
u32 activated;
};
2
drivers/net/wireless/cnss2/power.c
#define WLAN_EN_GPIO "wlan-en-gpio"
#define WLAN_EN_ACTIVE "wlan_en_active"
#define WLAN_EN_SLEEP "wlan_en_sleep"
++#define WLAN_PWR_GPIO "wlan-pwr-gpio"
++#define WLAN_PWR_ACTIVE "wlan_pwr_active"
++#define WLAN_PWR_SLEEP "wlan_pwr_sleep"
......
int cnss_get_pinctrl(struct cnss_plat_data *plat_priv)
{
int ret = 0;
struct device *dev;
struct cnss_pinctrl_info *pinctrl_info;
dev = &plat_priv->plat_dev->dev;
pinctrl_info = &plat_priv->pinctrl_info;
pinctrl_info->pinctrl = devm_pinctrl_get(dev);
if (IS_ERR_OR_NULL(pinctrl_info->pinctrl)) {
ret = PTR_ERR(pinctrl_info->pinctrl);
cnss_pr_err("Failed to get pinctrl, err = %d\n", ret);
goto out;