Hi all, I want to PWM 3 (or possibly more) pins from the A9, and according to the pinout there should be 6 PWMs available. However, following the documentation and using the device tree editor to enable the PWM feature, I can only enable PWM 2 and 5. How do I enable those other PWM channels?
Looking at imx6sx-udoo-neo-externalpins.dtsi which dtweb ships, PWMs 1 to 6 are defined and available. Is there a reason the web interface only allows access to PWMs 2 and 5?
If you edit the /opt/dtweb/public/boards/neo/board.js file you can add the other pwm pins manually. You have to take care of the pin numbering as in the mentioned pinout documentation. Then you can use dtweb to set them. I do not know why they are not yet listed in dtweb. Perhaps there are some conflicting ports? But if you give it a try we all can benefit of it
I just want to make sure the pins aren't disabled for a good reason, ie. enabling them in the -dist dt will not blow up my udoo...
Yes, the good reason is that the SoC has 8 PWMs. 6 PWMs are assigned to the Arduino core, 2 to Linux. If you want to use the other PWMs you must disable the M4 core, or rebuild MQX disabling the PWM capability of Arduino. Adding the other PWMs to the device tree (without turning off M4 - with udoom4ctl) you would expect bad behaviours (eg. kernel panics) but the hardware will not blow up.
I have the solution for enabling pwm other than 2 and 5 by modifying the device tree . https://github.com/longhongc/Autonomous-Cleaning-Car/wiki/week-10
@waltervl I already apply those steps which mention in the link but it is not working in my case I think https://github.com/longhongc/Autonomous-Cleaning-Car/wiki/week-10 is for ubuntu os and in my board android os is running
Hello Now finally I found the solution for android user for used external bank pwm pins, https://www.udoo.org/docs-neo/Hardware_&_Accessories/GPIO.html follow below tutorial https://github.com/longhongc/Autonomous-Cleaning-Car/wiki/week-10 and open imx6sx-udoo-neo-externalpins.dtsi and just disabled i2c4 and set "okay" pwm1 & pwm2 (you can also used another PWM just change status = okay) because by default this pin set as i2c4 (pin 169 & 170 ) and that's it PWM works fine Thanks,