From 3e7fc7d394db0783996519f2d5affde5152a628e Mon Sep 17 00:00:00 2001 From: Chen-Yu Tsai 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(+) --- 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"; @@ -83,6 +112,13 @@ allwinner,drive = <0>; allwinner,pull = <2>; }; + + 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 { @@ -171,4 +207,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>; + }; };