summaryrefslogtreecommitdiff
path: root/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch')
-rw-r--r--target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch96
1 files changed, 96 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch b/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
new file mode 100644
index 0000000..2e80804
--- /dev/null
+++ b/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
@@ -0,0 +1,96 @@
+From 3e7fc7d394db0783996519f2d5affde5152a628e Mon Sep 17 00:00:00 2001
+From: Chen-Yu Tsai <wens@csie.org>
+Date: Thu, 26 Dec 2013 17:14:33 +0800
+Subject: [PATCH] ARM: dts: sun7i: add WiFi module to Cubietruck DTS
+
+The CubieTruck has an AMPAK AP6210 WiFi+Bluetooth module. The WiFi
+part is a BCM43362 IC connected to MMC2 in the A20 SoC via SDIO.
+The IC also takes a 32.768 KHz low power clock input, and a power
+enable signal via GPIO.
+
+The WiFi module supports out-of-band interrupt signaling via GPIO,
+but this is not supported in this patch.
+---
+ arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 47 ++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+index 66bb3ef..2444806 100644
+--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
++++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+@@ -28,6 +28,23 @@
+ status = "okay";
+ };
+
++ mmc3: mmc@01c12000 {
++ pinctrl-names = "default", "default";
++ pinctrl-0 = <&mmc3_pins_a>;
++ pinctrl-1 = <&wifi_host_wake_pin>;
++ vmmc-supply = <&reg_vmmc3>;
++ non-removable;
++ status = "okay";
++
++ brcmf: bcrmf@0 {
++ /* out of band interrupt not working */
++ /* compatible = "broadcom,bcm43362"; */
++ interrupt-parent = <&pio>;
++ interrupts = <10 2>; /* EINT10 */
++ status = "okay";
++ };
++ };
++
+ usbphy: phy@01c13400 {
+ usb1_vbus-supply = <&reg_usb1_vbus>;
+ usb2_vbus-supply = <&reg_usb2_vbus>;
+@@ -56,6 +73,18 @@
+ };
+
+ pinctrl@01c20800 {
++ mmc3_pins_a: mmc3@0 {
++ /* AP6210 requires pull-up */
++ allwinner,pull = <1>;
++ };
++
++ vmmc3_pin_cubietruck: vmmc3_pin@0 {
++ allwinner,pins = "PH9";
++ allwinner,function = "gpio_out";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
+ ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
+ allwinner,pins = "PH12";
+ allwinner,function = "gpio_out";
+@@ -69,6 +98,13 @@
+ allwinner,drive = <0>;
+ allwinner,pull = <0>;
+ };
++
++ wifi_host_wake_pin: wifi_host_wake_pin@0 {
++ allwinner,pins = "PH10";
++ allwinner,function = "gpio_in";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
+ };
+
+ uart0: serial@01c28000 {
+@@ -147,4 +183,15 @@
+ reg_usb2_vbus: usb2-vbus {
+ status = "okay";
+ };
++
++ reg_vmmc3: vmmc3 {
++ compatible = "regulator-fixed";
++ pinctrl-names = "default";
++ pinctrl-0 = <&vmmc3_pin_cubietruck>;
++ regulator-name = "vmmc3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ enable-active-high;
++ gpio = <&pio 7 9 0>;
++ };
+ };
+--
+2.0.3
+