mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-04-13 09:59:31 +00:00
Documentation pps.rst: add PPS generators documentation
This patch adds some examples about how to register a new PPS generator in the system, and how to manage it. Signed-off-by: Rodolfo Giometti <giometti@enneenne.com> Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com> Link: https://lore.kernel.org/r/20241108073115.759039-4-giometti@enneenne.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
580afe4acb
commit
b14aea0ce0
1 changed files with 40 additions and 0 deletions
|
@ -202,6 +202,46 @@ Sometimes one needs to be able not only to catch PPS signals but to produce
|
|||
them also. For example, running a distributed simulation, which requires
|
||||
computers' clock to be synchronized very tightly.
|
||||
|
||||
To do so the class pps-gen has been added. PPS generators can be
|
||||
registered in the kernel by defining a struct pps_gen_source_info as
|
||||
follows::
|
||||
|
||||
static struct pps_gen_source_info pps_gen_dummy_info = {
|
||||
.name = "dummy",
|
||||
.use_system_clock = true,
|
||||
.get_time = pps_gen_dummy_get_time,
|
||||
.enable = pps_gen_dummy_enable,
|
||||
};
|
||||
|
||||
Where the use_system_clock states if the generator uses the system
|
||||
clock to generate its pulses, or they are from a peripheral device
|
||||
clock. Method get_time() is used to query the time stored into the
|
||||
generator clock, while the method enable() is used to enable or
|
||||
disable the PPS pulse generation.
|
||||
|
||||
Then calling the function pps_gen_register_source() in your
|
||||
initialization routine as follows creates a new generator in the
|
||||
system::
|
||||
|
||||
pps_gen = pps_gen_register_source(&pps_gen_dummy_info);
|
||||
|
||||
Generators SYSFS support
|
||||
------------------------
|
||||
|
||||
If the SYSFS filesystem is enabled in the kernel it provides a new class::
|
||||
|
||||
$ ls /sys/class/pps-gen/
|
||||
pps-gen0/ pps-gen1/ pps-gen2/
|
||||
|
||||
Every directory is the ID of a PPS generator defined in the system and
|
||||
inside of it you find several files::
|
||||
|
||||
$ ls -F /sys/class/pps-gen/pps-gen0/
|
||||
dev enable name power/ subsystem@ system time uevent
|
||||
|
||||
To enable the PPS signal generation you can use the command below::
|
||||
|
||||
$ echo 1 > /sys/class/pps-gen/pps-gen0/enable
|
||||
|
||||
Parallel port generator
|
||||
------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue