Add Xradio driver to sun8i-dev

This commit is contained in:
zador-blood-stained 2016-12-29 13:10:47 +03:00
parent 92a752a38e
commit 2f280c8813
3 changed files with 24230 additions and 1 deletions

View file

@ -269,6 +269,7 @@ CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set # CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_COMPRESS is not set
@ -1298,7 +1299,12 @@ CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_DEBUG is not set # CONFIG_BATMAN_ADV_BATMAN_V is not set
CONFIG_BATMAN_ADV_BLA=y
# CONFIG_BATMAN_ADV_DAT is not set
# CONFIG_BATMAN_ADV_NC is not set
# CONFIG_BATMAN_ADV_MCAST is not set
# CONFIG_BATMAN_ADV_DEBUGFS is not set
CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m CONFIG_OPENVSWITCH_GRE=m
CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPENVSWITCH_VXLAN=m
@ -2213,6 +2219,13 @@ CONFIG_WLAN_VENDOR_TI=y
CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_USB_ZD1201 is not set # CONFIG_USB_ZD1201 is not set
# CONFIG_ZD1211RW is not set # CONFIG_ZD1211RW is not set
CONFIG_WLAN_VENDOR_XRADIO=m
CONFIG_XRADIO_SDIO=y
CONFIG_XRADIO_USE_EXTENSIONS=y
CONFIG_XRADIO_5GHZ_SUPPORT=y
CONFIG_XRADIO_XR819=y
CONFIG_XRADIO_NON_POWER_OF_TWO_BLOCKSIZES=y
CONFIG_XRADIO_WAPI_SUPPORT=y
CONFIG_MAC80211_HWSIM=m CONFIG_MAC80211_HWSIM=m
CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_USB_NET_RNDIS_WLAN=m
@ -2454,6 +2467,8 @@ CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SCCNXP is not set
CONFIG_SERIAL_SC16IS7XX=m CONFIG_SERIAL_SC16IS7XX=m
# CONFIG_SERIAL_SC16IS7XX_I2C is not set
# CONFIG_SERIAL_SC16IS7XX_SPI is not set
# CONFIG_SERIAL_BCM63XX is not set # CONFIG_SERIAL_BCM63XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_ALTERA_UART is not set

View file

@ -0,0 +1,87 @@
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index c558ba75..f1ff8b90 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -818,6 +818,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a33-sinlinx-sina33.dtb \
sun8i-a83t-allwinner-h8homlet-v2.dtb \
sun8i-a83t-cubietruck-plus.dtb \
+ sun8i-h2plus-orangepi-zero.dtb \
sun8i-h3-bananapi-m2-plus.dtb \
sun8i-h3-nanopi-neo.dtb \
sun8i-h3-orangepi-2.dtb \
diff --git a/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts
new file mode 100644
index 00000000..d262a251
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts
@@ -0,0 +1,68 @@
+
+#include "sun8i-h3-orangepi-one.dts"
+
+/ {
+ model = "Xunlong Orange Pi Zero";
+ compatible = "xunlong,orangepi-zero", "allwinner,sun8i-h2plus";
+
+ aliases {
+ ethernet1 = &xr819wifi;
+ };
+
+ vdd_wifi: vdd_wifi@0 {
+ compatible = "regulator-fixed";
+ regulator-name = "wifi";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <70000>;
+ enable-active-high;
+ };
+
+ pwrseq_wifi: pwrseq_wifi@0 {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_rst>;
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
+ post-power-on-delay-ms = <50>;
+ };
+};
+
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins_a>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&vdd_wifi>;
+ mmc-pwrseq = <&pwrseq_wifi>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ xr819wifi: xr819wifi@1 {
+ reg = <1>;
+ compatible = "xradio,xr819";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_wake>;
+ interrupt-parent = <&pio>;
+ interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "host-wake";
+ local-mac-address = [dc 44 6d c0 ff ee];
+ };
+};
+
+&pio {
+ wifi_wake: wifi_wake@0 {
+ allwinner,pins = "PG10";
+ allwinner,function = "irq";
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+};
+
+&r_pio {
+ wifi_rst: wifi_rst@0 {
+ allwinner,pins = "PL7";
+ allwinner,function = "gpio_out";
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+};
\ No newline at end of file

File diff suppressed because it is too large Load diff