GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
AM335X_DMTPPS(4) FreeBSD Kernel Interfaces Manual AM335X_DMTPPS(4)

am335x_dmtpps
RFC 2783 Pulse Per Second API driver for AM335x systems

device am335x_dmtpps

Optional in /boot/loader.conf:
hw.am335x_dmtpps.input="pin name"

The am335x_dmtpps device driver provides a system time counter that includes precise capture of Pulse Per Second (PPS) signals emitted by GPS receivers and other timing devices. The am335x_dmtpps driver may be compiled into the kernel or loaded as a module.

The AM335x timer hardware captures the value of the system time counter on the leading edge of the PPS pulse. Because the capture is done by the hardware there is no interrupt latency in the measurement. The time counter runs at 24Mhz, providing a measurement resolution of 42 nanoseconds.

To use the PPS timing information provided by this driver with ntpd(8), symlink the /dev/dmtpps device to /dev/pps0 and configure server 127.127.22.0 in ntp.conf(5) to configure a type 22 (ATOM) refclock.

The AM335x hardware provides four timer devices with a capture input pin, DMTimer4 through DMTimer7. Because it also provides the active system time counter, only one instance of the am335x_dmtpps driver can be active at a time. The driver uses system pin configuration to determine which hardware timer device to use. Configure the timer input pin in the system's FDT data, or by supplying the pin name using a tunable variable in loader.conf(5).

To use a standard kernel and FDT data, use loader.conf(5) to load the am335x_dmtpps module and set the hw.am335x_dmtpps.input tunable variable to the name of the input pin, one of the following:

Name
Hardware
P8-7
DMTimer4; Beaglebone P8 header pin 7.
P8-8
DMTimer7; Beaglebone P8 header pin 8.
P8-9
DMTimer5; Beaglebone P8 header pin 9.
P8-10
DMTimer6; Beaglebone P8 header pin 10.
GPMC_ADVn_ALE
DMTimer4.
GPMC_BEn0_CLE
DMTimer5.
GPMC_WEn
DMTimer6.
GPMC_OEn_REn
DMTimer7.

To configure the am335x_dmtpps driver using FDT data, create a new pinctrl node by referencing the standard am33xx_pinmux driver node (which is defined in am33xx.dtsi) in your dts file. For example:

   &am33xx_pinmux {
      timer4_pins: timer4_pins {
         pinctrl-single,pins = <0x90 (PIN_INPUT | MUX_MODE2)>;
      };
   };

Add pinctrl properties referencing timer4_pins to the standard timer4 device node (also defined in am33xx.dtsi) by referencing it in your dts file as follows:

   &timer4 {
      pinctrl-names = "default";
      pinctrl-0 = <&timer4_pins>;
   };

/dev/dmtpps
The device providing ioctl(2) access to the RFC 2783 API.

timecounters(4), loader.conf(5), ntp.conf(5), ntpd(8)

The am335x_dmtpps device driver first appeared in FreeBSD 11.0.

The am335x_dmtpps device driver and this manual page were written by Ian Lepore <ian@FreeBSD.org>.
August 12, 2015 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 4 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.