===== Using PWM from sysfs =====
following Instuction only works for Linux kernel 3.11 or greater
==== Where to find PWM devices in sysfs ====
PWM devices are listed under **/sys/class/pwm**
==== export PWM device ====
You must export the PWM at first, otherwise the other commands in this tutorial will not work
root@MBaXXX:~ cd /sys/class/pwm // enter pwm folder in sysfs
root@MBaXXX:/sys/class/pwm cd pwmchip // enter the desired pwmchip folder
root@MBaXXX:/sys/your/path/to/pwmchip/pwmchip echo > export // export device PWM
root@MBaXXX:/sys/your/path/to/pwmchip/pwmchip cd pwm // enter exported pwm device folder
++++ example |
root@MBaXXX:~ cd /sys/class/pwm
root@MBaXXX:/sys/class/pwm cd pwmchip0
root@MBaXXX:/sys/class/pwmchip0 echo 0 > export
root@MBaXXX:/sys/class/pwnchip0 cd pwm0
++++
==== set PWM period ====
root@MBaXXX:~ echo > /sys/class/pwm/pwmchip/pwmperiod
++++ example |
root@MBaXXX:~ echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/period
++++
==== set PWM duty cycle ====
The value of duty cycle must be less than the value of pwm period
root@MBaXXX:~ echo > /sys/class/pwm/pwmchip/pwmduty_cycle
++++ example |
root@MBaXXX:~ echo > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
++++
==== change polarity of the PWM signal ====
root@MBaXXX:~ echo "normal" > /sys/class/pwm/pwmchip/pwm/polarity // set polarity to normal
root@MBaXXX:~ echo "inversed" > /sys/class/pwm/pwmchip/pwm/polarity // set polarity to inversed
++++ example |
root@MBaXXX:~ echo "normal" > /sys/class/pwm/pwmchip0/pwm0/polarity
root@MBaXXX:~ echo "inversed" > /sys/class/pwm/pwmchip0/pwm0/polarity
++++
==== enable PWM ====
root@MBaXXX: echo 1 > /sys/class/pwm/pwmchip/pwm/enable
++++ example |
root@MBaXXX: echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
++++
==== disable PWM ====
root@MBaXXX: echo 0 > /sys/class/pwm/pwmchip/pwm/enable
++++ example |
root@MBaXXX: echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable
++++