2025-10-06 2:17 AM
Hello,
I’m currently rebuilding the device tree (DTS) for our custom board. I’ve modified the pin configurations according to our schematic. Could you please confirm if updating only the following files is sufficient for our customization?
stm32mp257f-ev1.dts
stm32mp25-pinctrl.dtsi
My understanding is that these two files should cover the required pin configuration changes for our board, and the rest of the device tree files can remain unchanged.
Also, I would like to avoid the consumer=kernel messages that appear when running the command:
Could you please confirm if my approach is correct, or if there are any additional changes needed elsewhere in the device tree?
Best regards,
Preetham.
Please suggest points that help to my work.
2025-10-06 3:01 AM
Hello @_Krishna ,
Your overall understanding is partially correct.
Indeed, you have to modify what we call the board device tree (DTS) so that the HW configuration matches with your own board. The pinctrl as you mentioned it is to adapt to your needs too, but you can rewrite the pin configuration in your board DTS file.
However, for your own design, sometimes starting from the Evaluation board DTS is a bit tricky. CubeMX tool is supposed to create you all the device tree you need regarding the configuration you set.
Another important point, because it seems that you are targeting the Linux kernel here, but the DTS have to be changed/adapted in every BSP component (Linux, OP-TEE, U-Boot, TF-A) if you hope to get a bootable board at the end.
DDR configuration is also to adapt depending on your design.
Kind regards,
Erwan.
PS: Some useful links:
- https://wiki.st.com/stm32mpu/wiki/How_to_create_STM32MPU_projects_with_STM32CubeMX
- https://wiki.st.com/stm32mpu/wiki/How_to_create_your_product_from_design_to_manufacturing
2025-10-06 3:48 AM
Hii Erwan,
Thanks for replying your answer is bit tricky for me to understand since I am a beginner can you please elaborate so that I ca understand as a beginner?
Thanks and regards,
Preetham
2025-10-06 8:12 AM
Hi @_Krishna ,
Did you already prototype your product on a ST evaluation/discovery kit ?
I think the first step would be to follow the ST wiki guidelines to get more familiar with the evaluation kit itself. The entry point is here: https://wiki.st.com/stm32mpu/wiki/Getting_started
I think the idea would be manipulate on ST board before to get into your own design software. Then once you well understand how does the OpenSTLinux ecosystem works, you can try to apply this on your own hardware, indeed by changing device trees, DDR config...
Kind regards,
Erwan.
2025-10-08 6:56 AM
Hii @Erwan SZYMANSKI,
Thanks for replying — that means a lot. I was busy. I checked as per your suggestions, and in TFM and U-Boot, they have similar files in their sources. However, those files are unmodified, so I think changing those device trees plays a key role in avoiding this “consumer = kernel” issue.
2025-10-13 5:04 AM
Hi @Erwan SZYMANSKI,
Thanks for replaying.I have tested the custom image on my evaluation board all pins have are allocated except for one pin PZ8 which was consumed by kernel although I have changed the dts as per my reuiremnt in kernel, u-boot and tf-a and then I have tested it on the custom board with custom image I got following error:-
ERROR: ddrphy_phyinit_usercustom_g_waitfwdone Training has failed.ERROR: DDR PHY init: Error -1 BACKTRACE: START: stm32mp2_ddr_init
PANIC at PC : 0x0000000000e01f9fc
The specific error seems related to DDR PHY training failure:
ERROR: ddrphy_phyinit_usercustom_g_waitfwdone Training has failed.
We're using DDR4 2x16Gbits @ 1200MHz as indicated in the log:
and attached a image of boot log and the error what we are getting while booting with custom board, but boots successfully with stm32mp257f-ev1.
I have two doubs :-
1. What is this error about.
2. What does this consumer=kernel can I rectify it or I cant?because the issue is same in custom image and evaluation board default image also.