Table of Contents
Hardware PWM
ODROID-C1 Has two possible PWM ports. One port is shared with SPI.
Starting from Ubuntu Release (v1.1) or a kernel update performed on 2015-01-01 or later includes the PWM support.
Usage
For pin position, numbers and names, please refer to the pinmap Expansion Connector
Option 1: Single PWM and SPI
The code below loads the PWM module with a single PWM and the PWM controller module.
PWN PIN: 33
sudo modprobe pwm-meson npwm=1 sudo modprobe pwm-ctrl
Option 2: Two PWM and **NO-SPI**
PWM PINS:
PWM0: 33
PWM1: 19
sudo modprobe pwm-meson npwm=2 sudo modprobe pwm-ctrl
Examples of usage
You can control this pwm via simple sysfs entries.
On /sys/devices/platform/pwm-ctrl You'll find the following files:
duty0
Duty cycle of 1023 (10bit resolution)
echo 102 > duty0
will result in 102/1023 (approx 10%) of Duty cycle.
echo 512 > duty0
will result 50:50 of Duty cycle.
enable0
Enable/Disable this PWM
echo 1 > enable0
Will enable this PWM
echo 0 > enable0
Will disable this PWM.
freq0
This is the PWM Frequency in Hertz!
echo 100000 > freq0
This will set the frequency to 100kHz
Maximum Frequency is 1Mhz.
On PWM0 you can test higher frequencies. There are not guarantee's! 1Mhz is what we support.
If you are using TWO pwm setup, You have: enable0, freq0, duty0 AND enable1, freq1, duty1