[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YkRtzJjHQvmYNlK8@robh.at.kernel.org>
Date: Wed, 30 Mar 2022 09:48:44 -0500
From: Rob Herring <robh@...nel.org>
To: Dipen Patel <dipenp@...dia.com>
Cc: thierry.reding@...il.com, jonathanh@...dia.com,
smangipudi@...dia.com, linux-kernel@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-gpio@...r.kernel.org,
linus.walleij@...aro.org, bgolaszewski@...libre.com,
warthog618@...il.com, devicetree@...r.kernel.org,
linux-doc@...r.kernel.org
Subject: Re: [PATCH v5 04/11] dt-bindings: Add HTE bindings
On Tue, Mar 29, 2022 at 05:19:10PM -0700, Dipen Patel wrote:
> Hi,
>
> On 3/29/22 4:25 PM, Rob Herring wrote:
> > On Mon, Mar 28, 2022 at 10:45:14PM -0700, Dipen Patel wrote:
> >> Introduces HTE devicetree binding details for the HTE subsystem. It
> >> includes examples for the consumers, binding details for the providers
> >> and specific binding details for the Tegra194 based HTE providers.
> >>
> >> Signed-off-by: Dipen Patel <dipenp@...dia.com>
> >> Reviewed-by: Linus Walleij <linus.walleij@...aro.org>
> >> ---
> >> Changes in v2:
> >> - Replace hte with hardware-timestamp for property names
> >> - Renamed file
> >> - Removed example from the common dt binding file.
> >>
> >> Changes in v3:
> >> - Addressed grammatical errors.
> >> - Removed double plural from the respective properties.
> >> - Added dual license.
> >> - Prefixed "nvidia" in nvidia specific properties.
> >>
> >> Changes in v4:
> >> - Corrected make dt_binding_check error.
> >>
> >> Changes in v5:
> >> - Addressed review comments.
> >>
> >> .../hte/hardware-timestamps-common.yaml | 29 +++++++
> >> .../devicetree/bindings/hte/hte-consumer.yaml | 43 ++++++++++
> >> .../bindings/hte/nvidia,tegra194-hte.yaml | 82 +++++++++++++++++++
> >> 3 files changed, 154 insertions(+)
> >> create mode 100644 Documentation/devicetree/bindings/hte/hardware-timestamps-common.yaml
> >> create mode 100644 Documentation/devicetree/bindings/hte/hte-consumer.yaml
> >> create mode 100644 Documentation/devicetree/bindings/hte/nvidia,tegra194-hte.yaml
> >>
> >> diff --git a/Documentation/devicetree/bindings/hte/hardware-timestamps-common.yaml b/Documentation/devicetree/bindings/hte/hardware-timestamps-common.yaml
> >> new file mode 100644
> >> index 000000000000..e8a69ceccd56
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/hte/hardware-timestamps-common.yaml
> >> @@ -0,0 +1,29 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fhte%2Fhardware-timestamps-common.yaml%23&data=04%7C01%7Cdipenp%40nvidia.com%7C5793b3be05fd48a97ad108da11db79a7%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637841931589163420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=oyeG06oNMukYew%2Bkji%2FlXsDyGwIIrIvwxLHKxaiFBto%3D&reserved=0
> >> +$schema: https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23&data=04%7C01%7Cdipenp%40nvidia.com%7C5793b3be05fd48a97ad108da11db79a7%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637841931589163420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=JOY3MmZlMo6Mopr5dwjUky%2BaQX4b0QSiDt8zo3mSu1k%3D&reserved=0
> >> +
> >> +title: Hardware timestamp providers
> >> +
> >> +maintainers:
> >> + - Dipen Patel <dipenp@...dia.com>
> >> +
> >> +description:
> >> + Some devices/SoCs have hardware time stamping engines which can use hardware
> >> + means to timestamp entity in realtime. The entity could be anything from
> >> + GPIOs, IRQs, Bus and so on. The hardware timestamp engine (HTE) present
> >> + itself as a provider with the bindings described in this document.
> >> +
> >> +properties:
> >> + $nodename:
> >> + pattern: "^hardware-timestamp(@.*|-[0-9a-f])?$"
> >> +
> >> + "#hardware-timestamp-cells":
> >> + description:
> >> + Number of cells in a HTE specifier.
> >> +
> >> +required:
> >> + - "#hardware-timestamp-cells"
> >> +
> >> +additionalProperties: true
> >> diff --git a/Documentation/devicetree/bindings/hte/hte-consumer.yaml b/Documentation/devicetree/bindings/hte/hte-consumer.yaml
> >> new file mode 100644
> >> index 000000000000..be69f63aa8c3
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/hte/hte-consumer.yaml
> >> @@ -0,0 +1,43 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fhte%2Fhte-consumer.yaml%23&data=04%7C01%7Cdipenp%40nvidia.com%7C5793b3be05fd48a97ad108da11db79a7%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637841931589319655%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=0f1FFB1IotZESaxDlXX5mo9YyMN25BlFAyq%2FOQJtVoE%3D&reserved=0
> >> +$schema: https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23&data=04%7C01%7Cdipenp%40nvidia.com%7C5793b3be05fd48a97ad108da11db79a7%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637841931589319655%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=B%2FvVGGwp9JghUpT33cGk0EZHDRlaOAzCbtv93Z%2Fa9YY%3D&reserved=0
> >> +
> >> +title: HTE Consumer Device Tree Bindings
> >> +
> >> +maintainers:
> >> + - Dipen Patel <dipenp@...dia.com>
> >> +
> >> +select: true
> >> +
> >> +description:
> >> + HTE properties should be named "hardware-timestamps". The exact meaning of
> >> + each hardware-timestamps property must be documented in the device tree
> > The meaning of the cells needs to be documented. You are documenting the
> > meaning of 'hardware-timestamps' here.
>
> This is for the consumer side, meaning of the cells will be documented in the provider
>
> binding document.
Right cells are opaque to the consumer. What bothered me is
hardware-timestamps already has an 'exact meaning'. You need to me more
exact as to what should be documented. We don't want what
'hardware-timestamps' is described again. What needs to be documented is
how many entries, what each entry is (for the consumer), and the order.
> >> + binding for each device. An optional property "hardware-timestamp-names" may
> >> + contain a list of strings to label each of the HTE devices listed in the
> >> + "hardware-timestamps" property.
> >> +
> >> +properties:
> >> + hardware-timestamps:
> > I'm wondering if we should just drop 'hardware'. What other kind of
> > timestamps are we going to have in DT? software-timestamps? No.
>
> I believe this makes it explicit and leaves no room for second guess. If
>
> only timestamps, ambiguity then will be which timestamp it is i.e. through hardware
>
> engine, pps, ptp and so on...
Those aren't hardware timestamps, too? If those needed a similar
binding, couldn't they use this binding? PTP at least is sometimes an
separate, external chip IIRC.
Rob
Powered by blists - more mailing lists