dcsimg
Skip to end of metadata
Go to start of metadata

Introduction

This page will show you step-by-step how to interface a Inventek Systems ISM43362-B81 Wi-Fi 2.4Ghz SDIO SIP Module to the NXP MCIMX6UL-EVK.

Demo

Demo2

Hardware Requirements

NXP MCIMX6UL-EVK base board:

MCIMX6UL-EVK at Digi-Key

Inventek Systems ISM43362-B81 Evaulation Board:

ISM43362-B81-EVB at Digi-Key

Software Requirements

Modify /boot/uEnv.txt

This will force u-boot to load our customized device tree that is expecting the ISM43362-B81 to be connected over the large mmc interface.

/boot/uEnv.txt
dtb=imx6ul-14x14-evk-ism43362-b81-evb.dtb

Add ISM43362-B81's firmware

We are assuming your microSD is stilll mounted at /media/rootfs/

~/
wget https://raw.githubusercontent.com/rcn-ee/sdk-firmware/master/inventeksys/ISM43362_NVRAM_C1.txt
mkdir -p /media/rootfs/lib/firmware/brcm/
sudo cp -v ISM43362_NVRAM_C1.txt /media/rootfs/lib/firmware/brcm/brcmfmac43362-sdio.txt

Insert microSD and ISM43362-B81 and power up board

 

~/
debian@arm:~$ dmesg | grep brcm
[   22.217393] usbcore: registered new interface driver brcmfmac
[   22.486704] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Apr 22 2013 14:50:00 version 5.90.195.89.6 FWID 01-b30a427d
[   22.694656] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
[   25.208737] brcmfmac: brcmf_p2p_create_p2pdev: timeout occurred
[   27.884778] brcmfmac: brcmf_p2p_create_p2pdev: timeout occurred
~/
debian@arm:~$ sudo ifconfig -a wlan0
wlan0     Link encap:Ethernet  HWaddr c4:7f:51:80:05:e1  
          inet6 addr: fe80::c67f:51ff:fe80:5e1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST DYNAMIC  MTU:1500  Metric:1
          RX packets:1242 errors:0 dropped:2 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:165088 (161.2 KiB)  TX bytes:5625 (5.4 KiB)

Kernel patch utilized

~/
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dts b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
index 7207280..5687142 100644
--- a/arch/arm/boot/dts/imx6ul-14x14-evk.dts
+++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
@@ -35,6 +35,16 @@
 			gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
 			enable-active-high;
 		};
+
+		wlreg_on: fixedregulator@100 {
+			compatible = "regulator-fixed";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			regulator-name = "wlreg_on";
+			gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+			startup-delay-us = <100>;
+			enable-active-high;
+		};
 	};
 };
 
@@ -123,12 +133,17 @@
 	status = "okay";
 };
 
+&reg_sd1_vmmc {
+	regulator-always-on;
+};
+
 &usdhc1 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 	pinctrl-0 = <&pinctrl_usdhc1>;
 	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
 	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
 	cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
+	no-1-8-v;
 	keep-power-in-suspend;
 	wakeup-source;
 	vmmc-supply = <&reg_sd1_vmmc>;
@@ -317,7 +332,7 @@
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			MX6UL_PAD_SD1_CMD__USDHC1_CMD     	0x17059
-			MX6UL_PAD_SD1_CLK__USDHC1_CLK     	0x10059
+			MX6UL_PAD_SD1_CLK__USDHC1_CLK     	0x10071
 			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 	0x17059
 			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 	0x17059
 			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 	0x17059
@@ -325,6 +340,7 @@
 			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x17059 /* SD1 CD */
 			MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT    0x17059 /* SD1 VSELECT */
 			MX6UL_PAD_GPIO1_IO09__GPIO1_IO09        0x17059 /* SD1 RESET */
+			MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x3029
 		>;
 	};
 
@@ -336,7 +352,7 @@
 			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
 			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
 			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
-
+			MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x3029
 		>;
 	};
 
@@ -348,6 +364,7 @@
 			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9
 			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9
 			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9
+			MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x3029
 		>;
 	};
 

 

 

  • No labels