mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
arm64: dts: hikey: Fix WiFi support
The description of the connection between the dwmmc (SDIO) controller and the Wifi chip, which is attached to the SDIO bus is wrong. Currently the SDIO card can't be detected and thus the Wifi doesn't work. Let's fix this by assigning the correct vmmc supply, which is the always on regulator VDD_3V3 and remove the WLAN enable regulator altogether. Then to properly deal with the power on/off sequence, add a mmc-pwrseq node to describe the resources needed to detect the SDIO card. Except for the WLAN enable GPIO and its corresponding assert/de-assert delays, the mmc-pwrseq node also contains a handle to a clock provided by the hi655x pmic. This clock is also needed to be able to turn on the WiFi chip. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
76f1dfb687
commit
ea45267873
1 changed files with 11 additions and 15 deletions
|
@ -111,6 +111,15 @@ reg_5v_hub: regulator@2 {
|
||||||
vin-supply = <®_sys_5v>;
|
vin-supply = <®_sys_5v>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wl1835_pwrseq: wl1835-pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-simple";
|
||||||
|
/* WLAN_EN GPIO */
|
||||||
|
reset-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
||||||
|
clocks = <&pmic>;
|
||||||
|
clock-names = "ext_clock";
|
||||||
|
power-off-delay-us = <10>;
|
||||||
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
spi0: spi@f7106000 {
|
spi0: spi@f7106000 {
|
||||||
status = "ok";
|
status = "ok";
|
||||||
|
@ -307,11 +316,10 @@ dwmmc_1: dwmmc1@f723e000 {
|
||||||
};
|
};
|
||||||
|
|
||||||
dwmmc_2: dwmmc2@f723f000 {
|
dwmmc_2: dwmmc2@f723f000 {
|
||||||
broken-cd;
|
|
||||||
bus-width = <0x4>;
|
bus-width = <0x4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
/* WL_EN */
|
vmmc-supply = <®_vdd_3v3>;
|
||||||
vmmc-supply = <&wlan_en_reg>;
|
mmc-pwrseq = <&wl1835_pwrseq>;
|
||||||
|
|
||||||
#address-cells = <0x1>;
|
#address-cells = <0x1>;
|
||||||
#size-cells = <0x0>;
|
#size-cells = <0x0>;
|
||||||
|
@ -323,18 +331,6 @@ wlcore: wlcore@2 {
|
||||||
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wlan_en_reg: regulator@1 {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "wlan-en-regulator";
|
|
||||||
regulator-min-microvolt = <1800000>;
|
|
||||||
regulator-max-microvolt = <1800000>;
|
|
||||||
/* WLAN_EN GPIO */
|
|
||||||
gpio = <&gpio0 5 0>;
|
|
||||||
/* WLAN card specific delay */
|
|
||||||
startup-delay-us = <70000>;
|
|
||||||
enable-active-high;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
leds {
|
leds {
|
||||||
|
|
Loading…
Reference in a new issue