MinnowBoard Max
  • Cover
  • Introduction
  • Getting Started
  • Hardware
    • Processor
    • Peripherals
    • Interfaces
    • PCIe
  • Customization
    • Lures
  • Build Systems
    • Yocto
  • BIOS
  • Operating Systems
  • Linux
    • Installation
    • Kernel
    • Subsystems
      • UART
      • Camera
      • Audio
      • General Purpose Input Output
      • I2C
      • Pwm
      • Serial Peripheral Interface
      • Led
    • Package Management
    • Libraries
      • MRAA
      • UPM
  • Programming Languages
    • Python
      • Calamari Lure
        • Main
        • 7 Segments
        • Buttons
        • Pulse Width Modulation
        • Red Green Blue
  • SandBox
Powered by GitBook
On this page
  • PWM, Drivers Enablement
  • PWM, UserSpace Usage, SysFs
  1. Linux
  2. Subsystems

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
PreviousI2CNextSerial Peripheral Interface

Last updated 7 years ago