86 lines
2.5 KiB
Diff
86 lines
2.5 KiB
Diff
|
From f2cb904f074bc7e90be475488872a82270e9bae7 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
|
||
|
Date: Mon, 9 Jan 2017 21:36:38 +0100
|
||
|
Subject: [PATCH 2/2] ARM: dts: sun7i: Add wifi dt node on Banana Pro
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
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 | 29 +++++++++++++++++------------
|
||
|
1 file changed, 17 insertions(+), 12 deletions(-)
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||
|
index 03799c647e13..83516bc81225 100644
|
||
|
--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||
|
+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||
|
@@ -76,6 +76,13 @@
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+ 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";
|
||
|
@@ -87,17 +94,6 @@
|
||
|
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 {
|
||
|
@@ -170,10 +166,19 @@
|
||
|
&mmc3 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&mmc3_pins_a>;
|
||
|
- vmmc-supply = <®_vmmc3>;
|
||
|
+ vmmc-supply = <®_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 {
|
||
|
--
|
||
|
2.11.0
|
||
|
|