Forums › Devices › OSD32MP15x › dtc on OSD32MP1-RED
Hello,
I installed dtc on the RED board with Debian, it is looking good converting /sys/firmware/fdt to fdt.dts. I did conversion in another directory over copy of fdt file. Reverse conversion did not give same binary fdt – there were differences both in size and in data. Also, fdt file is read only, so I couldn’t replace original fdt with new one. Is it possible to modify fdt file, or I need to create new image? I’m experienced with embedded systems, but new to Linux.
Budimir,
There are better ways for device tree modification:
1. Developer Package: https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package (Keep track of kernel version you are using and match the developer package kernel version)
2. Distribution Package: https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Distribution_Package
3. Use the Debian SDK: https://github.com/octavosystems/osd32mp1-build-tools/blob/master/Makefile#L148
I am not sure whether this is happening on OSD32MP1-RED, but bootloader and kernel can modify the device tree at runtime.
Best,
Neeraj
Thanks Neeraj,
I’m using the Debian SDK with a docker. It produced a SD image which works fine, but I’m now trying to find which file I should edit to enable access of m4 core to peripherals (2 SPIs , 2 external interrupts and few GPIO lines). As I understand, initial SD image has device tree which takes almost all peripherals – couldn’t find one pin which is accessible to m4 core.
I thought that editing device tree in runtime is not possible, can you point me to some manuals how to do that?
Thanks for your help, I appreciate very much your efforts!
Best,
Budimir
Budimir,
Here is an example of how DK2(ST’s dev board) handles assignments to the M4 core via device tree: https://github.com/STMicroelectronics/linux/blob/v6.6-stm32mp/arch/arm/boot/dts/st/stm32mp157c-dk2-m4-examples.dts.
Here are some useful resources:
1. CubeMX based peripheral assignment to cores: https://wiki.st.com/stm32mpu/wiki/How_to_assign_an_internal_peripheral_to_an_execution_context
2. ETZPC peripheral: https://wiki.st.com/stm32mpu/wiki/ETZPC_device_tree_configuration
3. M4-A7 architecture overview: https://wiki.st.com/stm32mpu/wiki/Coprocessor_management_overview
Take a look at this introductory course that goes over a bunch of the above material closely: https://octavosystems.com/courses/getting-started-with-embedded-linux/
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields