ARM: sun5i: chip: Enable Wi-Fi SDIO chip
The WiFi chip is powered through a GPIO and two regulators in parallel. Since that case is not supported yet, just set them as always on before we rework the regulator framework to deal with those. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Chen-Yu Tsai <wens@csie.org>
This commit is contained in:
parent
e63604933e
commit
bb1ea8bf1b
|
@ -74,6 +74,13 @@
|
||||||
default-state = "on";
|
default-state = "on";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mmc0_pwrseq: mmc0_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-simple";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&chip_wifi_reg_on_pin>;
|
||||||
|
reset-gpios = <&pio 2 19 GPIO_ACTIVE_LOW>; /* PC19 */
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&be0 {
|
&be0 {
|
||||||
|
@ -131,10 +138,15 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mmc0_pins_a {
|
||||||
|
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc0_pins_a>;
|
pinctrl-0 = <&mmc0_pins_a>;
|
||||||
vmmc-supply = <®_vcc3v3>;
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
mmc-pwrseq = <&mmc0_pwrseq>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -156,6 +168,13 @@
|
||||||
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
chip_wifi_reg_on_pin: chip_wifi_reg_on_pin@0 {
|
||||||
|
allwinner,pins = "PC19";
|
||||||
|
allwinner,function = "gpio_out";
|
||||||
|
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||||
|
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||||
|
};
|
||||||
|
|
||||||
chip_id_det_pin: chip_id_det_pin@0 {
|
chip_id_det_pin: chip_id_det_pin@0 {
|
||||||
allwinner,pins = "PG2";
|
allwinner,pins = "PG2";
|
||||||
allwinner,function = "gpio_in";
|
allwinner,function = "gpio_in";
|
||||||
|
@ -189,6 +208,28 @@
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Both LDO3 and LDO4 are used in parallel to power up the WiFi/BT
|
||||||
|
* Chip.
|
||||||
|
*
|
||||||
|
* If those are not enabled, the SDIO part will not enumerate, and
|
||||||
|
* since there's no way currently to pass DT infos to an SDIO device,
|
||||||
|
* we cannot really do better than this ugly hack for now.
|
||||||
|
*/
|
||||||
|
®_ldo3 {
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-wifi-1";
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
®_ldo4 {
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-name = "vcc-wifi-2";
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
®_ldo5 {
|
®_ldo5 {
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
regulator-max-microvolt = <1800000>;
|
regulator-max-microvolt = <1800000>;
|
||||||
|
|
Loading…
Reference in New Issue