From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
"richardcochran@gmail.com" <richardcochran@gmail.com>
Cc: Wei Fang <wei.fang@nxp.com>, "robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Clark Wang <xiaoning.wang@nxp.com>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"vadim.fedorenko@linux.dev" <vadim.fedorenko@linux.dev>,
Frank Li <frank.li@nxp.com>,
"shawnguo@kernel.org" <shawnguo@kernel.org>,
"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
"festevam@gmail.com" <festevam@gmail.com>,
"F.S. Peng" <fushi.peng@nxp.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
"kernel@pengutronix.de" <kernel@pengutronix.de>
Subject: Re: [PATCH v2 net-next 02/14] dt-bindings: net: add nxp,netc-timer property
Date: Fri, 18 Jul 2025 15:01:05 +0300 [thread overview]
Message-ID: <20250718120105.b42gyo7ywj42fcw4@skbuf> (raw)
In-Reply-To: <20250718-enchanted-cornflower-llama-f7baea@kuoka>
On Fri, Jul 18, 2025 at 09:46:14AM +0200, Krzysztof Kozlowski wrote:
> On Thu, Jul 17, 2025 at 10:26:28AM +0000, Wei Fang wrote:
> > > > timestamper: provides control node reference and
> > > > the port channel within the IP core
> > > >
> > > > The "timestamper" property lives in a phy node and links a time
> > > > stamping channel from the controller device to that phy's MII bus.
> > > >
> > > > But for NETC, we only need the node parameter, and this property is
> > > > added to the MAC node.
> > >
> > > I think we do not understand each other. I ask if this is the
> > > timestamper and you explain about arguments of the phandle. The
> > > arguments are not relevant.
> > >
> > > What is this purpose/role/function of the timer device?
> >
> > The timer device provides PHC with nanosecond resolution, so the
> > ptp_netc driver provides interfaces to adjust the PHC, and this PHC
> > is used by the ENETC device, so that the ENECT can capture the
> > timestamp of the packets.
> >
> > >
> > > What is the purpose of this new property in the binding here?
> > >
> >
> > This property is to allow the ENETC to find the timer device that is
> > physically bound to it. so that ENETC can perform PTP synchronization
> > with other network devices.
>
>
> Looks exactly how existing timestamper property is described.
>
> If this is not timestamper then probably someone with better domain
> knowledge should explain it clearly, so I will understand why it is not
> timestamper and what is the timestamper property. Then you should think
> if you need new generic binding for it, IOW, whether this is typical
> problem you solve here or not, and add such binding if needed.
>
> Maybe there is another property describing a time provider in the
> kernel or dtschema. Please look for it. This all looks like you are
> implementing typical use case in non-typical, but vendor-like, way.
>
> Best regards,
> Krzysztof
An MII timestamper and a PTP clock (as integrated in a MAC or a PHY) are
similar but have some notable differences.
A timestamper is an external device with a free-running counter, which
sniffs the MII bus between the MAC and the PHY, and provides timestamps
when the first octet of a packet hits the wire.
A PTP clock is also a high precision counter, which can be free-running
or it can be precisely adjusted. It does not have packet timestamping
capabilities itself, instead the Ethernet MAC can snapshot this counter
when it places the first octet of a packet on the MII bus. PTP clocks
frequently have other auxiliary functions, like emitting external
signals based on the internal time, or snapshotting external signals.
The timestamper is not required to have these functions. In fact, I am
looking at ptp_ines.c, the only non-PHY MII timestamper supported by the
kernel, and I am noting the fact that it does not call ptp_clock_register()
at all, presumably because it has no controllable PTP clock to speak of.
That being said, my understanding is based on analyzing the public code
available to me, and I do not have practical experience with MII bus
snooping devices, so if Richard could chime in, it would be great.
I am also in favor of using the "ptp-timer" phandle to describe the link
between the MAC and the internal PTP clock that will be snapshot when
taking packet timestamps. The fman-dtsec.yaml schema also uses it for an
identical purpose.
next prev parent reply other threads:[~2025-07-18 12:01 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-16 7:30 [PATCH v2 net-next 00/14] Add NETC Timer PTP driver and add PTP support for i.MX95 Wei Fang
2025-07-16 7:30 ` [PATCH v2 net-next 01/14] dt-bindings: ptp: add NETC Timer PTP clock Wei Fang
2025-07-16 19:19 ` Frank Li
2025-07-17 7:40 ` Krzysztof Kozlowski
2025-07-17 8:30 ` Wei Fang
2025-07-17 9:05 ` Vladimir Oltean
2025-07-17 9:55 ` Wei Fang
2025-07-17 12:42 ` Vladimir Oltean
2025-07-17 15:06 ` Frank Li
2025-07-22 14:36 ` Vladimir Oltean
2025-07-22 18:25 ` Frank Li
2025-07-17 10:04 ` Krzysztof Kozlowski
2025-07-17 10:28 ` Wei Fang
2025-07-16 7:30 ` [PATCH v2 net-next 02/14] dt-bindings: net: add nxp,netc-timer property Wei Fang
2025-07-16 19:28 ` Frank Li
2025-07-17 3:23 ` Wei Fang
2025-07-17 7:42 ` Krzysztof Kozlowski
2025-07-17 8:32 ` Wei Fang
2025-07-17 9:12 ` Krzysztof Kozlowski
2025-07-17 9:49 ` Wei Fang
2025-07-17 10:06 ` Krzysztof Kozlowski
2025-07-17 10:26 ` Wei Fang
2025-07-18 7:46 ` Krzysztof Kozlowski
2025-07-18 7:50 ` Krzysztof Kozlowski
2025-07-18 12:01 ` Vladimir Oltean [this message]
2025-07-21 6:00 ` Wei Fang
2025-07-21 12:23 ` Krzysztof Kozlowski
2025-07-16 7:31 ` [PATCH v2 net-next 03/14] ptp: netc: add NETC Timer PTP driver support Wei Fang
2025-07-16 19:58 ` Frank Li
2025-07-17 8:42 ` Wei Fang
2025-07-23 16:09 ` Vladimir Oltean
2025-07-24 2:36 ` Wei Fang
2025-07-16 7:31 ` [PATCH v2 net-next 04/14] ptp: netc: add PTP_CLK_REQ_PPS support Wei Fang
2025-07-16 20:05 ` Frank Li
2025-07-17 11:59 ` Wei Fang
2025-07-17 15:15 ` Frank Li
2025-07-18 2:08 ` Wei Fang
2025-07-16 7:31 ` [PATCH v2 net-next 05/14] ptp: netc: add periodic pulse output support Wei Fang
2025-07-16 20:26 ` Frank Li
2025-07-17 12:11 ` Wei Fang
2025-07-16 7:31 ` [PATCH v2 net-next 06/14] ptp: netc: add external trigger stamp support Wei Fang
2025-07-16 20:30 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 net-next 07/14] ptp: netc: add debugfs support to loop back pulse signal Wei Fang
2025-07-16 20:32 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 net-next 08/14] MAINTAINERS: add NETC Timer PTP clock driver section Wei Fang
2025-07-16 20:33 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 net-next 09/14] net: enetc: save the parsed information of PTP packet to skb->cb Wei Fang
2025-07-16 20:46 ` Frank Li
2025-07-17 12:20 ` Wei Fang
2025-07-16 7:31 ` [PATCH v2 net-next 10/14] net: enetc: Add enetc_update_ptp_sync_msg() to process PTP sync packet Wei Fang
2025-07-16 20:49 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 net-next 11/14] net: enetc: remove unnecessary CONFIG_FSL_ENETC_PTP_CLOCK check Wei Fang
2025-07-16 20:50 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 net-next 12/14] net: enetc: add PTP synchronization support for ENETC v4 Wei Fang
2025-07-16 21:01 ` Frank Li
2025-07-17 12:35 ` Wei Fang
2025-07-17 22:07 ` Frank Li
2025-07-18 2:08 ` Wei Fang
2025-07-22 12:57 ` Vladimir Oltean
2025-07-22 13:41 ` Wei Fang
2025-07-16 7:31 ` [PATCH v2 net-next 13/14] net: enetc: don't update sync packet checksum if checksum offload is used Wei Fang
2025-07-16 21:03 ` Frank Li
2025-07-16 7:31 ` [PATCH v2 14/14] arm64: dts: imx95: Add NETC Timer support Wei Fang
2025-07-16 21:04 ` Frank Li
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=20250718120105.b42gyo7ywj42fcw4@skbuf \
--to=vladimir.oltean@nxp.com \
--cc=andrew+netdev@lunn.ch \
--cc=claudiu.manoil@nxp.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=frank.li@nxp.com \
--cc=fushi.peng@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=vadim.fedorenko@linux.dev \
--cc=wei.fang@nxp.com \
--cc=xiaoning.wang@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox