[Buildroot] [PATCH v3 4/4] configs/stm32mp157c-dk2: add support for wifi

Bartosz Bilas b.bilas at grinn-global.com
Fri Oct 9 16:49:50 UTC 2020


Hello Shlomi,

On 08.10.2020 22:45, Shlomi Vaknin wrote:
> Hi Bartek,
>
> I pulled the latest commits, downloaded my patches from patchwork and 
> applied them. Then, I started a new out of tree build and everything 
> is working. You can find my sdcard image here: 
> https://drive.google.com/drive/folders/1_FwVtw70iPS_hz7yFiiOlhXiUKlsi9bH?usp=sharing 
>
> This problem is very strange. Maybe you can check if your board's wifi 
> is working with an image that is known to work? Maybe the formal image 
> from st?
>
> Regards,
> Shlomi
>
I've tested your image but the result is the same, see:

[  129.691504] cfg80211: Loading compiled-in X.509 certificates for 
regulatory database
[  129.740878] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
# [  129.804593] brcmfmac: brcmf_fw_alloc_request: using 
brcm/brcmfmac43430-sdio for chip BCM43430/1
[  130.885129] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): 
clkctl 0x50
[  131.911135] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): 
clkctl 0x50

My board is:

CPU: STM32MP157CAC Rev.B
Model: STMicroelectronics STM32MP157C-DK2 Discovery Board
Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2)
Board: MB1272 Var2.0 Rev.C-01
DRAM:  512 MiB

Best
Bartek
> ‫בתאריך יום ה׳, 8 באוק׳ 2020 ב-20:31 מאת ‪Bartosz Bilas‬‏ 
> <‪b.bilas at grinn-global.com <mailto:b.bilas at grinn-global.com>‬‏>:‬
>
>     Hi Shlomi,
>
>     On 07.10.2020 22:16, Shlomi Vaknin wrote:
>>     Hi Bartek,
>>
>>     That is very strange, since it works for me:
>>
>>     #############################################################################################################################
>>     Starting mdev... OK
>>     [    4.168709] cfg80211: Loading compiled-in X.509 certificates
>>     for regulatory database
>>     [    4.224122] cfg80211: Loaded X.509 cert 'sforshee:
>>     00b28ddf47aef9cea7'
>>     [    4.288641] brcmfmac: brcmf_fw_alloc_request: using
>>     brcm/brcmfmac43430-sdio for chip BCM43430/1
>>     [    4.486998] brcmfmac: brcmf_fw_alloc_request: using
>>     brcm/brcmfmac43430-sdio for chip BCM43430/1
>>     [    4.501649] brcmfmac: brcmf_c_process_clm_blob: no clm_blob
>>     available (err=-2), device may have limited channels available
>>     [    4.536998] brcmfmac: brcmf_c_preinit_dcmds: Firmware:
>>     BCM43430/1 wl0: Oct 23 2017 03:55:53 version 7.45.98.38 (r674442
>>     CY) FWID 01-e58d219f
>>
>>     # ifconfig -a
>>     eth0      Link encap:Ethernet  HWaddr 00:80:E1:42:58:DB
>>               BROADCAST MULTICAST  MTU:1500  Metric:1
>>               RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>               TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>               collisions:0 txqueuelen:1000
>>               RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>               Interrupt:49 Base address:0xe000
>>
>>     lo        Link encap:Local Loopback
>>               inet addr:127.0.0.1  Mask:255.0.0.0
>>               inet6 addr: ::1/128 Scope:Host
>>               UP LOOPBACK RUNNING  MTU:65536  Metric:1
>>               RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>               TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>               collisions:0 txqueuelen:1000
>>               RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>
>>     sit0      Link encap:IPv6-in-IPv4
>>               NOARP  MTU:1480  Metric:1
>>               RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>               TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>               collisions:0 txqueuelen:1000
>>               RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>
>>     wlan0     Link encap:Ethernet  HWaddr 00:9D:6B:A6:BC:BA
>>               BROADCAST MULTICAST  MTU:1500  Metric:1
>>               RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>               TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>               collisions:0 txqueuelen:1000
>>               RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>     #############################################################################################################################
>>
>>     The nvram configuration file was directly copied from the bsp
>>     layer of st in yocto (dunfell):
>>     https://github.com/STMicroelectronics/meta-st-stm32mp/blob/dunfell/recipes-kernel/linux-firmware/linux-firmware/brcmfmac43430-sdio.txt
>>
>>     Regards,
>>     Shlomi
>     So in that case we have to clarify our environments. Have you
>     tested using the latest master branch or is it some tagged
>     version? Could you do a clean build once again to be sure that you
>     don't use any cached things? If you were able to attach your
>     sdcard image I would test it using my device and check if it
>     really works because I don't see what could be wrong with that
>     series. I don't think that ST has changed something between HW
>     revision but I'm not able to locate on PCB what revision exactly
>     is my board (I guess ST hasn't written it on the soldermask).
>
>
>     Best
>     Bartek
>>
>>     ‫בתאריך יום ד׳, 7 באוק׳ 2020 ב-22:27 מאת ‪Bartosz Bilas‬‏
>>     <‪b.bilas at grinn-global.com <mailto:b.bilas at grinn-global.com>‬‏>:‬
>>
>>         Hi Shlomi,
>>
>>         On 07.10.2020 21:13, Bartosz Bilas wrote:
>>         >
>>         > Hi Shlomi,
>>         >
>>         > On 07.10.2020 16:49, Shlomi Vaknin wrote:
>>         >> Adding support for wifi for stm32mp157c-dk2 is achieved by
>>         using
>>         >> another dts which includes the bindings for the wifi module.
>>         >> In addition, a txt file for the wifi firmware was added.
>>         >> This was copied from the yocto bsp layer of st.
>>         >>
>>         >> Signed-off-by: Shlomi Vaknin<shlomi.39sd at gmail.com
>>         <mailto:shlomi.39sd at gmail.com>>
>>         >> ---
>>         >>   .../stm32mp157c-dk2/linux.config     |  4 +-
>>         >>   .../overlay/boot/extlinux/extlinux.conf      |  2 +-
>>         >>   .../brcmfmac43430-sdio.st
>>         <http://brcmfmac43430-sdio.st>,stm32mp157c-dk2.txt | 59
>>         +++++++++++++++++++
>>         >>  .../stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts  | 32 ++++++++++
>>         >>   configs/stm32mp157c_dk2_defconfig      |  7 ++-
>>         >>   5 files changed, 100 insertions(+), 4 deletions(-)
>>         >>   create mode 100644
>>         board/stmicroelectronics/stm32mp157c-dk2/overlay/lib/firmware/brcm/brcmfmac43430-sdio.st
>>         <http://brcmfmac43430-sdio.st>,stm32mp157c-dk2.txt
>>         >>   create mode 100644
>>         board/stmicroelectronics/stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts
>>         >>
>>         >> diff --git
>>         a/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>>         b/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>>         >> index c03eb748b4..4beee3a708 100644
>>         >> --- a/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>>         >> +++ b/board/stmicroelectronics/stm32mp157c-dk2/linux.config
>>         >> @@ -24,8 +24,6 @@ CONFIG_HIGHMEM=y
>>         >>   CONFIG_FORCE_MAX_ZONEORDER=12
>>         >>   CONFIG_SECCOMP=y
>>         >>   # CONFIG_ATAGS is not set
>>         >> -CONFIG_ZBOOT_ROM_TEXT=0x0
>>         >> -CONFIG_ZBOOT_ROM_BSS=0x0
>>         >>   CONFIG_ARM_APPENDED_DTB=y
>>         >>   CONFIG_ARM_ATAG_DTB_COMPAT=y
>>         >>   CONFIG_VFP=y
>>         >> @@ -45,6 +43,7 @@ CONFIG_UNIX=y
>>         >>   CONFIG_INET=y
>>         >>   CONFIG_CAN=y
>>         >>   CONFIG_CAN_M_CAN=y
>>         >> +CONFIG_CFG80211=m
>>         >>   CONFIG_DEVTMPFS=y
>>         >>   CONFIG_DEVTMPFS_MOUNT=y
>>         >>   CONFIG_SIMPLE_PM_BUS=y
>>         >> @@ -66,6 +65,7 @@ CONFIG_SMSC911X=y
>>         >>   CONFIG_STMMAC_ETH=y
>>         >>   CONFIG_DWMAC_DWC_QOS_ETH=y
>>         >>   CONFIG_MDIO_BITBANG=y
>>         >> +CONFIG_BRCMFMAC=m
>>         >>   CONFIG_INPUT_JOYDEV=y
>>         >>   CONFIG_INPUT_EVDEV=y
>>         >>   CONFIG_INPUT_TOUCHSCREEN=y
>>         >> diff --git
>>         a/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf
>>         b/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf
>>         >> index 5b7f56ee77..a6595971a8 100644
>>         >> ---
>>         a/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf
>>         >> +++
>>         b/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf
>>         >> @@ -1,4 +1,4 @@
>>         >>   label stm32mp157c-dk2-buildroot
>>         >>     kernel /boot/zImage
>>         >> -  devicetree /boot/stm32mp157c-dk2.dtb
>>         >> +  devicetree /boot/stm32mp157c-dk2-wifi.dtb
>>         >>     append root=/dev/mmcblk0p4 rootwait
>>         >> diff --git
>>         a/board/stmicroelectronics/stm32mp157c-dk2/overlay/lib/firmware/brcm/brcmfmac43430-sdio.st
>>         <http://brcmfmac43430-sdio.st>,stm32mp157c-dk2.txt
>>         b/board/stmicroelectronics/stm32mp157c-dk2/overlay/lib/firmware/brcm/brcmfmac43430-sdio.st
>>         <http://brcmfmac43430-sdio.st>,stm32mp157c-dk2.txt
>>         >> new file mode 100644
>>         >> index 0000000000..b36de8837f
>>         >> --- /dev/null
>>         >> +++
>>         b/board/stmicroelectronics/stm32mp157c-dk2/overlay/lib/firmware/brcm/brcmfmac43430-sdio.st
>>         <http://brcmfmac43430-sdio.st>,stm32mp157c-dk2.txt
>>         >> @@ -0,0 +1,59 @@
>>         >> +# NVRAM file for BCM943430WLSELG
>>         >> +# 2.4 GHz, 20 MHz BW mode
>>         >> +
>>         >> +# The following parameter values are just placeholders,
>>         need to be updated.
>>         >> +manfid=0x2d0
>>         >> +prodid=0x0726
>>         >> +vendid=0x14e4
>>         >> +devid=0x43e2
>>         >> +boardtype=0x0726
>>         >> +boardrev=0x1202
>>         >> +boardnum=22
>>         >> +macaddr=00:90:4c:c5:12:38
>>         >> +sromrev=11
>>         >> +boardflags=0x00404201
>>         >> +boardflags3=0x08000000
>>         >> +xtalfreq=37400
>>         >> +#xtalfreq=19200
>>         >> +nocrc=1
>>         >> +ag0=255
>>         >> +aa2g=1
>>         >> +ccode=ALL
>>         >> +
>>         >> +pa0itssit=0x20
>>         >> +extpagain2g=0
>>         >> +
>>         >> +#PA parameters for 2.4GHz, measured at CHIP OUTPUT
>>         >> +pa2ga0=-168,7161,-820
>>         >> +AvVmid_c0=0x0,0xc8
>>         >> +cckpwroffset0=5
>>         >> +
>>         >> +# PPR params
>>         >> +maxp2ga0=84
>>         >> +txpwrbckof=6
>>         >> +cckbw202gpo=0
>>         >> +legofdmbw202gpo=0x66111111
>>         >> +mcsbw202gpo=0x77711111
>>         >> +propbw202gpo=0xdd
>>         >> +
>>         >> +# OFDM IIR :
>>         >> +ofdmdigfilttype=18
>>         >> +ofdmdigfilttypebe=18
>>         >> +# PAPD mode:
>>         >> +papdmode=1
>>         >> +papdvalidtest=1
>>         >> +pacalidx2g=32
>>         >> +papdepsoffset=-36
>>         >> +papdendidx=61
>>         >> +
>>         >> +il0macaddr=00:90:4c:c5:12:38
>>         >> +wl0id=0x431b
>>         >> +
>>         >> +deadman_to=0xffffffff
>>         >> +# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
>>         >> +muxenab=0x1
>>         >> +# CLDO PWM voltage settings - 0x4 - 1.1 volt
>>         >> +#cldo_pwm=0x4
>>         >> +
>>         >> +#VCO freq 326.4MHz
>>         >> +spurconfig=0x3
>>         >> diff --git
>>         a/board/stmicroelectronics/stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts
>>         b/board/stmicroelectronics/stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts
>>         >> new file mode 100644
>>         >> index 0000000000..89747d2b5f
>>         >> --- /dev/null
>>         >> +++
>>         b/board/stmicroelectronics/stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts
>>         >> @@ -0,0 +1,32 @@
>>         >> +/dts-v1/;
>>         >> +
>>         >> +#include "stm32mp157c-dk2.dts"
>>         >> +
>>         >> +/ {
>>         >> +    wifi_pwrseq: wifi-pwrseq {
>>         >> +            compatible = "mmc-pwrseq-simple";
>>         >> +            reset-gpios = <&gpioh 4 GPIO_ACTIVE_LOW>;
>>         >> +    };
>>         >> +};
>>         >> +
>>         >> +/* Wifi */
>>         >> +&sdmmc2 {
>>         >> +    arm,primecell-periphid = <0x10153180>;
>>         >> +    pinctrl-names = "default", "opendrain", "sleep";
>>         >> +    pinctrl-0 = <&sdmmc2_b4_pins_a>;
>>         >> +    pinctrl-1 = <&sdmmc2_b4_od_pins_a>;
>>         >> +    pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
>>         >> +    non-removable;
>>         >> +    st,neg-edge;
>>         >> +    bus-width = <4>;
>>         >> +    vmmc-supply = <&v3v3>;
>>         >> +    mmc-pwrseq = <&wifi_pwrseq>;
>>         >> +    #address-cells = <1>;
>>         >> +    #size-cells = <0>;
>>         >> +    status = "okay";
>>         >> +
>>         >> +    brcmf: bcrmf at 1 {
>>         >> +            reg = <1>;
>>         >> +            compatible = "brcm,bcm4329-fmac";
>>         >> +    };
>>         >> +};
>>         >> diff --git a/configs/stm32mp157c_dk2_defconfig
>>         b/configs/stm32mp157c_dk2_defconfig
>>         >> index bf7b9868b1..9c2e436244 100644
>>         >> --- a/configs/stm32mp157c_dk2_defconfig
>>         >> +++ b/configs/stm32mp157c_dk2_defconfig
>>         >> @@ -9,8 +9,13 @@
>>         BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13"
>>         >>   BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>>         >>
>>          BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp157c-dk2/linux.config"
>>         >>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
>>         >> -BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-dk2"
>>         >>
>>         +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/stmicroelectronics/stm32mp157c-dk2/stm32mp157c-dk2-wifi.dts"
>>         >>   BR2_LINUX_KERNEL_INSTALL_TARGET=y
>>         >> +BR2_PACKAGE_LINUX_FIRMWARE=y
>>         >> +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
>>         >> +BR2_PACKAGE_WIRELESS_REGDB=y
>>         >> +BR2_PACKAGE_WPA_SUPPLICANT=y
>>         >> +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
>>         >>   BR2_TARGET_ROOTFS_EXT2=y
>>         >>   BR2_TARGET_ROOTFS_EXT2_4=y
>>         >>   BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
>>
>>         I suggest to add BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV to load
>>         firmware and driver automatically on boot.
>>
>>         Unfortunately it doesn't work for me, see:
>>
>>         [    4.186415] cfg80211: Loading compiled-in X.509
>>         certificates for
>>         regulatory database
>>         [    4.237180] cfg80211: Loaded X.509 cert 'sforshee:
>>         00b28ddf47aef9cea7'
>>         [    4.300765] brcmfmac: brcmf_fw_alloc_request: using
>>         brcm/brcmfmac43430-sdio for chip BCM43430/1
>>         [    5.389412] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
>>         (1000000):
>>         clkctl 0x50
>>         [    6.407710] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
>>         (1000000):
>>         clkctl 0x50
>>
>>         Google says that it could be due to wrong nvram file
>>         configuration but I
>>         assume that you have run it successfully?
>>
>>         # ifconfig -a
>>         eth0      Link encap:Ethernet  HWaddr 00:80:E1:42:56:44
>>                    BROADCAST MULTICAST  MTU:1500  Metric:1
>>                    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>                    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>                    collisions:0 txqueuelen:1000
>>                    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>                    Interrupt:49 Base address:0xe000
>>
>>         lo        Link encap:Local Loopback
>>                    inet addr:127.0.0.1  Mask:255.0.0.0
>>                    inet6 addr: ::1/128 Scope:Host
>>                    UP LOOPBACK RUNNING  MTU:65536  Metric:1
>>                    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>                    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>                    collisions:0 txqueuelen:1000
>>                    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>
>>         sit0      Link encap:IPv6-in-IPv4
>>                    NOARP  MTU:1480  Metric:1
>>                    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>>                    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>                    collisions:0 txqueuelen:1000
>>                    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
>>
>>         #
>>
>>         As you can see there is no wlan0 interface.
>>
>>         Best
>>         Bartek
>>
>>
>>     _______________________________________________
>>     buildroot mailing list
>>     buildroot at busybox.net  <mailto:buildroot at busybox.net>
>>     http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20201009/518ebed5/attachment.html>


More information about the buildroot mailing list