Forums » Software Development »
Configuring and editing the pinmux settings for AM57(F) dev kit through dts files.
Added by Thejas Raj 3 days ago
Hi,
We have a yocto source built following the arm development wiki and a working base image.
We are trying to change the pin mux settings some of the peripherals like gpio through the dts files. But cant seem to find anything regarding pinctrl other than for mmc, defined in the dts files corresponding to the devkit. (am57xx-mitysom-devkit.dts and its respective inclusions).The path of the dts files seem to be in work-shared/mitysom-am57x/kernel-source/arch/arm/boot/dts
Can you elaborate on how we can do this? The primary intention is to identify the path or process to configure each peripherals as and when required and verify if the change has been reflected on the hardware.
Thanks in advance.
Replies (4)
RE: Configuring and editing the pinmux settings for AM57(F) dev kit through dts files. - Added by Jonathan Cormier 3 days ago
Unfortunately TI's guidance at least for SDK 6, is that the majority of pinmuxing must be done in u-boot while the IO's are in isolation mode... Setting up the pinmux in u-boot is covered in this following wiki page.
https://support.criticallink.com/redmine/projects/mitysom_am57x/wiki/U-Boot_Setup_Pinmux
Note: We are working on getting the SDK 9.3 release working, hoping to get this done in the next couple months. This moves to the 2023 u-boot and the 6.1 kernel and kirkstone yocto. Most modifications you make in SDK 6 should pretty easily move forward. In the 6.1 kernel, there are several 57x device trees that are doing some pinmuxing. I need to look into that to see if TI has loosened their restriction on pinmuxing.
The path of the dts files seem to be in work-shared/mitysom-am57x/kernel-source/arch/arm/boot/dts
Yeah yocto checks out the kernel source there as its used by several recipes. Note don't make changes in that directory as it will confuse the build system.
I find that its easier to checkout u-boot and the kernel separately, make and test modifications before integrating them back into yocto. The following wiki pages walk through checking out and building
https://support.criticallink.com/redmine/projects/mitysom_am57x/wiki/U-Boot_Building_for_MitySOM-AM57X
https://support.criticallink.com/redmine/projects/mitysom_am57x/wiki/Linux_Kernel
If you want to do everything within the yocto ecosystem, they provide the devtool utility, that helps you build and test software. I just haven't used it as much.
RE: Configuring and editing the pinmux settings for AM57(F) dev kit through dts files. - Added by Jonathan Cormier 3 days ago
Note if you are developing a custom board, we'd be happy to do a schematic/layout review as well. Those can be emailed to info@criticallink.com
RE: Configuring and editing the pinmux settings for AM57(F) dev kit through dts files. - Added by Thejas Raj 2 days ago
Hi,
Thank you for your reply.
And can you give me the path to the u-boot device tree in the yocto environment. The boards/cl directory mentioned in the u-boot wiki that you just provided, especially.
RE: Configuring and editing the pinmux settings for AM57(F) dev kit through dts files. - Added by Jonathan Cormier 2 days ago
Thejas Raj wrote in RE: Configuring and editing the pinmux settings for AM57(...:
Hi,
Thank you for your reply.And can you give me the path to the u-boot device tree in the yocto environment. The boards/cl directory mentioned in the u-boot wiki that you just provided, especially.
Please clone the u-boot and kernel source separately using git.
git clone https://support.criticallink.com/git/processor-sdk-u-boot.git --branch processor-sdk-u-boot-2019.01 git clone https://support.criticallink.com/git/processor-sdk-linux.git --branch mitysom-linux-4.19
I tried doing things using the devtools command to "modify" the recipes. This will checkout the sources in a temporary workspace where it is safe to make modifications.
In theory, After launching the docker
pokyuser@e34e187356b3:/workdir$ export MACHINE=mitysom-am57x pokyuser@e34e187356b3:~$ cd build pokyuser@e34e187356b3:~$ source conf/setenv pokyuser@e34e187356b3:~$ devtool modify u-boot-cl-ti pokyuser@e34e187356b3:~$ devtool modify linux-cl-ti
This should checkout the sources to build/workspaces/sources/*
However when I try this, devtools is failing to parse the u-boot and kernel SRC_URIs... so its possible devtools isn't working properly in thud
File "/work/sources/bitbake/lib/bb/fetch2/__init__.py", line 368, in decodeurl raise MalformedUrl(url) bb.fetch2.MalformedUrl: The URL: '${KERNEL_REPO};protocol=http;branch=master;nocheckout=1;name=machine' is invalid and cannot be interpreted