Difference between revisions of "BeagleBoard/GSoC/2010 Projects/Pulse Width Modulation"
(→Build and Run instructions) |
(→Build and Run instructions) |
||
Line 22: | Line 22: | ||
git clone git://github.com/neo01124/omap3-pwm.git | git clone git://github.com/neo01124/omap3-pwm.git | ||
cd omap3-pwm/<i>branch</i> -b <i>branch</i> | cd omap3-pwm/<i>branch</i> -b <i>branch</i> | ||
+ | |||
+ | * 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. | ||
+ | |||
+ | diff --git a/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig | ||
+ | index cebe1f5..2dad30c 100644 | ||
+ | --- a/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig | ||
+ | +++ b/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig | ||
+ | @@ -241,7 +241,7 @@ CONFIG_ARCH_OMAP3=y | ||
+ | # | ||
+ | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
+ | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
+ | -CONFIG_OMAP_RESET_CLOCKS=y | ||
+ | +# CONFIG_OMAP_RESET_CLOCKS is not set | ||
+ | # CONFIG_OMAP_MUX is not set | ||
+ | CONFIG_OMAP_MCBSP=y | ||
+ | CONFIG_OMAP_MBOX_FWK=m<i>branch</i> -b <i>branch</i> | ||
* A cross compiling environment will be needed for compiling the driver. Instructions below work with OpenEmbedded but can adapted for codesourcery as well. | * A cross compiling environment will be needed for compiling the driver. Instructions below work with OpenEmbedded but can adapted for codesourcery as well. |
Revision as of 09:11, 15 August 2010
Project: Pulse Width Modulation
Student: Varun Jewalikar
Mentors: Søren Steen Christensen, Cristina Murillo
Repository: http://github.com/neo01124/omap3-pwm
Blog: http://beagleboard-pwm.blogspot.com/
Latest blog entries: Extension:RSS -- Error: "http://beagleboard-pwm.blogspot.com/feeds/posts/default%7Ccharset=UTF-8%7Cmax=3" is not in the whitelist of allowed feeds. There are no allowed feed URLs in the whitelist.
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:
git clone git://github.com/neo01124/omap3-pwm.git cd omap3-pwm/branch -b branch
- 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.
diff --git a/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig index cebe1f5..2dad30c 100644 --- a/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig +++ b/recipes/linux/linux-omap-2.6.32/beagleboard/defconfig @@ -241,7 +241,7 @@ CONFIG_ARCH_OMAP3=y
# # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
-CONFIG_OMAP_RESET_CLOCKS=y +# CONFIG_OMAP_RESET_CLOCKS is not set
# CONFIG_OMAP_MUX is not set CONFIG_OMAP_MCBSP=y CONFIG_OMAP_MBOX_FWK=mbranch -b branch
- A cross compiling environment will be needed for compiling the driver. Instructions below work with OpenEmbedded but can adapted for codesourcery as well.