[PATCH v2 4/4] arm64: dts: renesas: r9a09g047e57-smarc: Add support for WIFI + BT test

Biju posted 4 patches 2 days, 3 hours ago
[PATCH v2 4/4] arm64: dts: renesas: r9a09g047e57-smarc: Add support for WIFI + BT test
Posted by Biju 2 days, 3 hours ago
From: Biju Das <biju.das.jz@bp.renesas.com>

Add support for WIFI + BT test M.2 board [1]
[1] https://www.embeddedartists.com/wp-content/uploads/2021/05/2AE_2BC_M2_Datasheet.pdf

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v2:
 * New patch
---
 .../boot/dts/renesas/r9a09g047e57-smarc.dts   | 43 ++++++++++++++++++-
 arch/arm64/configs/defconfig                  | 26 +++++++++++
 2 files changed, 68 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
index 696903dc7a63..76f43c098123 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
@@ -15,7 +15,7 @@
 #define SW_SER0_PMOD		1
 #define SW_SER2_EN		1
 #define SW_SD0_DEV_SEL		0
-#define SW_SDIO_M2E		0
+#define SW_SDIO_M2E		1
 
 #define PMOD_GPIO4		0
 #define PMOD_GPIO6		0
@@ -46,6 +46,7 @@ aliases {
 		mmc1 = &sdhi1;
 	};
 
+#if (!SW_SDIO_M2E)
 	vqmmc_sd1_pvdd: regulator-vqmmc-sd1-pvdd {
 		compatible = "regulator-gpio";
 		regulator-name = "SD1_PVDD";
@@ -55,6 +56,7 @@ vqmmc_sd1_pvdd: regulator-vqmmc-sd1-pvdd {
 		gpios-states = <0>;
 		states = <3300000 0>, <1800000 1>;
 	};
+#endif
 };
 
 &canfd {
@@ -201,6 +203,15 @@ usb3_pins: usb3 {
 		pinmux = <RZG3E_PORT_PINMUX(4, 1, 12)>, /* USB30_VBUSEN */
 			 <RZG3E_PORT_PINMUX(4, 0, 12)>; /* USB30_OVRCURN */
 	};
+
+#if (SW_SDIO_M2E)
+	wifi18-hog {
+		gpio-hog;
+		gpios = <RZG3E_GPIO(1, 5) GPIO_ACTIVE_HIGH>;
+		output-high;
+		line-name = "wifi1.8";
+	};
+#endif
 };
 
 #if SW_SER0_PMOD && SW_SER2_EN
@@ -211,6 +222,11 @@ &rsci2 {
 	uart-has-rtscts;
 
 	status = "okay";
+
+	bluetooth {
+		compatible = "brcm,bcm43438-bt";
+		max-speed = <2000000>;
+	};
 };
 #endif
 
@@ -239,6 +255,7 @@ &scif0 {
 	pinctrl-names = "default";
 };
 
+#if (!SW_SDIO_M2E)
 &sdhi1 {
 	pinctrl-0 = <&sdhi1_pins>;
 	pinctrl-1 = <&sdhi1_pins>;
@@ -247,6 +264,30 @@ &sdhi1 {
 	vmmc-supply = <&reg_3p3v>;
 	vqmmc-supply = <&vqmmc_sd1_pvdd>;
 };
+#else
+&sdhi1 {
+	pinctrl-0 = <&sdhi1_pins>;
+	pinctrl-1 = <&sdhi1_pins>;
+	pinctrl-names = "default", "state_uhs";
+	status = "okay";
+
+	vmmc-supply = <&reg_3p3v>;
+	vqmmc-supply = <&reg_1p8v>;
+	bus-width = <4>;
+
+	sd-uhs-sdr50;
+	sd-uhs-sdr104;
+
+	non-removable;
+	cap-power-off-card;
+	#address-cells = <1>;
+	#size-cells = <0>;
+	brcmf: wifi@1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+	};
+};
+#endif
 
 &xhci {
 	pinctrl-0 = <&usb3_pins>;
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 370211c50d12..fc684cf56a6c 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1910,3 +1910,29 @@ CONFIG_CORESIGHT_STM=m
 CONFIG_CORESIGHT_CPU_DEBUG=m
 CONFIG_CORESIGHT_CTI=m
 CONFIG_MEMTEST=y
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+CONFIG_BT_BREDR=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HS=y
+CONFIG_BT_HCIUART_NOKIA=m
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIUART_INTEL=y
+CONFIG_SND_SOC_MTK_BTCVSD=y
+CONFIG_SND_SOC_BT_SCO=y
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS7_MESSAGE_PARSER=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=y
-- 
2.43.0