Add skeleton manual page for bcm283x_pwm
(Feel free to improve this)
This commit is contained in:
parent
2b7d9db4e2
commit
59e6efefac
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328259
@ -78,6 +78,7 @@ MAN= aac.4 \
|
|||||||
axe.4 \
|
axe.4 \
|
||||||
axge.4 \
|
axge.4 \
|
||||||
bce.4 \
|
bce.4 \
|
||||||
|
${_bcm283x_pwm.4} \
|
||||||
bcma.4 \
|
bcma.4 \
|
||||||
bfe.4 \
|
bfe.4 \
|
||||||
bge.4 \
|
bge.4 \
|
||||||
@ -883,6 +884,10 @@ _vmm.4= vmm.4
|
|||||||
_nvram2env.4= nvram2env.4
|
_nvram2env.4= nvram2env.4
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
.if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64"
|
||||||
|
_bcm283x_pwm.4= bcm283x_pwm.4
|
||||||
|
.endif
|
||||||
|
|
||||||
.if exists(${.CURDIR}/man4.${MACHINE_CPUARCH})
|
.if exists(${.CURDIR}/man4.${MACHINE_CPUARCH})
|
||||||
SUBDIR= man4.${MACHINE_CPUARCH}
|
SUBDIR= man4.${MACHINE_CPUARCH}
|
||||||
.endif
|
.endif
|
||||||
|
97
share/man/man4/bcm283x_pwm.4
Normal file
97
share/man/man4/bcm283x_pwm.4
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
.\"
|
||||||
|
.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD
|
||||||
|
.\"
|
||||||
|
.\" Copyright (c) 2017 Poul-Henning Kamp <phk@FreeBSD.org>
|
||||||
|
.\" All rights reserved.
|
||||||
|
.\"
|
||||||
|
.\" Redistribution and use in source and binary forms, with or without
|
||||||
|
.\" modification, are permitted provided that the following conditions
|
||||||
|
.\" are met:
|
||||||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||||||
|
.\" notice, this list of conditions and the following disclaimer.
|
||||||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||||||
|
.\" documentation and/or other materials provided with the distribution.
|
||||||
|
.\"
|
||||||
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
.\"
|
||||||
|
.\" $FreeBSD$
|
||||||
|
.\"
|
||||||
|
.Dd January 22, 2017
|
||||||
|
.Dt BCM283X_PWM 4
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm bcm283x_pwm
|
||||||
|
.Nd bcm283x_pwm - driver for Raspberry Pi 2/3 PWM
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Cd "kldload bcm283x_clkman"
|
||||||
|
.Cd "kldload bcm283x_pwm"
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
driver provides access to the PWM engine on GPIO12 of Rpi 2 and 3 hardware.
|
||||||
|
.Pp
|
||||||
|
The PWM hardware is controlled via the
|
||||||
|
.Xr sysctl 8
|
||||||
|
interface:
|
||||||
|
.Bd -literal
|
||||||
|
dev.pwm.0.mode: 1
|
||||||
|
dev.pwm.0.freq: 125000000
|
||||||
|
dev.pwm.0.ratio: 2500
|
||||||
|
dev.pwm.0.period: 10000
|
||||||
|
dev.pwm.0.pwm_freq: 12500
|
||||||
|
.Ed
|
||||||
|
.Bl -tag -width ".Va dev.pwm.0.mode"
|
||||||
|
.It Va dev.pwm.0.mode
|
||||||
|
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.
|
||||||
|
.Pp
|
||||||
|
.It Va dev.pwm.0.freq
|
||||||
|
The input frequency to the PWM hardware in Hz.
|
||||||
|
Minmum frequency is 123 kHz, maximum frequency is 125 MHz.
|
||||||
|
.It Va dev.pwm.0.period
|
||||||
|
The period length in cycles.
|
||||||
|
In PWM mode, the output frequency will be
|
||||||
|
(
|
||||||
|
.Va dev.pwm.0.freq
|
||||||
|
/
|
||||||
|
.Va dev.pwm.0.period .
|
||||||
|
)
|
||||||
|
In N/M mode this is the 'M'
|
||||||
|
.It Va dev.pwm.0.ratio
|
||||||
|
The "on" period in cycles.
|
||||||
|
In PWM mode, to get a 25% dutycycle, set this to 25% of
|
||||||
|
.Va dev.pwm.0.period .
|
||||||
|
In N/M mode this is the 'N'
|
||||||
|
.It Va dev.pwm.0.pwm_freq
|
||||||
|
The calculated PWM output frequency in PWM mode.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
.Sh NOTES
|
||||||
|
Currently the
|
||||||
|
.Nm
|
||||||
|
driver ignores the 'status="disabled"' flag in the DTB, assuming that
|
||||||
|
if you load the driver, you want it to work.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr sysctl 8
|
||||||
|
.Sh HISTORY
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
driver first appeared in
|
||||||
|
.Fx 12.0 .
|
||||||
|
.Sh AUTHORS
|
||||||
|
.An -nosplit
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
driver and this manual page were written by
|
||||||
|
.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
|
@ -150,13 +150,13 @@ bcm2835_clkman_set_frequency(device_t dev, uint32_t unit, uint32_t hz)
|
|||||||
u = 500000000/hz;
|
u = 500000000/hz;
|
||||||
if (u < 4) {
|
if (u < 4) {
|
||||||
device_printf(sc->sc_dev,
|
device_printf(sc->sc_dev,
|
||||||
"Frequency too high for unit 0x%x (max: 125MHz)",
|
"Frequency too high for unit 0x%x (max: 125 MHz)",
|
||||||
unit);
|
unit);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (u > 0xfff) {
|
if (u > 0xfff) {
|
||||||
device_printf(sc->sc_dev,
|
device_printf(sc->sc_dev,
|
||||||
"Frequency too low for unit 0x%x (min: 123Hz)",
|
"Frequency too low for unit 0x%x (min: 123 kHz)",
|
||||||
unit);
|
unit);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user