Messages in this thread | | | Subject | Re: [PATCH net-next 1/7] dt-binding: ti: am65x: document common platform time sync cpts module | From | Grygorii Strashko <> | Date | Wed, 6 May 2020 22:10:23 +0300 |
| |
On 06/05/2020 22:07, Rob Herring wrote: > On Tue, May 5, 2020 at 10:01 AM Grygorii Strashko > <grygorii.strashko@ti.com> wrote: >> >> >> >> On 05/05/2020 07:04, Rob Herring wrote: >>> On Fri, May 01, 2020 at 11:50:05PM +0300, Grygorii Strashko wrote: >>>> Document device tree bindings for TI AM654/J721E SoC The Common Platform >>>> Time Sync (CPTS) module. The CPTS module is used to facilitate host control >>>> of time sync operations. Main features of CPTS module are: >>>> - selection of multiple external clock sources >>>> - 64-bit timestamp mode in ns with ppm and nudge adjustment. >>>> - control of time sync events via interrupt or polling >>>> - hardware timestamp of ext. events (HWx_TS_PUSH) >>>> - periodic generator function outputs (TS_GENFx) >>>> - PPS in combination with timesync router >>>> - Depending on integration it enables compliance with the IEEE 1588-2008 >>>> standard for a precision clock synchronization protocol, Ethernet Enhanced >>>> Scheduled Traffic Operations (CPTS_ESTFn) and PCIe Subsystem Precision Time >>>> Measurement (PTM). >>>> >>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> >>>> --- >>>> .../bindings/net/ti,k3-am654-cpsw-nuss.yaml | 7 + >>>> .../bindings/net/ti,k3-am654-cpts.yaml | 152 ++++++++++++++++++ >>>> 2 files changed, 159 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml >>>> >>>> diff --git a/Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml b/Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml >>>> index 78bf511e2892..0f3fde45e200 100644 >>>> --- a/Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml >>>> +++ b/Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml >>>> @@ -144,6 +144,13 @@ patternProperties: >>>> description: >>>> CPSW MDIO bus. >>>> >>>> + "^cpts$": >> >> ok >> >>> >>> Fixed strings go under 'properties'. >>> >>>> + type: object >>>> + allOf: >>>> + - $ref: "ti,am654-cpts.yaml#" >>>> + description: >>>> + CPSW Common Platform Time Sync (CPTS) module. >>>> + >>>> required: >>>> - compatible >>>> - reg >>>> diff --git a/Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml b/Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml >>>> new file mode 100644 >>>> index 000000000000..1b535d41e5c6 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml >>>> @@ -0,0 +1,152 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/net/ti,am654-cpts.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: The TI AM654x/J721E Common Platform Time Sync (CPTS) module Device Tree Bindings >>>> + >>>> +maintainers: >>>> + - Grygorii Strashko <grygorii.strashko@ti.com> >>>> + - Sekhar Nori <nsekhar@ti.com> >>>> + >>>> +description: |+ >>>> + The TI AM654x/J721E CPTS module is used to facilitate host control of time >>>> + sync operations. >>>> + Main features of CPTS module are >>>> + - selection of multiple external clock sources >>>> + - Software control of time sync events via interrupt or polling >>>> + - 64-bit timestamp mode in ns with PPM and nudge adjustment. >>>> + - hardware timestamp push inputs (HWx_TS_PUSH) >>>> + - timestamp counter compare output (TS_COMP) >>>> + - timestamp counter bit output (TS_SYNC) >>>> + - periodic Generator function outputs (TS_GENFx) >>>> + - Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn) (TSN) >>>> + - external hardware timestamp push inputs (HWx_TS_PUSH) timestamping >>>> + >>>> + Depending on integration it enables compliance with the IEEE 1588-2008 >>>> + standard for a precision clock synchronization protocol, Ethernet Enhanced >>>> + Scheduled Traffic Operations (CPTS_ESTFn) and PCIe Subsystem Precision Time >>>> + Measurement (PTM). >>>> + >>>> + TI AM654x/J721E SoCs has several similar CPTS modules integrated into the >>>> + different parts of the system which could be synchronized with each other >>>> + - Main CPTS >>>> + - MCU CPSW CPTS with IEEE 1588-2008 support >>>> + - PCIe subsystem CPTS for PTM support >>>> + >>>> + Depending on CPTS module integration and when CPTS is integral part of >>>> + another module (MCU CPSW for example) "compatible" and "reg" can >>>> + be omitted - parent module is fully responsible for CPTS enabling and >>>> + configuration. >>> >>> That's fine, but you should still have compatible and reg. >> >> I'll add reg as below. But compatible is an issue, because >> k3-am654-cpsw-nuss call of_platform_populate() to create mdio device. >> But for CPTS I do not want to create device as k3-am654-cpsw-nuss uses direct >> function calls to CPTS. >> >> Will it be correct to switch to of_platform_device_create() instead of >> of_platform_populate()? > > That should be fine I think.
Thanks. I've sent follow up patches.
-- Best regards, grygorii
| |