Commit bb1ea8bf authored by Maxime Ripard's avatar Maxime Ripard

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: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: default avatarChen-Yu Tsai <wens@csie.org>
parent e6360493
......@@ -74,6 +74,13 @@ status {
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 {
......@@ -131,10 +138,15 @@ xio: gpio@38 {
};
};
&mmc0_pins_a {
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
vmmc-supply = <&reg_vcc3v3>;
mmc-pwrseq = <&mmc0_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
......@@ -156,6 +168,13 @@ chip_vbus_pin: chip_vbus_pin@0 {
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 {
allwinner,pins = "PG2";
allwinner,function = "gpio_in";
......@@ -189,6 +208,28 @@ &reg_ldo2 {
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.
*/
&reg_ldo3 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi-1";
regulator-always-on;
};
&reg_ldo4 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi-2";
regulator-always-on;
};
&reg_ldo5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment