The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/net/ti,k3-am654-cpts.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/net/ti,k3-am654-cpts.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: The TI AM654x/J721E Common Platform Time Sync (CPTS) module Device Tree Bindings
    8 
    9 maintainers:
   10   - Grygorii Strashko <grygorii.strashko@ti.com>
   11   - Sekhar Nori <nsekhar@ti.com>
   12 
   13 description: |+
   14   The TI AM654x/J721E CPTS module is used to facilitate host control of time
   15   sync operations.
   16   Main features of CPTS module are
   17   - selection of multiple external clock sources
   18   - Software control of time sync events via interrupt or polling
   19   - 64-bit timestamp mode in ns with PPM and nudge adjustment.
   20   - hardware timestamp push inputs (HWx_TS_PUSH)
   21   - timestamp counter compare output (TS_COMP)
   22   - timestamp counter bit output (TS_SYNC)
   23   - periodic Generator function outputs (TS_GENFx)
   24   - Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn) (TSN)
   25   - external hardware timestamp push inputs (HWx_TS_PUSH) timestamping
   26 
   27    Depending on integration it enables compliance with the IEEE 1588-2008
   28    standard for a precision clock synchronization protocol, Ethernet Enhanced
   29    Scheduled Traffic Operations (CPTS_ESTFn) and PCIe Subsystem Precision Time
   30    Measurement (PTM).
   31 
   32   TI AM654x/J721E SoCs has several similar CPTS modules integrated into the
   33   different parts of the system which could be synchronized with each other
   34   - Main CPTS
   35   - MCU CPSW CPTS with IEEE 1588-2008 support
   36   - PCIe subsystem CPTS for PTM support
   37 
   38   Depending on CPTS module integration and when CPTS is integral part of
   39   another module (MCU CPSW for example) "compatible" and "reg" can
   40   be omitted - parent module is fully responsible for CPTS enabling and
   41   configuration.
   42 
   43 properties:
   44   $nodename:
   45     pattern: "^cpts@[0-9a-f]+$"
   46 
   47   compatible:
   48     enum:
   49       - ti,am65-cpts
   50       - ti,j721e-cpts
   51 
   52   reg:
   53     maxItems: 1
   54     description:
   55       The physical base address and size of CPTS IO range
   56 
   57   reg-names:
   58     items:
   59       - const: cpts
   60 
   61   clocks:
   62     maxItems: 1
   63     description: CPTS reference clock
   64 
   65   clock-names:
   66     items:
   67       - const: cpts
   68 
   69   interrupts:
   70     items:
   71       - description: CPTS events interrupt
   72 
   73   interrupt-names:
   74     items:
   75       - const: cpts
   76 
   77   assigned-clock-parents: true
   78 
   79   assigned-clocks: true
   80 
   81   power-domains:
   82     maxItems: 1
   83 
   84   ti,cpts-ext-ts-inputs:
   85     $ref: /schemas/types.yaml#/definitions/uint32
   86     maximum: 8
   87     description:
   88       Number of hardware timestamp push inputs (HWx_TS_PUSH)
   89 
   90   ti,cpts-periodic-outputs:
   91     $ref: /schemas/types.yaml#/definitions/uint32
   92     maximum: 8
   93     description:
   94       Number of timestamp Generator function outputs (TS_GENFx)
   95 
   96   refclk-mux:
   97     type: object
   98     description: CPTS reference clock multiplexer clock
   99     properties:
  100       '#clock-cells':
  101         const: 0
  102 
  103       clocks:
  104         maxItems: 8
  105 
  106     required:
  107       - clocks
  108 
  109 required:
  110   - compatible
  111   - reg
  112   - clocks
  113   - clock-names
  114   - interrupts
  115   - interrupt-names
  116 
  117 additionalProperties: false
  118 
  119 examples:
  120   - |
  121     #include <dt-bindings/interrupt-controller/irq.h>
  122     #include <dt-bindings/interrupt-controller/arm-gic.h>
  123 
  124     cpts@310d0000 {
  125          compatible = "ti,am65-cpts";
  126          reg = <0x310d0000 0x400>;
  127          reg-names = "cpts";
  128          clocks = <&main_cpts_mux>;
  129          clock-names = "cpts";
  130          interrupts-extended = <&k3_irq 163 0 IRQ_TYPE_LEVEL_HIGH>;
  131          interrupt-names = "cpts";
  132          ti,cpts-periodic-outputs = <6>;
  133          ti,cpts-ext-ts-inputs = <8>;
  134 
  135          main_cpts_mux: refclk-mux {
  136                #clock-cells = <0>;
  137                clocks = <&k3_clks 118 5>, <&k3_clks 118 11>,
  138                         <&k3_clks 157 91>, <&k3_clks 157 77>,
  139                         <&k3_clks 157 102>, <&k3_clks 157 80>,
  140                         <&k3_clks 120 3>, <&k3_clks 121 3>;
  141                assigned-clocks = <&main_cpts_mux>;
  142                assigned-clock-parents = <&k3_clks 118 11>;
  143          };
  144     };

Cache object: 8246aac9c5529c06540658d7d53e9b56


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.