if you recompile the device tree, you should update the one under $OUT/kernel/dtb/,
and please running flash scripts to have partition update.
i.e. $ sudo ./flash.sh -r -k DTB jetson-nano-emmc mmcblk0p1
you may check PWM status as below, $ sudo cat /sys/kernel/debug/pwm
please note that, you can only access pwmchip0 (@7000a000); pwmchip4(@70110000) is not expected to be used by user.
you may use pwm@pwmchip0 by exporting them.
i.e. echo '<0/1/2/3>' > /sys/class/pwm/pwmchip0/export
When you have enabled Pin 32 as PWM, you must see bit 0 of register 0x700031fc to be set.
You can use busybox devmem tool to read any register.
Then run following sysfs nodes:
echo 0 > /sys/class/pwm/pwmchip0/export
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
This will enable the PWM controller. PWM controller register address is 0x7000a000 so after enabling it, you can see Bit 31 to be set.
Please try above and let me know if PWM is still not working.
devmem tool is to read/write register.
You can enable PWM via pinmuxing or via jetson-io tool also.
There must be something wrong with the steps when you tried to enable PWM using pinmux dtsi.
So, for confirmation, I suggested to use devmem to see if your changes reflected after kernel boot.
I have same issue. When i use devmem tool for read register. it show as below:
ac@vsm:~$ sudo busybox devmem 0x700031fc
I also try to write 0x00000001 to 0x700031fc but pwm is not work
when i run command echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable. There is error as below:
ac@vsm:~$ echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
-bash: echo: write error: Invalid argument