ARM: dts: enable WLAN for Mecer Xtreme Mini S6
diff mbox series

Message ID 20200405110022.3849-1-justin.swartz@risingedge.co.za
State New
Headers show
Series
  • ARM: dts: enable WLAN for Mecer Xtreme Mini S6
Related show

Commit Message

Justin Swartz April 5, 2020, 11 a.m. UTC
The Mecer Xtreme Mini S6 features a wireless module, based on a
Realtek 8723BS, which provides WLAN and Bluetooth connectivity via
SDIO and UART interfaces respectively.

Define a simple MMC power sequence that declares the GPIO pins
connected to the module's WLAN Disable and Bluetooth Disable pins
as active low reset signals, because both signals must be deasserted
for WLAN radio operation.

Configure the host's SDIO interface for High Speed mode with 1.8v
I/O signalling and IRQ detection over a 4-bit wide bus.

Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
---
 arch/arm/boot/dts/rk3229-xms6.dts | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Johan Jonker April 6, 2020, 9:57 a.m. UTC | #1
Hi Justin,

Have a look at the documents:

Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
Documentation/devicetree/bindings/mmc/synopsys-dw-mshc-common.yaml
Documentation/devicetree/bindings/mmc/mmc-controller.yaml

Fix &emmc as well.

> From: Justin Swartz <justin.swartz@risingedge.co.za>
> To: Heiko Stuebner <heiko@sntech.de>,
> 	Rob Herring <robh+dt@kernel.org>,
> 	Mark Rutland <mark.rutland@arm.com>
> Cc: Justin Swartz <justin.swartz@risingedge.co.za>,
> 	linux-arm-kernel@lists.infradead.org,
> 	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
> 	linux-kernel@vger.kernel.org
> Subject: [PATCH] ARM: dts: enable WLAN for Mecer Xtreme Mini S6
> Date: Sun,  5 Apr 2020 11:00:21 +0000
> Message-ID: <20200405110022.3849-1-justin.swartz@risingedge.co.za> (raw)
> 
> The Mecer Xtreme Mini S6 features a wireless module, based on a
> Realtek 8723BS, which provides WLAN and Bluetooth connectivity via
> SDIO and UART interfaces respectively.
> 
> Define a simple MMC power sequence that declares the GPIO pins
> connected to the module's WLAN Disable and Bluetooth Disable pins
> as active low reset signals, because both signals must be deasserted
> for WLAN radio operation.
> 
> Configure the host's SDIO interface for High Speed mode with 1.8v
> I/O signalling and IRQ detection over a 4-bit wide bus.
> 
> Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
> ---
>  arch/arm/boot/dts/rk3229-xms6.dts | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3229-xms6.dts b/arch/arm/boot/dts/rk3229-xms6.dts
> index 679fc2b00..cdfcef41b 100644
> --- a/arch/arm/boot/dts/rk3229-xms6.dts
> +++ b/arch/arm/boot/dts/rk3229-xms6.dts
> @@ -39,6 +39,12 @@
>  		};
>  	};
>  
> +	sdio_pwrseq: sdio-pwrseq {
> +		compatible = "mmc-pwrseq-simple";
> +		reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>,
> +		              <&gpio2 29 GPIO_ACTIVE_LOW>;
> +	};
> +
>  	vcc_host: vcc-host-regulator {
>  		compatible = "regulator-fixed";
>  		enable-active-high;
> @@ -202,6 +208,18 @@
>  	status = "okay";
>  };
>  
> +&sdio {
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	cap-sdio-irq;

> +	disable-wp;

Not used in combination with sdio and emmc.

> +	mmc-pwrseq = <&sdio_pwrseq>;
> +	non-removable;

> +	num-slots = <1>;

Deprecated.

> +	vqmmc-supply = <&vccio_1v8>;
> +	status = "okay";
> +};
> +
>  &sdmmc {
>  	cap-mmc-highspeed;
>  	disable-wp;
> -- 
> 2.11.0

Patch
diff mbox series

diff --git a/arch/arm/boot/dts/rk3229-xms6.dts b/arch/arm/boot/dts/rk3229-xms6.dts
index 679fc2b00..cdfcef41b 100644
--- a/arch/arm/boot/dts/rk3229-xms6.dts
+++ b/arch/arm/boot/dts/rk3229-xms6.dts
@@ -39,6 +39,12 @@ 
 		};
 	};
 
+	sdio_pwrseq: sdio-pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>,
+		              <&gpio2 29 GPIO_ACTIVE_LOW>;
+	};
+
 	vcc_host: vcc-host-regulator {
 		compatible = "regulator-fixed";
 		enable-active-high;
@@ -202,6 +208,18 @@ 
 	status = "okay";
 };
 
+&sdio {
+	bus-width = <4>;
+	cap-sd-highspeed;
+	cap-sdio-irq;
+	disable-wp;
+	mmc-pwrseq = <&sdio_pwrseq>;
+	non-removable;
+	num-slots = <1>;
+	vqmmc-supply = <&vccio_1v8>;
+	status = "okay";
+};
+
 &sdmmc {
 	cap-mmc-highspeed;
 	disable-wp;