BCM283X_PWM(4)

NAME
bcm283x_pwm - bcm283x_pwm - driver for Raspberry Pi 2/3 PWM

SYNOPSIS
kldload bcm283x_clkman
kldload bcm283x_pwm

DESCRIPTION
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.

NOTES
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.

SEE ALSO
sysctl(8)

HISTORY
The bcm283x_pwm driver first appeared in FreeBSD 12.0.

AUTHORS
-nosplit The bcm283x_pwm driver and this manual page were written by Poul-Henning Kamp <phk@FreeBSD.org>.