diff options
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.patch | 96 |
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 0000000000..2e80804891 --- /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 = <®_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 = <®_usb1_vbus>; + usb2_vbus-supply = <®_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 + |