bcm283x_pwm
—
bcm283x_pwm - driver for Raspberry Pi 2/3 PWM
kldload bcm283x_clkman
kldload bcm283x_pwm
The bcm283x_pwm
driver provides access to the PWM engine
on GPIO12 of Raspberry Pi 2 and 3 hardware.
The PWM hardware is controlled via the
sysctl(8)
interface:
dev.pwm.0.mode: 1
dev.pwm.0.mode2: 1
dev.pwm.0.freq: 125000000
dev.pwm.0.ratio: 2500
dev.pwm.0.ratio2: 2500
dev.pwm.0.period: 10000
dev.pwm.0.period2: 10000
dev.pwm.0.pwm_freq: 12500
dev.pwm.0.pwm_freq2: 12500
- dev.pwm.0.mode,
dev.pwm.0.mode2
- PWM Mode for channels 1 and 2. Three modes exist, 0=off, 1=PWM, 2=N/M. The
N/M mode is a first order delta-sigma mode, which makes a quite handy DAC
output with a trivial RC lowpass filter.
- dev.pwm.0.freq
- The input frequency to the PWM hardware in Hz. Applies to both channels 1
and 2. Minimum frequency is 123 kHz, maximum frequency is 125 MHz.
- dev.pwm.0.period,
dev.pwm.0.period2
- The period length in cycles. In PWM mode, the output frequencies will be (
dev.pwm.0.freq /
dev.pwm.period ) and (
dev.pwm.0.freq2 /
dev.pwm.0.period2 ). In N/M mode this is the
'M'.
- dev.pwm.0.ratio,
dev.pwm.0.ratio2
- The "on" period in cycles for PWM channels 1 and 2. In PWM mode,
to get a 25% dutycycle, set this to 25% of
dev.pwm.0.period or
dev.pwm.0.period2, as appropriate. In N/M mode this
is the 'N'.
- dev.pwm.0.pwm_freq,
dev.pwm.0.pwm_freq2
- The calculated PWM output frequencies in PWM mode, for channels 1 and
2.
Currently the bcm283x_pwm
driver ignores the
'status="disabled"' flag in the DTB, assuming that if you load the
driver, you want it to work.
The bcm283x_pwm
driver first appeared in
FreeBSD 12.0.
The bcm283x_pwm
driver and this manual page were written
by Poul-Henning Kamp
<phk@FreeBSD.org>.