From 8b6cf9530ef8923895df798428a9b45534c9fd98 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 18 Apr 2021 10:59:09 +0000
Subject: [PATCH] rk3318-box: add overlay for wifi over sdmmc_ext

---
 arch/arm64/boot/dts/rockchip/overlay/Makefile |  3 +-
 .../rockchip/overlay/README.rockchip-overlays |  6 ++++
 .../overlay/rockchip-rk3318-box-wlan-ext.dts  | 29 +++++++++++++++++++
 3 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3318-box-wlan-ext.dts

diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
index be038cc38..5e3318b57 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
@@ -13,7 +13,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
 	rockchip-w1-gpio.dtbo \
 	rockchip-rk3318-box-led-conf1.dtbo \
 	rockchip-rk3318-box-emmc-ddr.dtbo \
-	rockchip-rk3318-box-wlan-ap6334.dtbo
+	rockchip-rk3318-box-wlan-ap6334.dtbo \
+	rockchip-rk3318-box-wlan-ext.dtbo
 
 scr-$(CONFIG_ARCH_ROCKCHIP) += \
        rockchip-fixup.scr
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
index 0e7eaeea2..b414e3069 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
@@ -134,3 +134,9 @@ of board wiring
 
 Set up additional device tree bits to properly support ap6334 (broadcom BCM4334)
 wifi chip and clones
+
+### rk3318-box-wlan-ext
+
+Use sdmmc_ext device for sdio devices, enabled wifi on some boards (notably
+X88 Pro) which have wifi chip attached to sdmmc_ext controller.
+
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3318-box-wlan-ext.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3318-box-wlan-ext.dts
new file mode 100644
index 000000000..7f43fc20f
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3318-box-wlan-ext.dts
@@ -0,0 +1,33 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+
+	fragment@0 {
+		target = <&sdio>;
+		__overlay__ {
+			mmc-pwrseq = <>;
+			status = "disabled";
+		};
+	};
+
+	fragment@1 {
+		target = <&sdio_ext>;
+		__overlay__ {
+			mmc-pwrseq = <&sdio_pwrseq>;
+			status = "okay";
+		};
+	};
+
+	fragment@2 {
+		target = <&sdmmc_ext>;
+		__overlay__ {
+			status = "disabled";
+		};
+	};
+
+};
-- 
2.25.1

