From: Rodolfo Giometti <giometti@enneenne.com>
To: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
Greg KH <greg@kroah.com>,
corbet@lwn.net, Hall Christopher S <christopher.s.hall@intel.com>,
Mohan Subramanian <subramanian.mohan@intel.com>,
tglx@linutronix.de, andriy.shevchenko@linux.intel.com,
Dong Eddie <eddie.dong@intel.com>,
N Pandith <pandith.n@intel.com>,
T R Thejesh Reddy <thejesh.reddy.t.r@intel.com>,
Zage David <david.zage@intel.com>,
Chinnadurai Srinivasan <srinivasan.chinnadurai@intel.com>,
Rodolfo Giometti <giometti@enneenne.com>
Subject: [RFC 2/3] Documentation pps.rst: add PPS generators documentation
Date: Tue, 8 Oct 2024 15:50:32 +0200 [thread overview]
Message-ID: <20241008135033.3171915-3-giometti@enneenne.com> (raw)
In-Reply-To: <20241008135033.3171915-1-giometti@enneenne.com>
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>
---
Documentation/driver-api/pps.rst | 40 ++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/Documentation/driver-api/pps.rst b/Documentation/driver-api/pps.rst
index 78dded03e5d8..c71b3b878e41 100644
--- a/Documentation/driver-api/pps.rst
+++ b/Documentation/driver-api/pps.rst
@@ -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 int 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 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 a new generator is created into 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 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
------------------------
--
2.34.1
next prev parent reply other threads:[~2024-10-08 13:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-08 13:50 [RFC 0/3] Add PPS generators Rodolfo Giometti
2024-10-08 13:50 ` [RFC 1/3] drivers pps: add PPS generators support Rodolfo Giometti
2024-10-08 15:42 ` Greg KH
2024-10-09 8:48 ` Rodolfo Giometti
2024-10-09 9:19 ` Greg KH
2024-10-10 7:25 ` Rodolfo Giometti
2024-10-10 7:15 ` Greg KH
2024-10-10 7:32 ` Rodolfo Giometti
2024-10-10 7:54 ` Greg KH
2024-10-10 9:53 ` Rodolfo Giometti
2024-10-10 10:04 ` Greg KH
2024-10-10 10:18 ` Rodolfo Giometti
2024-10-09 2:49 ` Hall, Christopher S
2024-10-09 8:48 ` Rodolfo Giometti
2024-10-08 13:50 ` Rodolfo Giometti [this message]
2024-10-08 15:43 ` [RFC 2/3] Documentation pps.rst: add PPS generators documentation Greg KH
2024-10-09 8:48 ` Rodolfo Giometti
2024-10-09 9:14 ` Greg KH
2024-10-10 7:26 ` Rodolfo Giometti
2024-10-08 13:50 ` [RFC 3/3] Documentation ABI: add PPS generators documentaion Rodolfo Giometti
2024-10-08 15:43 ` Greg KH
2024-10-09 8:48 ` Rodolfo Giometti
2024-10-09 9:15 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241008135033.3171915-3-giometti@enneenne.com \
--to=giometti@enneenne.com \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=christopher.s.hall@intel.com \
--cc=corbet@lwn.net \
--cc=david.zage@intel.com \
--cc=eddie.dong@intel.com \
--cc=greg@kroah.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pandith.n@intel.com \
--cc=srinivasan.chinnadurai@intel.com \
--cc=subramanian.mohan@intel.com \
--cc=tglx@linutronix.de \
--cc=thejesh.reddy.t.r@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.