[PATCH 3/3] ARM: dts: sun9i: cubieboard4: Enable AP6330 WiFi

2016-10-28 Thread Chen-Yu Tsai
The board has a Ampak AP6330 WiFi/BT/FM module. Inside it is a Broadcom
BCM4330 WiFi/BT/FM combo IC. The WiFi portion is connected to mmc1, with
the enabling pin connected to PL2. The AC100 RTC provides a low power
clock signal.

Signed-off-by: Chen-Yu Tsai 
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 32 +
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts 
b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 439847acd41e..67b02fe7f11c 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -76,6 +76,14 @@
gpios = < 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
};
};
+
+   wifi_pwrseq: wifi_pwrseq {
+   compatible = "mmc-pwrseq-simple";
+   clocks = <_rtc 1>;
+   clock-names = "ext_clock";
+   /* enables internal regulator and de-asserts reset */
+   reset-gpios = <_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
+   };
 };
 
  {
@@ -88,6 +96,21 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>, <_en_pin_cubieboard4>;
+   vmmc-supply = <_dldo1>;
+   vqmmc-supply = <_cldo3>;
+   mmc-pwrseq = <_pwrseq>;
+   bus-width = <4>;
+   non-removable;
+   status = "okay";
+};
+
+_pins {
+   allwinner,pull = ;
+};
+
  {
pinctrl-names = "default";
pinctrl-0 = <_8bit_pins>;
@@ -128,6 +151,15 @@
status = "okay";
 };
 
+_pio {
+   wifi_en_pin_cubieboard4: wifi_en_pin@0 {
+   allwinner,pins = "PL2";
+   allwinner,function = "gpio_out";
+   allwinner,drive = ;
+   allwinner,pull = ;
+   };
+};
+
 _rsb {
status = "okay";
 
-- 
2.9.3



[PATCH 3/3] ARM: dts: sun9i: cubieboard4: Enable AP6330 WiFi

2016-10-28 Thread Chen-Yu Tsai
The board has a Ampak AP6330 WiFi/BT/FM module. Inside it is a Broadcom
BCM4330 WiFi/BT/FM combo IC. The WiFi portion is connected to mmc1, with
the enabling pin connected to PL2. The AC100 RTC provides a low power
clock signal.

Signed-off-by: Chen-Yu Tsai 
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 32 +
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts 
b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 439847acd41e..67b02fe7f11c 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -76,6 +76,14 @@
gpios = < 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
};
};
+
+   wifi_pwrseq: wifi_pwrseq {
+   compatible = "mmc-pwrseq-simple";
+   clocks = <_rtc 1>;
+   clock-names = "ext_clock";
+   /* enables internal regulator and de-asserts reset */
+   reset-gpios = <_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
+   };
 };
 
  {
@@ -88,6 +96,21 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>, <_en_pin_cubieboard4>;
+   vmmc-supply = <_dldo1>;
+   vqmmc-supply = <_cldo3>;
+   mmc-pwrseq = <_pwrseq>;
+   bus-width = <4>;
+   non-removable;
+   status = "okay";
+};
+
+_pins {
+   allwinner,pull = ;
+};
+
  {
pinctrl-names = "default";
pinctrl-0 = <_8bit_pins>;
@@ -128,6 +151,15 @@
status = "okay";
 };
 
+_pio {
+   wifi_en_pin_cubieboard4: wifi_en_pin@0 {
+   allwinner,pins = "PL2";
+   allwinner,function = "gpio_out";
+   allwinner,drive = ;
+   allwinner,pull = ;
+   };
+};
+
 _rsb {
status = "okay";
 
-- 
2.9.3