====== Hardware PWM ======
----
**ODROID-C1** Has two possible PWM ports. One port is shared with SPI.
Starting from [[C1_Ubuntu_release_note_v1.1|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 [[http://odroid.com/dokuwiki/doku.php?id=en:c1_hardware#expansion_connectors|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