Abstract

The main aim of this project will be to provide a high level interface for the Pulse Width Modulation output pins of the OMAP3 found on the BeagleBoard.
Another aim will be to push this driver upstream(the Linux-OMAP tree).
Two applications will be developed to demonstrate the use of this driver:

Motor control using PWM signals generated by the BeagleBoard using the PWM driver.

Writing a glue layer for ALSA to communicate with the PWM driver and output sound from the PWM output pins.

Build and Run instructions

Clone my git tree for the driver.This can be done using the following commands:

The kernel config option CONFIG_OMAP_RESET_CLOCKS is enabled in the default beagleboard defconfigs. You'll get an oops using pwm.ko with this enabled. This is a kernel power saving feature. You'll need to disable this config option to use this driver. Below is a sample patch for linux-omap-2.6.32's defconfig. Adjust for the kernel you are using. Gumstix users already have this turned off in default kernels.