]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: dts: sun7i: Add wifi dt node on Banana Pro
authorJörg Krause <joerg.krause@embedded.rocks>
Mon, 9 Jan 2017 20:36:38 +0000 (21:36 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 10 Jan 2017 17:54:02 +0000 (18:54 +0100)
The Banana Pro has an AMPAK AP6181 WiFi+Bluetooth module. The WiFi part
is a BCM43362 IC connected to MMC3 of the A20 SoC via SDIO. The IC also
takes a power enable signal via GPIO.

This commit adds a device-tree node to power it up, so the mmc subsys
can scan it, and enables the mmc controller which is connected to it.

As the wifi enable pin of the AP6181 module is not really a regulator,
switch the mmc3 node to the mmc-pwrseq framework for controlling it.
This more accurately reflectes how the hardware actually works.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20-bananapro.dts

index 03799c647e1394062ad7405a608f448be3e8ed4a..83516bc81225776a4a29779cb751f8c218389d72 100644 (file)
                };
        };
 
+       wifi_pwrseq: wifi-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               pinctrl-names = "default";
+               pinctrl-0 = <&vmmc3_pin_bananapro>;
+               reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>;
+       };
+
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
                pinctrl-names = "default";
                enable-active-high;
                gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
        };
-
-       reg_vmmc3: vmmc3 {
-               compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&vmmc3_pin_bananapro>;
-               regulator-name = "vmmc3";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               enable-active-high;
-               gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>;
-       };
 };
 
 &ahci {
 &mmc3 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc3_pins_a>;
-       vmmc-supply = <&reg_vmmc3>;
+       vmmc-supply = <&reg_vcc3v3>;
+       mmc-pwrseq = <&wifi_pwrseq>;
        bus-width = <4>;
        non-removable;
        status = "okay";
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&pio>;
+               interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "host-wake";
+       };
 };
 
 &ohci0 {