Files
linux/Documentation/devicetree/bindings/ptp/nxp,ptp-netc.yaml
Wei Fang d6900b8bd3 dt-bindings: ptp: add NETC Timer PTP clock
NXP NETC (Ethernet Controller) is a multi-function PCIe Root Complex
Integrated Endpoint (RCiEP), the Timer is one of its functions which
provides current time with nanosecond resolution, precise periodic
pulse, pulse on timeout (alarm), and time capture on external pulse
support. And also supports time synchronization as required for IEEE
1588 and IEEE 802.1AS-2020. So add device tree binding doc for the PTP
clock based on NETC Timer.

NETC Timer has three reference clock sources, but the clock mux is inside
the IP. Therefore, the driver will parse the clock name to select the
desired clock source. If the clocks property is not present, NETC Timer
will use the system clock of NETC IP as its reference clock. Because the
Timer is a PCIe function of NETC IP, the system clock of NETC is always
available to the Timer.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250829050615.1247468-2-wei.fang@nxp.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-09-02 13:13:33 +02:00

64 lines
1.5 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ptp/nxp,ptp-netc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP NETC V4 Timer PTP clock
description:
NETC V4 Timer provides current time with nanosecond resolution, precise
periodic pulse, pulse on timeout (alarm), and time capture on external
pulse support. And it supports time synchronization as required for
IEEE 1588 and IEEE 802.1AS-2020.
maintainers:
- Wei Fang <wei.fang@nxp.com>
- Clark Wang <xiaoning.wang@nxp.com>
properties:
compatible:
enum:
- pci1131,ee02
reg:
maxItems: 1
clocks:
maxItems: 1
description:
The reference clock of NETC Timer, can be selected between 3 different
clock sources using an integrated hardware mux TMR_CTRL[CK_SEL].
The "ccm" means the reference clock comes from CCM of SoC.
The "ext" means the reference clock comes from external IO pins.
If not present, indicates that the system clock of NETC IP is selected
as the reference clock.
clock-names:
enum:
- ccm
- ext
required:
- compatible
- reg
allOf:
- $ref: /schemas/pci/pci-device.yaml
unevaluatedProperties: false
examples:
- |
pcie {
#address-cells = <3>;
#size-cells = <2>;
ptp-timer@18,0 {
compatible = "pci1131,ee02";
reg = <0x00c000 0 0 0 0>;
clocks = <&scmi_clk 18>;
clock-names = "ccm";
};
};