Pwm
PWM, Drivers Enablement
Enable all PWM needed drivers via menuconfig and compile your Kernel
user@Minnowboard:~$ cd linux
user@Minnowboard:~$ make menuconfig
@Linux Kernel Menuconfig > Device Drivers
Symbol: PWM [=y]
Prompt: Generic Pulse-Width Modulation (PWM) support
@Linux Kernel Menuconfig > Device Drivers > Pulse-Width Modulation (PWM) Support
Symbol: PWM_LPSS [=m]
Prompt: Intel LPSS PWM support
@Linux Kernel Menuconfig > Device Drivers > Pulse-Width Modulation (PWM) Support
Symbol: PWM_LPSS_PCI [=m]
Prompt: Intel LPSS PWM PCI driver
@Linux Kernel Menuconfig > Device Drivers > Pulse-Width Modulation (PWM) Support
Symbol: PWM_LPSS_PLATFORM [=m]
Prompt: Intel LPSS PWM platform driver
CC drivers/pwm/core.o
CC drivers/pwm/sysfs.o
LD drivers/pwm/built-in.o
CC [M] drivers/pwm/pwm-lpss.o
CC [M] drivers/pwm/pwm-lpss-pci.o
CC [M] drivers/pwm/pwm-lpss-platform.o
LD drivers/built-in.o
Building modules, stage 2.
MODPOST 3027 modules
CC drivers/pwm/pwm-lpss-pci.mod.o
LD [M] drivers/pwm/pwm-lpss-pci.ko
CC drivers/pwm/pwm-lpss-platform.mod.o
LD [M] drivers/pwm/pwm-lpss-platform.ko
CC drivers/pwm/pwm-lpss.mod.o
LD [M] drivers/pwm/pwm-lpss.ko
PWM, UserSpace Usage, SysFs
root@minnowboard:# ls /sys/class/pwm/
pwmchip0 pwmchip1
root@minnowboard:# ls /sys/class/pwm/pwmchip0
device export npwm power subsystem uevent unexport
root@minnowboard:# echo 0 > /sys/class/pwm/pwmchip0/export
root@minnowboard:# ls /sys/class/pwm/pwmchip0
device export npwm power pwm0 subsystem uevent unexport
root@minnowboard:# ls /sys/class/pwm/pwmchip0/pwm0/
duty_cycle enable period polarity power uevent
root@minnowboard:# cat /sys/class/pwm/pwmchip0/pwm0/enable
root@minnowboard:# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
root@minnowboard:# echo 100 > /sys/class/pwm/pwmchip0/pwm0/period
root@minnowboard:# echo 50 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
root@minnowboard:# cat /sys/class/pwm/pwmchip0/pwm0/enable
root@minnowboard:# cat /sys/class/pwm/pwmchip0/pwm0/period
root@minnowboard:# cat /sys/class/pwm/pwmchip0/pwm0/duty_cycle
Last updated