Trouble with PWM on TorizonCore 6

Hi,
Hardware:
Apalis IMX8MP v1.1D
Ixora carrier board v1.2

I am working on updating our custom image from torizoncore 5 to 6 and ran into an issue where the pwm pins are stuck high upon booting up the board and not responding to values being written to them via the /sys interface.

The software I am using to control these pwm pins work perfectly fine on torizoncore 5.7 and on torizoncore 6 when using the pre-made image without evaluation containers and just seems to cause issues when attempting to use our custom image.

I realized I had not updated the device trees for Torizoncore 6 so I did that by using the commands found in the device tree documentation:

git clone -b toradex_5.15-2.1.x-imx git://git.toradex.com/linux-toradex.git linux --depth 1
git clone -b toradex_5.15-2.1.x-imx git://git.toradex.com/device-tree-overlays.git device-tree

I then edited my TC-Build file to look like this:

Does this look appropriate for the device tree setup? I think the issue may lie here but I am not sure.

Thanks for any assistance,
Mike

Greetings @MikeHA,

Just to check and make sure I understand. You first started off using the device tree sources meant for Torizon 5 which caused PWM to not work properly, which I would expect. You realized your mistake so you updated the sources for Torizon 6. Once you updated the sources did you test and see if PWM now works properly?

Looking at your tcbuild.yml it looks okay. At least the snippet you shared. All you’re doing is setting the ixora device tree and setting the HDMI overlay. Looking at the device tree source I can see PWM is enabled by default.

Best Regards,
Jeremias

That is correct. Our control of the pwm pins works with our custom TC5.7 images and the standard 6.4 quarterly release image. Also, I should mention that we are using the 6.4 build 5 quarterly release as our base image.

The behavior seems as if the pwm pins are not responding to any writes to the /sys interface at all and just stuck high(~3.3v) no matter what values are wrote to them. I have also tried to write values from the command line directly to no success as well.

We are using pwm0 on pwmchip2 and 3 which correspond to pwm 1 and 2 on the ixora carrier board. we have the /sys interface bind mounted to our container running the software controlling the pwm pins.

Thanks for the help, Mike

The behavior seems as if the pwm pins are not responding to any writes to the /sys interface at all and just stuck high(~3.3v) no matter what values are wrote to them. I have also tried to write values from the command line directly to no success as well.

You get this behavior when using the correct device tree sources for Torizon 6.X?

If you flash a fresh Torizon 6.4.0 image, do no modifications, does writing to the /sys interface for PWM work?

Also please share the rest of your tcbuild.yaml file.

Best Regards,
Jeremias

I deleted and cloned the device tree and linux directories again and that seemed to fix the issue.

Thanks for the help!

Mike

Perhaps something strange happened with the initial repo cloning. Well in any case glad to see your issue was resolved.