Device tree setup for BCM4343W

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Device tree setup for BCM4343W

3,749 Views
jayakumar2
Contributor V

Hi,

I have a new board using i.mx6sololite interfaced via SD3 (mmc2) to a BCM4343W wifi/bluetooth chip. I'm using Linux 4.1.15. I'm running into a bit of trouble getting the chip detected. I wanted to check if anyone else has a working device tree setup that is similar so that I can compare if I've made some mistakes in the configuration. My current configuration is:

wlan_en_reg: fixedregulator {
compatible = "regulator-fixed";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-name = "wlan_enable_regulator";
gpio = <&gpio5 10>; //active high /* this is WL_REG_ON/WIFI_REG_ON/SD1_DAT7/GPIO5_IO10 */
enable-active-high;
startup-delay-us = <100>;
};

&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3>;
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
bus-width = <4>;
vmmc-supply = <&wlan_en_reg>;
keep-power-in-suspend;
enable-sdio-wakeup;
needs-special-hs-handling;
status = "okay";
wifi-host;

bcmdhd_wlan_0: bcmdhd_wlan@0 {
compatible = "android,bcmdhd_wlan";
wlreg_on-supply = <&wlan_en_reg>;
};

};

pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6SL_PAD_SD3_CMD__SD3_CMD 0x17059
MX6SL_PAD_SD3_CLK__SD3_CLK 0x10059
MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x17059
MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x17059
MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x17059
MX6SL_PAD_SD1_DAT6__GPIO5_IO07 0x13059 /* wlan irq for solace */
MX6SL_PAD_SD1_DAT7__GPIO5_IO10 0x13059 /* wlan en for solace */
>;
};

With these settings, I'm getting the following bootup output:

sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc0: host does not support reading read-only switch, assuming write-enable
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using DMA
/soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: assigned as wifi host
sdhci-esdhc-imx 2198000.usdhc: Failed getting OCR mask: 0
mmc0: new high speed SDHC card at address 0007
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmcblk0: mmc0:0007 Y008B 7.42 GiB
sdhci-esdhc-imx 2198000.usdhc: could not set regulator OCR (-22)
mmcblk0: p1 p2
sdhci-esdhc-imx 2198000.usdhc: could not set regulator OCR (-22)
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA

The other SD/MMC interfaces on mmc0 and mmc1 are working fine. But mmc2 is not detecting the chip. It is a 5V chip so I thought my regulator settings are correct. As an experiment, I also tried:

wlan_en_reg: fixedregulator {
compatible = "regulator-fixed";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "wlan_enable_regulator";
gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; //active high /* this is WL_REG_ON/WIFI_REG_ON/SD1_DAT7/GPIO5_IO10 */
output-high;
enable-active-high;
};

&usdhc3 {
non-removable;
no-1-8-v;
bus-width = <4>;
cap-power-off-card;
vmmc-supply = <&wlan_en_reg>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3>;
keep-power-in-suspend;
enable-sdio-wakeup;
needs-special-hs-handling;
status = "okay";

};

and I got a similar set of errors:

sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc0: host does not support reading read-only switch, assuming write-enable
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using DMA
/soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 Y008B 7.42 GiB
mmcblk0: p1 p2
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA

Thanks in advance for any suggestions / feedback.

Labels (1)
Tags (1)
0 Kudos
1 Reply

1,618 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jaya

please look at imx6sl-evk-btwifi.dts

linux-imx.git - i.MX Linux Kernel 

Broadcom firmware packages
https://www.nxp.com/webapp/Download?colCode=BCMDHD-L4.1.15&amp;appType=license&amp;location=null&fsr... 

Chapter 46 Wi-Fi BCM4339 Driver attached Linux Manual.

also one can apply to Murata support link
wireless.murata.com/eng/products/rf-modules-1/wi-fi-bluetooth-for-freescale-i-mx.html

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos