2 Replies Latest reply on Dec 18, 2019 3:23 PM by AsAl_4421831

    1MW wifi with imx6ul error - HT Avail timeout (1000000): clkctl 0x50

    AsAl_4421831

      Hello Everyone,

       

      My company has made a custom board based on imx6ul for EFTPOS applications. We are using 1MW module in our product. Our interface is SDIO based. Schematic is as below.

       

       

       

      I get the following error after bootup.

       

      root@imx6:~# dmesg | grep brcmfmac

      root@imx6ulevk:~# dmesg | grep brcm

      [    3.111520] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6

      [    3.197038] brcmfmac mmc1:0001:1: direct-loading brcm/brcmfmac43455-sdio.bin

      [    3.250556] brcmfmac mmc1:0001:1: direct-loading brcm/brcmfmac43455-sdio.txt

      [    4.289794] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

      [    5.299965] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

       

      device tree is as follows:

       

      regulators {
      compatible = "simple-bus";
      #address-cells = <1>;
      #size-cells = <0>;
      
      
      wlreg_on: fixedregulator@100 {
      compatible = "regulator-fixed";
      regulator-min-microvolt = <3300000>;
      regulator-max-microvolt = <3300000>;
      regulator-name = "wlreg_on";
      gpio = <&pca9535_0 0 GPIO_ACTIVE_HIGH>;
      startup-delay-us = <100>;
      enable-active-high;
      };
      };
      
      &usdhc1 {
      #address-cells = <1>;
      #size-cells = <0>;
      pinctrl-names = "default", "state_100mhz", "state_200mhz";
      pinctrl-0 = <&pinctrl_wifi>;
      pinctrl-1 = <&pinctrl_wifi_100mhz>;
      pinctrl-2 = <&pinctrl_wifi_200mhz>;
      bus-width = <4>;
      non-removable;
      vmmc-supply = <&wlreg_on>;
      vqmmc-1-8-v;
      pm-ignore-notify;
      wifi-host;
      status = "okay";
      
      
      brcmf: bcrmf@1 {
                reg = <1>;
                compatible = "brcm,bcm4329-fmac";
                  interrupt-parent = <&gpio3>;
                  interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
                interrupt-names = "host-wake";
           };
      };
      
      
      pinctrl_wifi: wifigrp {
      fsl,pins = <
      MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17019
      MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10029
      MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17019
      MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17019
      MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17019
      MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17019
      MX6UL_PAD_LCD_RESET__GPIO3_IO04      0x50          //host wake interrupt
      >;
      };
      
      
      pinctrl_wifi_100mhz: wifigrp1 {
      fsl,pins = <
      MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
      MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10069
      MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
      MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
      MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
      MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
      MX6UL_PAD_LCD_RESET__GPIO3_IO04      0x50
      >;
      };
      
      pinctrl_wifi_200mhz: wifigrp2 {
      fsl,pins = <
      MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170d9
      MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100e9
      MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170d9
      MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170d9
      MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170d9
      MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170d9
      MX6UL_PAD_LCD_RESET__GPIO3_IO04           0x50
      >;
      };
      
      

       

      I checked my /lib/firmware/brcm folder as well,

      root@imx6:~# ls /lib/firmware/brcm/

      brcmfmac4339-sdio.bin  brcmfmac43455-sdio.bin       brcmfmac43455-sdio.txt

      brcmfmac4339-sdio.txt  brcmfmac43455-sdio.clm_blob

       

      Binaries are present.

       

      Could someone please help me to understand if anything is missing? Your help is much appreciated.

      My bsp:

      Linux imx6ulevk 4.19.35-04770-ge5eda1f8cba7-dirty

       

      Regards,

      Asma