[PATCH v2 0/2] [DTS] Enable hardware for Nanopi M1 & Nanopi M1 Plus

STALE3308d

Revision v2 of 2 in this series.

8 messages, 3 authors, 2017-09-04 · open the first message on its own page

[PATCH v2 0/2] [DTS] Enable hardware for Nanopi M1 & Nanopi M1 Plus

From: Philipp Rossak <hidden>
Date: 2017-09-01 16:30:31

From: Philipp Rossak <redacted>

This is v2 of my Enable hardware for Nanopi M1 & Nanopi M1 Plus Patchseries.

Changes since v1:

  - removed pincrtl node from power sequence

  - removed vqmmc-supply

  - changed ap6212 label to sdio_wifi

  - removed vqmmc-supply & pincrtl node for powersequence on Bananapi M2 Plus

  - Droped patches for the IR controller & UART that are allready queued for 4.15

  - Droped dwmac-sun8i patches

Original cover letter from v1:

This Patchseries enables the IR controller and the dwmac-sun8i
on the Friendlyarm Nanopi M1 and Friendlyarm Nanopi M1 Plus boards.
On the Nanopi M1 Plus additionally the BT/Wifi module is activated.

Philipp Rossak (2):
  ARM: dts: sun8i: h3: Enable AP6212 WiFi on mmc1 on Nanopi M1 Plus
  ARM: dts: sun8i: h3: Improved Wifi bindings on Bananapi M2 Plus

 arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts |  7 -------
 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts   | 25 +++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 7 deletions(-)

-- 
2.7.4

[PATCH v2 1/2] ARM: dts: sun8i: h3: Enable AP6212 WiFi on mmc1 on Nanopi M1 Plus

From: Philipp Rossak <hidden>
Date: 2017-09-01 16:30:39

From: Philipp Rossak <redacted>

The WiFi side of the AP6212 WiFi/BT combo module is connected to
mmc1. There are also GPIOs for enable and interrupts.

Enable WiFi on this board by enabling mmc1 and adding the power
sequencing clocks and GPIO, as well as the chip's interrupt line.

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
index 6256f55..7d18c35 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
@@ -48,6 +48,13 @@
 
 	aliases {
 		serial1 = &uart3;
+		ethernet1 = &sdio_wifi;
+	};
+
+	wifi_pwrseq: wifi_pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		pinctrl-names = "default";
+		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
 	};
 };
 
@@ -65,6 +72,24 @@
 	status = "okay";
 };
 
+&mmc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc1_pins_a>;
+	vmmc-supply = <&reg_vcc3v3>;
+	mmc-pwrseq = <&wifi_pwrseq>;
+	bus-width = <4>;
+	non-removable;
+	status = "okay";
+
+	sdio_wifi: sdio_wifi at 1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+		interrupt-parent = <&pio>;
+		interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
+		interrupt-names = "host-wake";
+	};
+};
+
 &ohci1 {
 	status = "okay";
 };
-- 
2.7.4

[PATCH v2 2/2] ARM: dts: sun8i: h3: Improved Wifi bindings on Bananapi M2 Plus

From: Philipp Rossak <hidden>
Date: 2017-09-01 16:30:42

From: Philipp Rossak <redacted>

* vqmmc is in this case not needed
* no need for pincontrol nodes when the pin is set to a GPIO

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 7 -------
 1 file changed, 7 deletions(-)
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
index d756ff8..f7e5d8a 100644
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
@@ -98,7 +98,6 @@
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		pinctrl-names = "default";
-		pinctrl-0 = <&wifi_en_bpi_m2p>;
 		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
 	};
 };
@@ -153,7 +152,6 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins_a>;
 	vmmc-supply = <&reg_vcc3v3>;
-	vqmmc-supply = <&reg_vcc3v3>;
 	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
 	non-removable;
@@ -200,11 +198,6 @@
 		pins = "PL3";
 		function = "gpio_in";
 	};
-
-	wifi_en_bpi_m2p: wifi_en_pin {
-		pins = "PL7";
-		function = "gpio_out";
-	};
 };
 
 &reg_usb0_vbus {
-- 
2.7.4

Re: [PATCH v2 1/2] ARM: dts: sun8i: h3: Enable AP6212 WiFi on mmc1 on Nanopi M1 Plus

From: icenowy@aosc.io
Date: 2017-09-02 07:02:00

? 2017-09-02 00:30?Philipp Rossak ???
quoted hunk
From: Philipp Rossak <redacted>

The WiFi side of the AP6212 WiFi/BT combo module is connected to
mmc1. There are also GPIOs for enable and interrupts.

Enable WiFi on this board by enabling mmc1 and adding the power
sequencing clocks and GPIO, as well as the chip's interrupt line.

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 25 
+++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
index 6256f55..7d18c35 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
@@ -48,6 +48,13 @@

 	aliases {
 		serial1 = &uart3;
+		ethernet1 = &sdio_wifi;
When the Wi-Fi module itself has fixed MAC address, there's
no need for such an alias.
quoted hunk
+	};
+
+	wifi_pwrseq: wifi_pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		pinctrl-names = "default";
+		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
 	};
 };
@@ -65,6 +72,24 @@
 	status = "okay";
 };

+&mmc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc1_pins_a>;
+	vmmc-supply = <&reg_vcc3v3>;
+	mmc-pwrseq = <&wifi_pwrseq>;
+	bus-width = <4>;
+	non-removable;
+	status = "okay";
+
+	sdio_wifi: sdio_wifi at 1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+		interrupt-parent = <&pio>;
+		interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
+		interrupt-names = "host-wake";
+	};
+};
+
 &ohci1 {
 	status = "okay";
 };

Re: [PATCH v2 1/2] ARM: dts: sun8i: h3: Enable AP6212 WiFi on mmc1 on Nanopi M1 Plus

From: Maxime Ripard <hidden>
Date: 2017-09-04 08:03:14

Hi Philipp,

On Fri, Sep 01, 2017 at 06:30:00PM +0200, Philipp Rossak wrote:
quoted hunk
From: Philipp Rossak <redacted>

The WiFi side of the AP6212 WiFi/BT combo module is connected to
mmc1. There are also GPIOs for enable and interrupts.

Enable WiFi on this board by enabling mmc1 and adding the power
sequencing clocks and GPIO, as well as the chip's interrupt line.

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
index 6256f55..7d18c35 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
@@ -48,6 +48,13 @@
 
 	aliases {
 		serial1 = &uart3;
+		ethernet1 = &sdio_wifi;
+	};
+
+	wifi_pwrseq: wifi_pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		pinctrl-names = "default";
+		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
 	};
 };
 
@@ -65,6 +72,24 @@
 	status = "okay";
 };
 
+&mmc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc1_pins_a>;
+	vmmc-supply = <&reg_vcc3v3>;
I know I told you you weren't needing vqmmc, but Chen-Yu later told me
that I was wrong about this.

I've added vqmmc back, and applied your patch.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170904/799b5641/attachment.sig>

Re: [PATCH v2 1/2] ARM: dts: sun8i: h3: Enable AP6212 WiFi on mmc1 on Nanopi M1 Plus

From: Maxime Ripard <hidden>
Date: 2017-09-04 08:04:28

On Sat, Sep 02, 2017 at 03:01:57PM +0800, icenowy at aosc.io wrote:
? 2017-09-02 00:30?Philipp Rossak ???
quoted
From: Philipp Rossak <redacted>

The WiFi side of the AP6212 WiFi/BT combo module is connected to
mmc1. There are also GPIOs for enable and interrupts.

Enable WiFi on this board by enabling mmc1 and adding the power
sequencing clocks and GPIO, as well as the chip's interrupt line.

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 25
+++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
index 6256f55..7d18c35 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
@@ -48,6 +48,13 @@

 	aliases {
 		serial1 = &uart3;
+		ethernet1 = &sdio_wifi;
When the Wi-Fi module itself has fixed MAC address, there's
no need for such an alias.
But the description is also accurate, which is what matters in the DT.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170904/d4405225/attachment-0001.sig>

Re: [PATCH v2 2/2] ARM: dts: sun8i: h3: Improved Wifi bindings on Bananapi M2 Plus

From: Maxime Ripard <hidden>
Date: 2017-09-04 08:05:32

Hi Philipp,

On Fri, Sep 01, 2017 at 06:30:01PM +0200, Philipp Rossak wrote:
quoted hunk
From: Philipp Rossak <redacted>

* vqmmc is in this case not needed
* no need for pincontrol nodes when the pin is set to a GPIO

Signed-off-by: Philipp Rossak <redacted>
---
 arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 7 -------
 1 file changed, 7 deletions(-)
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
index d756ff8..f7e5d8a 100644
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
@@ -98,7 +98,6 @@
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		pinctrl-names = "default";
-		pinctrl-0 = <&wifi_en_bpi_m2p>;
 		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
 	};
 };
@@ -153,7 +152,6 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins_a>;
 	vmmc-supply = <&reg_vcc3v3>;
-	vqmmc-supply = <&reg_vcc3v3>;
So we actually need this one.
quoted hunk
 	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
 	non-removable;
@@ -200,11 +198,6 @@
 		pins = "PL3";
 		function = "gpio_in";
 	};
-
-	wifi_en_bpi_m2p: wifi_en_pin {
-		pins = "PL7";
-		function = "gpio_out";
-	};
And there's also other GPIO pins here, I'd prefer if you could tackle
them all at once.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170904/fdf0632a/attachment.sig>

Re: [PATCH v2 2/2] ARM: dts: sun8i: h3: Improved Wifi bindings on Bananapi M2 Plus

From: Philipp Rossak <hidden>
Date: 2017-09-04 13:52:43

Hi Maxime

Am 04.09.2017 um 10:05 schrieb Maxime Ripard:
Hi Philipp,

On Fri, Sep 01, 2017 at 06:30:01PM +0200, Philipp Rossak wrote:
quoted
From: Philipp Rossak <redacted>

* vqmmc is in this case not needed
* no need for pincontrol nodes when the pin is set to a GPIO

Signed-off-by: Philipp Rossak <redacted>
---
  arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 7 -------
  1 file changed, 7 deletions(-)
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
index d756ff8..f7e5d8a 100644
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
@@ -98,7 +98,6 @@
  	wifi_pwrseq: wifi_pwrseq {
  		compatible = "mmc-pwrseq-simple";
  		pinctrl-names = "default";
-		pinctrl-0 = <&wifi_en_bpi_m2p>;
  		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
  	};
  };
@@ -153,7 +152,6 @@
  	pinctrl-names = "default";
  	pinctrl-0 = <&mmc1_pins_a>;
  	vmmc-supply = <&reg_vcc3v3>;
-	vqmmc-supply = <&reg_vcc3v3>;
So we actually need this one.
quoted
  	mmc-pwrseq = <&wifi_pwrseq>;
  	bus-width = <4>;
  	non-removable;
@@ -200,11 +198,6 @@
  		pins = "PL3";
  		function = "gpio_in";
  	};
-
-	wifi_en_bpi_m2p: wifi_en_pin {
-		pins = "PL7";
-		function = "gpio_out";
-	};
And there's also other GPIO pins here, I'd prefer if you could tackle
them all at once.

Thanks!
Maxime
Thanks for the feedback!
I will fix that with a new single Patch in the next Days.

Philipp
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help