public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: megous@megous.com
To: linux-sunxi@googlegroups.com,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Chen-Yu Tsai <wens@csie.org>, Rob Herring <robh+dt@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: Ondrej Jirman <megous@megous.com>,
	Mark Rutland <mark.rutland@arm.com>,
	David Airlie <airlied@linux.ie>,
	Chi-Hsien Lin <chi-hsien.lin@cypress.com>,
	dri-devel@lists.freedesktop.org,
	linux-stm32@st-md-mailman.stormreply.com,
	brcm80211-dev-list@cypress.com, Jose Abreu <joabreu@synopsys.com>,
	Naveen Gupta <naveen.gupta@cypress.com>,
	devicetree@vger.kernel.org,
	Arend van Spriel <arend.vanspriel@broadcom.com>,
	Alexandre Torgue <alexandre.torgue@st.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	linux-gpio@vger.kernel.org, Wright Feng <wright.feng@cypress.com>,
	Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	linux-arm-kernel@lists.infradead.org,
	Franky Lin <franky.lin@broadcom.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	brcm80211-dev-list.pdl@broadcom.com, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
	Kalle Valo <kvalo@codeaurora.org>,
	Daniel Vetter <daniel@ffwll.ch>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH v2 13/13] [DO NOT MERGE] arm64: dts: allwinner: orange-pi-3: Enable WiFi
Date: Tue,  9 Apr 2019 02:24:52 +0200	[thread overview]
Message-ID: <20190409002452.14551-14-megous@megous.com> (raw)
In-Reply-To: <20190409002452.14551-1-megous@megous.com>

From: Ondrej Jirman <megous@megous.com>

Orange Pi 3 has AP6256 WiFi/BT module. WiFi part of the module is called
bcm43356 and can be used with the brcmfmac driver. The module is powered by
the two always on regulators (not AXP805).

WiFi uses a PG port with 1.8V voltage level signals. SoC needs to be
configured so that it sets up an 1.8V input bias on this port. This is done
by the pio driver by reading the vcc-pg-supply voltage.

You'll need a fw_bcm43456c5_ag.bin firmware file and nvram.txt
configuration that can be found in the Xulongs's repository for H6:

https://github.com/orangepi-xunlong/OrangePiH6_external/tree/master/ap6256

Mainline brcmfmac driver expects the firmware and nvram at the following
paths relative to the firmware directory:

  brcm/brcmfmac43456-sdio.bin
  brcm/brcmfmac43456-sdio.txt

Signed-off-by: Ondrej Jirman <megous@megous.com>
---
 .../dts/allwinner/sun50i-h6-orangepi-3.dts    | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index f5595653b2c5..37efcca58a30 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -66,6 +66,26 @@
 		regulator-always-on;
 	};
 
+	reg_vcc33_wifi: vcc33-wifi {
+		/* Always on 3.3V regulator for WiFi and BT */
+		compatible = "regulator-fixed";
+		regulator-name = "vcc33-wifi";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		vin-supply = <&reg_vcc5v>;
+	};
+
+	reg_vcc_wifi_io: vcc-wifi-io {
+		/* Always on 1.8V/300mA regulator for WiFi and BT IO */
+		compatible = "regulator-fixed";
+		regulator-name = "vcc-wifi-io";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-always-on;
+		vin-supply = <&reg_vcc33_wifi>;
+	};
+
 	/*
 	 * The board uses 2.5V RGMII signalling. Power sequence to enable
 	 * the phy is to enable GMAC-2V5 and GMAC-3V3 (aldo2) power rails
@@ -86,6 +106,14 @@
 		 */
 		vin-supply = <&reg_aldo2>; /* GMAC-3V3 */
 	};
+
+	wifi_pwrseq: wifi_pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		clocks = <&rtc 1>;
+		clock-names = "ext_clock";
+		reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
+		post-power-on-delay-ms = <200>;
+	};
 };
 
 &cpu0 {
@@ -146,6 +174,25 @@
 	status = "okay";
 };
 
+&mmc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc1_pins>;
+	vmmc-supply = <&reg_vcc33_wifi>;
+	vqmmc-supply = <&reg_vcc_wifi_io>;
+	mmc-pwrseq = <&wifi_pwrseq>;
+	bus-width = <4>;
+	non-removable;
+	status = "okay";
+
+	brcm: sdio-wifi@1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+		interrupt-parent = <&r_pio>;
+		interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
+		interrupt-names = "host-wake";
+	};
+};
+
 &ohci0 {
 	status = "okay";
 };
@@ -157,6 +204,7 @@
 &pio {
 	vcc-pc-supply = <&reg_bldo2>;
 	vcc-pd-supply = <&reg_cldo1>;
+	vcc-pg-supply = <&reg_vcc_wifi_io>;
 };
 
 &r_i2c {
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

      parent reply	other threads:[~2019-04-09  0:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-09  0:24 [PATCH v2 00/13] Add support for Orange Pi 3 megous
2019-04-09  0:24 ` [PATCH v2 01/13] dt-bindings: sunxi: Add compatible for OrangePi 3 board megous
2019-04-09  8:10   ` Maxime Ripard
2019-04-09  0:24 ` [PATCH v2 02/13] arm64: dts: allwinner: h6: Add Orange Pi 3 DTS megous
2019-04-09  8:12   ` Maxime Ripard
2019-04-09  9:33     ` Ondřej Jirman
2019-04-09 11:59       ` Maxime Ripard
2019-04-09  8:38   ` [linux-sunxi] " Jagan Teki
2019-04-09 11:31     ` Ondřej Jirman
2019-04-09 11:47       ` Maxime Ripard
2019-04-09 13:27       ` Jagan Teki
2019-04-09  0:24 ` [PATCH v2 03/13] net: stmmac: sun8i: add support for Allwinner H6 EMAC megous
2019-04-09  0:24 ` [PATCH v2 04/13] net: stmmac: sun8i: force select external PHY when no internal one megous
2019-04-09  0:24 ` [PATCH v2 05/13] pinctrl: sunxi: Prepare for alternative bias voltage setting methods megous
2019-04-09  8:43   ` Maxime Ripard
2019-04-09  0:24 ` [PATCH v2 06/13] pinctrl: sunxi: Support I/O bias voltage setting on H6 megous
2019-04-09  0:24 ` [PATCH v2 07/13] arm64: dts: allwinner: orange-pi-3: Enable ethernet megous
2019-04-09  0:24 ` [PATCH v2 08/13] drm: sun4i: Add support for enabling DDC I2C bus to dw_hdmi glue megous
2019-04-09  0:24 ` [PATCH v2 09/13] dt-bindings: display: sun4i-drm: Add DDC power supply megous
2019-04-09  0:24 ` [PATCH v2 10/13] arm64: dts: allwinner: orange-pi-3: Enable HDMI output megous
2019-04-09  0:24 ` [PATCH v2 11/13] brcmfmac: Loading the correct firmware for brcm43456 megous
2019-04-09  0:24 ` [PATCH v2 12/13] [DO NOT MERGE] arm64: dts: allwinner: h6: Add MMC1 pins megous
2019-04-09  0:24 ` megous [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190409002452.14551-14-megous@megous.com \
    --to=megous@megous.com \
    --cc=airlied@linux.ie \
    --cc=alexandre.torgue@st.com \
    --cc=arend.vanspriel@broadcom.com \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=brcm80211-dev-list@cypress.com \
    --cc=chi-hsien.lin@cypress.com \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=joabreu@synopsys.com \
    --cc=kvalo@codeaurora.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@googlegroups.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=naveen.gupta@cypress.com \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.org \
    --cc=wright.feng@cypress.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox