How to use remoteproc on STM32MP151?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-09-02 10:38 PM
I want to use remoteproc to load and start firmware on Coretex-M4 from Cortex-A7.
I refer to the following Wiki page.
https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview
In above Wiki page, I have tried [4.1.1 Remote processor boot through sysfs].
However, I can't find "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory.
("/sys/class/remoteproc/" directory has no any sub-directory or files at all)
What should I do to create "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory?
Do I have to modify Linux kernel configuration or Device Tree?
For the reference, [Support for Remote Processor subsystem] and [STM32 remoteproc support] is enabled in Linux kernel configuration as modules , and these have being loaded by "modprobe" command.
Best regards.
H. Masuda
Solved! Go to Solution.
- Labels:
-
STM32MP15 Lines
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-09-13 7:16 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-09-14 5:09 AM
Hello @HMasu.1​ ,
In your .config file I can see that config_remoteproc and config_rpmsg parameters are still equal to "m" and not "y".
Are you sure you saved or cross compiled again the kernel as it is written here:
https://wiki.st.com/stm32mpu/wiki/Menuconfig_or_how_to_configure_kernel
It seems that no changes have occured.
Best regards,
Armand
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-09-14 9:13 PM
Hi @ArmandG​
​
Sorry. I had reverted the kernel config (CONFIG_STM32_IPCC, CONFIG_REMOTEPROC and CONFIG_RPMSG parameters equal to "m") because the same error occurs when CONFIG_STM32_IPCC, CONFIG_REMOTEPROC and CONFIG_RPMSG parameters are changed to "y".
​
I have set ​CONFIG_STM32_IPCC, CONFIG_REMOTEPROC and CONFIG_RPMSG to "y" again.
( The same error occurs, I can't find "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory.)​
I send the .config, dmesg log and .dtb again in above setting.
please check it.
​
Best Regards​,
​H. Masuda
​
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-09-22 6:07 PM
Hi @ArmandG​ ,
​Can you reproduce with my setup?
Please let me know if you have any information.
Best Regards​,
​H. Masuda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-09 1:45 AM
Hi @HMasu.1​ ,
Sorry for the late reply.
I escalated your question to the development team.
I keep you posted.
Best regards,
Armand
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-11 5:14 PM
Hi @ArmandG​ ,
​
Thank you for your confirmation.
​After modifying my description of memory section used by rpmsg (e.g. vdev or shared memory) in the Device Tree, I was able to create "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory.
​
Thank you for your support.
​
​H. Masuda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-13 2:04 AM
Hi @HMasu.1​ ,
Good to see that you fixed the issue !
Could you please share the patch you did ? We continuously improve our solution and all contributions are welcome :)
BR,
Christophe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-13 5:59 PM
Hi, @Christophe Guibout​
Thank you for your message.
Sorry, I haven't created the proper patch yet.
I could solve the problem by following way.
1) Add following sub node in both root node and reserved-memory node of root node in my kernel device tree.
-rsctbl
-vring0
-vring1
-shm0
-shm1
-shm10
-shm11
-shm12
-shm13
​
​2) Add following m4_rproc node in addons user code area in my device tree.
&m4_rproc {
memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vedv0buffer>;
};
​
Best Regards.
H. Masuda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-15 1:05 AM
Hi @HMasu.1​ ,
So, you need to have at least <&vdev0vring1> and <&vdev0buffer> in « memory-region » property, otherwise, it will not work as expected.
In case of non functionnal feature, I would recommand to look into one of the ST reference board device tree (example of m4_rproc entry in stm32mp15xx-dkx.dtsi) in order to cross-check that everything in fine in your own DT.
BR,
Christophe

- « Previous
-
- 1
- 2
- Next »