cancel
Showing results for 
Search instead for 
Did you mean: 

Adding WiFi and Bluetooth Support for STM32MP1 based boards.

DKUMA.11
Associate III

I have a custom Board based on STM32MP157CAC3 MPU. I am connecting MURATA 1DX WiFi+BT Module to SDMMC1 (4bits mode). The connection is exactly similar to stm32mp157c-dk2 board. The device tree is also similar. But the device is not being recognised.

  1. Do I have to enable some special flags during kernel compilation?
  2. Does Latest Kernel version has support for this 1DX Module.
  3. If someone wants to add a similar module AP6236, what will be the process of adding such module in baord.
6 REPLIES 6
Kevin HUBER
ST Employee

Hello @DKUMA.1​ ,

Yes, if you built your own linux kernel, you must be sure to have in your conf/machine/<board_name>.conf the wifi enable.

You must have

MACHINE_FEATURES += "wifi"

and

# Bluetooth
BLUETOOTH_LIST += "linux-firmware-bluetooth-bcm4343"
# Wifi
WIFI_LIST += "linux-firmware-bcm43430"

This is explained here: https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machine#Edit_the_new_machine_file-_stm32mp1--3CProjectName-3E-conf

You can also have a look at the default machine conf files provided by ST, for example "meta-st/meta-st-stm32mp/conf/machine/stm32mp15-disco.conf".

Hope it helps,

Regards,

Kevin

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
DKUMA.11
Associate III

Hi,

Thanks for the reply.

Will it automatically put necessary files to /lib/firmware/brcm/ ?

One more thing for AP6236 will the process be same?

DKUMA.11
Associate III

I did the changes you told,

But in the bootlog there is no entry related to "brcm" wifi module

Kevin HUBER
ST Employee

Hello @DKUMA.1​ ,

Yes if everything is ok, it will add files in /lib/firmware/.

For AP6236, I don't know this device.

Our linux is built through Yocto Kirkstone, so this is a community environment. The WIFI drivers are part of the linux community, so if you have issue to integrate the AP6236, the manufacturer of the AP6236 devices should help you.

In my opinion, AP6236 is also a broadcom module, so it should be almost similar, but I'm not sure.

But in the bootlog there is no entry related to "brcm" wifi module

To help you, please can I have:

Regards,

Kevin

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
DKUMA.11
Associate III

Hi Kevin,

Thnaks for the reply.

I have checked, files are present in /lib/firmware/brcm/ folder, Still there is no log for brcmfmac in Kernel log.

I am attaching dts, dtb and kernel log file in the ZIP Files.

Kevin HUBER
ST Employee

Hello @DKUMA.1​ ,

Sorry for the delay.

This is weird that you do not have the BRCM traces during your boot.

I didn't found the error, but I saw something weird in the sdmmc configuration that controls the brcmfmac.

If I convert your file "stm32mp157a-visionsom-dsi-emmc-mx.dtb" as a device tree source text by using the command:

dtc stm32mp157a-visionsom-dsi-emmc-mx.dtb > stm32mp157a-visionsom-dsi-emmc-mx-extract.dtb

And I look at it, I can see that your sdmmc node has a property compatible that doesn't use the driver of ST:

		sdmmc@58005000 {
			compatible = "arm,pl18x\0arm,primecell";

If we look at the default DTB file from stm32mp157c-dk2:

		mmc@58007000 {
			compatible = "st,stm32-sdmmc2\0arm,pl18x\0arm,primecell";

You can see that the st driver is wrote as the first one to use. This is defined in the file "stm32mp151.dtsi":

		sdmmc2: mmc@58007000 {
			compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";

please can you make a try with a similar compatible property.

----------------------

Not related but you have a lot of errors on other devices, I don't know if this is "normal":

 stm32-dmamux 48002000.dma-router: Run out of free DMA requests
 st,stm32-sai 4400b000.sai: missing bus clock pclk: -2
 st,stm32-sai: probe of 4400b000.sai failed with error -2
 stm32-dmamux 48002000.dma-router: Run out of free DMA requests
 spi_stm32 44009000.spi: failed to request tx dma channel
 stm32-dmamux 48002000.dma-router: Run out of free DMA requests
[  OK  ] Started udev Coldplug all Devices.
 stm32-dmamux 48002000.dma-router: Run out of free DMA requests
 spi_stm32 44009000.spi: failed to request rx dma channel
 stm32-dmamux 48002000.dma-router: Run out of free DMA requests
 mc: Linux media interface: v0.10
 spi_stm32 44009000.spi: driver initialized
 videodev: Linux video capture interface: v2.00
 OF: graph: no port node found in /soc/dcmi@4c006000
 stm32-hash 54002000.hash: will run requests pump with realtime priority
 stm32-cryp 54001000.cryp: will run requests pump with realtime priority
 stm32-dcmi 4c006000.dcmi: Could not find the endpoint

You also have errors with your dsi screen and pwm:

 stm32mp157-pinctrl soc:pin-controller@50002000: could not request pin 88 (PF8) from group PF8  on device soc:pin-controller@50002000
 stm32-pwm 40007000.timer:pwm: Error applying setting, reverse things back
 stm32-pwm: probe of 40007000.timer:pwm failed with error -22
[  OK  ] Created slice system-weston.slice.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
         Starting Load/Save Screen …of backlight:5a000000.dsi.0...
[FAILED] Failed to start Load/Save …s of backlight:5a000000.dsi.0.
See 'systemctl status systemd-backlight…ht:5a000000.dsi.0.service' for details.

Several things looks wrong in your configuration.

----------------

Please once your board finished its boot, can you do a:

ifconfig wlan0

and

ps -A | grep brcm
 

and send me the traces results.

Best Regards,

Kevin

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.