2026-04-01 11:06 PM
Hello!
I'm working on a STM32MP257F-EV1 board. So far, I've been modifying the kernel device tree that came with the kernel after building the openstlinux distribution, and have that working. I'd like to move to CubeMX-generated device trees though, to adapt to a future custom design (still on the EV1 board for now though). I'm using CubeMX 6.17.0 on Ubuntu Linux.
However, I was surprised to find out that simply doing "Start My Project from ST Board" and selecting the EV1 doesn't actually configure the board with the same functionality as the defaults from the distribution:
* In my earlier post, I noted that eMMC booting doesn't work [1] (now works, but after changes)
* I have bluetooth connected to USART6, also doesn't work out of the box (and still doesn't)
* A SDIO-connected wifi card sits on the sdmmc1 (the SD card slot). Works with my modifications to the kernel device tree, but not with the same modifications to the /* USER CODE BEGIN ... END */ sections in the CubeMX-generated tree.
* weston-graphical-session doesn't work. For now due to unknown reasons.
What I'd really like is to start with a fully functioning configuration, and then cut away features I don't need. Is there an IOC file for then EV1 that can be downloaded somewhere that provides this?
Solved! Go to Solution.
2026-04-10 6:04 AM
I've gotten most things working now!
My script to flash fip etc was broken, so for a while I was chasing ghosts. With that fixed, I've gotten graphics and wifi working. The interrupt problems were due to my changes not being flashed.
I'm still having bluetooth issues, but I believe that's due to other configuration. Powering wifi via the SD card slot also works again, although I'm unsure what changed fixed that.
So closing this for now, but it would be good to get a feature-parity version compared to the standalone one so that e.g., emmc works out of the box.
2026-04-03 1:29 AM
Hello @SimonKagstrom ,
You are right, this is not a normal behavior to see a delta (in term of feature, not syntax) between the DT we provide through the developer package, and the one generated by the CubeMX. I made your test on my side, and reproduced the sdmmc2 issue in TF-A. This is not the expected result.
If you manually check the SDMMC2 box for TF-A (that is not here by default), on error message appears:
This message is wrong, TF-A should be able to manipulate different boot devices (because of bootpin selection)
Anyway, I will raise your bug to the tool team. Thank you for your report.
Kind regards,
Erwan.
2026-04-08 10:57 PM - edited 2026-04-09 1:00 AM
(Back after easter vacation, hence late reply)
Thanks a lot for looking at it @Erwan SZYMANSKI !
Do you have any hints on the other issues I see (i.e., the USART6, the graphical session and the SDMMC1 SDIO wifi)? I have a feeling that might have to do with the RIF, although I don't understand what might be causing it.
Edit: I've tested with an SD-card in the SD-card slot, and I can see that this works also with the CubeMX-generated device trees. However, the wifi card, which works with the developer package device trees, doesn't work with the CubeMX-generated code. I've added the same nodes under the USER CODE BEGIN stuff, but get
[ 3.580078] mmc0: Failed to initialize a non-removable card
during startup.
Thanks,
// Simon
2026-04-09 6:33 AM
Some further information about SDIO/Bluetooth.
I can get the WiFi chip (an Infineon CYW55513, on a Murata 2FY module) to start and somewhat work (slight instabilities), but only if I power it externally (i.e., not via the SD-card slot pins) and disable the host-wake interrupt connected to PB9:
brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
// interrupt-parent = <&gpiob>;
// interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
// interrupt-names = "host-wake";
status = "okay";
}; Bluetooth is similar: I can get it to work if I disable the host_wake interrupt on PB8 (also tested on PF11, with which it fails already during probe).
I've compared the configuration with PD2, which is the user button. To me it looks the same in the IOC file, but the PD2 clearly works when looking in /proc/interrupts while tapping the button, but not my PB8/9 and PF11. The same hardware setup works well with the developer package images. Is there some other configuration I should make to get the interrupts working / allowed?
The other observation wrt wifi I have is that powering over the SD card slot doesn't work with this image (failed to initialize... above), whereas the developer package image is the other way around (requires sd card slot powering).
No progress on the video/sound output, since I've focused on wifi/bluetooth. I do notice some errors when registering the i2s2 device:
[ 7.672365] stm32-rproc 0.m33: rsc tbl syscon not supported
[ 7.673208] stm32-rproc 0.m33: mbox_request_channel_byname() could not locate channel named "detach"
[ 7.681803] remoteproc remoteproc0: cannot get detach mbox
[ 7.704087] stm32mp257-pinctrl soc@0:pinctrl@44240000: Can't access gpio 16
[ 7.706162] remoteproc remoteproc0: m33 is available
[ 7.727993] stm32mp257-pinctrl soc@0:pinctrl@44240000: request() failed for pin 16
[ 7.747089] stm32mp257-pinctrl soc@0:pinctrl@44240000: pin-16 (400b0000.audio-controller) status -13
[ 7.752736] stm32mp257-pinctrl soc@0:pinctrl@44240000: could not request pin 16 (PB0) from group PB0 on device soc@0:pinctrl@44240000
[ 7.753371] /soc@0/bus@42080000/csi@48020000: Fixed dependency cycle(s) with /soc@0/bus@42080000/i2c@40130000/camera@1a
[ 7.763597] st,stm32-i2s 400b0000.audio-controller: Error applying setting, reverse things back
[ 7.785381] st,stm32-i2s 400b0000.audio-controller: No cache defaults, reading back from HW
2026-04-10 6:04 AM
I've gotten most things working now!
My script to flash fip etc was broken, so for a while I was chasing ghosts. With that fixed, I've gotten graphics and wifi working. The interrupt problems were due to my changes not being flashed.
I'm still having bluetooth issues, but I believe that's due to other configuration. Powering wifi via the SD card slot also works again, although I'm unsure what changed fixed that.
So closing this for now, but it would be good to get a feature-parity version compared to the standalone one so that e.g., emmc works out of the box.