Commit d6900b8b authored by Wei Fang's avatar Wei Fang Committed by Paolo Abeni
Browse files

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: default avatarWei Fang <wei.fang@nxp.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250829050615.1247468-2-wei.fang@nxp.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 2fd4161d
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
# 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";
        };
    };