Re: PPS functionality for Intel Timed I/O

From: Rodolfo Giometti
Date: Mon Feb 06 2023 - 05:46:44 EST


On 06/02/23 11:16, N, Pandith wrote:
Hi Rodolfo,

Hi

-----Original Message-----
From: Rodolfo Giometti <giometti@xxxxxxxxxxxx>
Sent: Monday, January 30, 2023 7:57 PM
To: N, Pandith <pandith.n@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx; Sangannavar, Mallikarjunappa
<mallikarjunappa.sangannavar@xxxxxxxxx>; D, Lakshmi Sowjanya
<lakshmi.sowjanya.d@xxxxxxxxx>; T R, Thejesh Reddy
<thejesh.reddy.t.r@xxxxxxxxx>; Hall, Christopher S
<christopher.s.hall@xxxxxxxxx>
Subject: Re: PPS functionality for Intel Timed I/O

Within kernel sources PPS clients and PPS generators are placed into different
directories, so I suppose is better to deploy two different pieces of code.

We are planning to add a new PPS generator driver in drivers/pps/generators
i) Can this driver use pps_register_source to register Intel Timed I/O device for pulse generation ?

Nope. This function is for pps clients only. PPS generators should generate their pulses according to system clock so they don't needed any registrations at all under PPS layer.

ii) To start/stop pulse, we are planning to add additional sysfs attribute from our main driver.
Something like : /sys/class/ppsX/enable_pin
This is needed for users to start/stop pulse generation.

If you are still talking about PPS generators they have no entries under /sys/class/ppsX/ (just clients have). So you can add an entry under your driver to do so.

However pay attention to the fact that a PPS generator should be referred to
system's main clock and not to peripherals' clock.

We can sync with the system time for pulse generation.

Mmm... I'm not sure this is correct since PPS generators should generate their pulses according to system clock and not according to their internal clocks even if they are synced with the system clock.

Ciao,

Rodolfo

--
GNU/Linux Solutions e-mail: giometti@xxxxxxxxxxxx
Linux Device Driver giometti@xxxxxxxx
Embedded Systems phone: +39 349 2432127
UNIX programming skype: rodolfo.giometti