~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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
  8 
  9 maintainers:
 10   - Siddharth Vadapalli <s-vadapalli@ti.com>
 11   - Roger Quadros <rogerq@kernel.org>
 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   ti,pps:
 97     $ref: /schemas/types.yaml#/definitions/uint32-array
 98     minItems: 2
 99     maxItems: 2
100     description: |
101       The pair of HWx_TS_PUSH input and TS_GENFy output indexes used for
102       PPS events generation. Platform/board specific.
103 
104   refclk-mux:
105     type: object
106     additionalProperties: false
107     description: CPTS reference clock multiplexer clock
108     properties:
109       '#clock-cells':
110         const: 0
111 
112       clocks:
113         maxItems: 8
114 
115     required:
116       - clocks
117 
118 required:
119   - compatible
120   - reg
121   - clocks
122   - clock-names
123   - interrupts
124   - interrupt-names
125 
126 additionalProperties: false
127 
128 examples:
129   - |
130     #include <dt-bindings/interrupt-controller/irq.h>
131     #include <dt-bindings/interrupt-controller/arm-gic.h>
132 
133     cpts@310d0000 {
134          compatible = "ti,am65-cpts";
135          reg = <0x310d0000 0x400>;
136          reg-names = "cpts";
137          clocks = <&main_cpts_mux>;
138          clock-names = "cpts";
139          interrupts-extended = <&k3_irq 163 0 IRQ_TYPE_LEVEL_HIGH>;
140          interrupt-names = "cpts";
141          ti,cpts-periodic-outputs = <6>;
142          ti,cpts-ext-ts-inputs = <8>;
143 
144          main_cpts_mux: refclk-mux {
145                #clock-cells = <0>;
146                clocks = <&k3_clks 118 5>, <&k3_clks 118 11>,
147                         <&k3_clks 157 91>, <&k3_clks 157 77>,
148                         <&k3_clks 157 102>, <&k3_clks 157 80>,
149                         <&k3_clks 120 3>, <&k3_clks 121 3>;
150                assigned-clocks = <&main_cpts_mux>;
151                assigned-clock-parents = <&k3_clks 118 11>;
152          };
153     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php