ARM: dts: msm: Add WLAN_EN GPIO Support through Linux pinctrl framework

Add WLAN_EN GPIO definition to be supported through Linux
pinctrl framework.

Using Linux pinctrl framework API add support to control
WLAN_EN GPIO:

1. Read WLAN_EN GPIO value
2. Change WLAN_EN GPIO value

Change-Id: Ic205814b6b38d515b23879673afe76882ad0098b
CRs-Fixed: 4093812
This commit is contained in:
Prateek Patil
2025-03-21 16:35:50 +05:30
parent e804cdf8e3
commit 30a7fa058e
2 changed files with 64 additions and 2 deletions

View File

@@ -14,6 +14,34 @@
function = "wcn_sw_ctrl"; function = "wcn_sw_ctrl";
}; };
}; };
icnss_wlan_en_active: icnss_wlan_en_active {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <16>;
output-high;
bias-pull-up;
};
};
icnss_wlan_en_sleep: icnss_wlan_en_sleep {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
output-low;
bias-pull-down;
};
};
}; };
&soc { &soc {
@@ -70,9 +98,12 @@
sw-ctrl-gpio = <81>; sw-ctrl-gpio = <81>;
/* List of GPIOs to be setup for interrupt wakeup capable */ /* List of GPIOs to be setup for interrupt wakeup capable */
mpm_wake_set_gpios = <81>; mpm_wake_set_gpios = <81>;
pin_wlan-en-gpio = <&tlmm 35 0>;
pin_sw-ctrl-gpio = <&tlmm 81 0>; pin_sw-ctrl-gpio = <&tlmm 81 0>;
pinctrl-names = "sw_ctrl"; pinctrl-names = "sw_ctrl", "wlan_en_active", "wlan_en_sleep";
pinctrl-0 = <&icnss_sw_ctrl>; pinctrl-0 = <&icnss_sw_ctrl>;
pinctrl-1 = <&icnss_wlan_en_active>;
pinctrl-2 = <&icnss_wlan_en_sleep>;
interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>, interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 769 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>,

View File

@@ -14,6 +14,34 @@
function = "wcn_sw_ctrl"; function = "wcn_sw_ctrl";
}; };
}; };
icnss_wlan_en_active: icnss_wlan_en_active {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <16>;
output-high;
bias-pull-up;
};
};
icnss_wlan_en_sleep: icnss_wlan_en_sleep {
mux {
pins = "gpio35";
function = "gpio";
};
config {
pins = "gpio35";
drive-strength = <2>;
output-low;
bias-pull-down;
};
};
}; };
&soc { &soc {
@@ -66,9 +94,12 @@
sw-ctrl-gpio =<80>; sw-ctrl-gpio =<80>;
/* List of GPIOs to be setup for interrupt wakeup capable */ /* List of GPIOs to be setup for interrupt wakeup capable */
mpm_wake_set_gpios = <80>; mpm_wake_set_gpios = <80>;
pin_wlan-en-gpio = <&tlmm 35 0>;
pin_sw-ctrl-gpio = <&tlmm 80 0>; pin_sw-ctrl-gpio = <&tlmm 80 0>;
pinctrl-names = "sw_ctrl"; pinctrl-names = "sw_ctrl", "wlan_en_active", "wlan_en_sleep";
pinctrl-0 = <&icnss_sw_ctrl>; pinctrl-0 = <&icnss_sw_ctrl>;
pinctrl-1 = <&icnss_wlan_en_active>;
pinctrl-2 = <&icnss_wlan_en_sleep>;
interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>, interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 769 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>,