===== 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 ++++