cancel
Showing results for 
Search instead for 
Did you mean: 

remoteprocessor starts firmware at linux boot time on STM32MP257f-ev1

MBassi
Associate III

Hi,

I'm using an stm32mp257f-ev1 for the first time. I configured the board to boot from emmc: I flashed it using starter package image for fastboot with opteemin image. I noticed that at openSTlinux boot-time remoteproc starts M33 core with USBPD_DRP_UCSI_CM33_NonSecure_stripped.elf.
I try to figured out if it's possible to avoid firmware starting at boot-time in some way without deleting it from /lib/firmware.
I tried to search if there is something to change on DT or in kernel configuration, but I don't found anything useful

Here's the board boot log concerning firmware starting:

[ 11.524092] remoteproc remoteproc0: powering up m33
[ 11.529609] remoteproc remoteproc0: Booting fw image USBPD_DRP_UCSI_CM33_NonSecure_stripped.elf, size 144140
[ 11.539164] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node vdev0buffer@812fa000
[ 11.550597] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7)
[ 11.551849] remoteproc remoteproc0: remote processor m33 is now up
[ 11.564734] Booting fw image for stm32mp257f-ev1
[ 11.577557] virtio_rpmsg_bus virtio0: rpmsg host is online

 

Could someone give me a hint please

Marco

Edit:

I found a solution reading the remoteproc framework guide at 4.2

The command: systemctl disable st-m4firmware-load.service
Disable the service from start at next board reboot.

Now the question is:

Is it possible to disable the service by default? In a close future I will need to recompile kernel and I think the service will be by default turned on, so maybe there is a config option to change default behavior

 

1 ACCEPTED SOLUTION

Accepted Solutions
MBassi
Associate III

Solution Found:
I recompile the kernel changing STM32_RPROC from built-in to module.

If someone need, this is my configuration from menuconfig:
-> Device Drivers │
│ -> Remoteproc drivers │
│ -> Support for Remote Processor subsystem (REMOTEPROC [=y]) │
│ -> STM32 remoteproc support (STM32_RPROC [=m]) 

View solution in original post

1 REPLY 1
MBassi
Associate III

Solution Found:
I recompile the kernel changing STM32_RPROC from built-in to module.

If someone need, this is my configuration from menuconfig:
-> Device Drivers │
│ -> Remoteproc drivers │
│ -> Support for Remote Processor subsystem (REMOTEPROC [=y]) │
│ -> STM32 remoteproc support (STM32_RPROC [=m])