On Fri, Jun 25, 2021 at 5:48 PM Dipen Patel <dipenp@xxxxxxxxxx> 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@xxxxxxxxxx> > --- > .../devicetree/bindings/hte/hte-consumer.yaml | 47 +++++++++++ > .../devicetree/bindings/hte/hte.yaml | 34 ++++++++ > .../bindings/hte/nvidia,tegra194-hte.yaml | 83 +++++++++++++++++++ > 3 files changed, 164 insertions(+) > create mode 100644 Documentation/devicetree/bindings/hte/hte-consumer.yaml > create mode 100644 Documentation/devicetree/bindings/hte/hte.yaml > create mode 100644 Documentation/devicetree/bindings/hte/nvidia,tegra194-hte.yaml > > diff --git a/Documentation/devicetree/bindings/hte/hte-consumer.yaml b/Documentation/devicetree/bindings/hte/hte-consumer.yaml > new file mode 100644 > index 000000000000..79ae1f7d5185 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hte/hte-consumer.yaml > @@ -0,0 +1,47 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hte/hte-consumer.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: HTE Consumer Device Tree Bindings > + > +maintainers: > + - Dipen Patel <dipenp@xxxxxxxxxx> > + > +description: | > + HTE properties should be named "htes". The exact meaning of each htes > + property must be documented in the device tree binding for each device. > + An optional property "hte-names" may contain a list of strings to label > + each of the HTE devices listed in the "htes" property. > + > + The "hte-names" property if specified is used to map the name of the HTE > + device requested by the devm_of_hte_request_ts() or of_hte_request_ts > + call to an index into the list given by the "htes" property. > + > +properties: > + htes: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + description: > + The list of HTE provider phandle. The provider must document the number > + of cell that must be passed in this property along with phandle. > + > + hte-names: > + $ref: /schemas/types.yaml#/definitions/string-array > + description: > + An optional string property. > + > +required: > + - "htes" > + > +dependencies: > + hte-names: [ htes ] > + > +additionalProperties: true > + > +examples: > + - | > + hte_irq_consumer { > + htes = <&tegra_hte_lic 0x19>; > + hte-names = "hte-irq"; > + }; > diff --git a/Documentation/devicetree/bindings/hte/hte.yaml b/Documentation/devicetree/bindings/hte/hte.yaml > new file mode 100644 > index 000000000000..e285c38f1a05 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hte/hte.yaml > @@ -0,0 +1,34 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hte/hte.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: HTE providers > + > +maintainers: > + - Dipen Patel <dipenp@xxxxxxxxxx> > + > +properties: > + $nodename: > + pattern: "^hte(@.*|-[0-9a-f])*$" > + > + "#hte-cells": > + description: > + Number of cells in a HTE specifier. > + > +required: > + - "#hte-cells" > + > +additionalProperties: true > + > +examples: > + - | > + tegra_hte_aon: hte@c1e0000 { > + compatible = "nvidia,tegra194-gte-aon"; > + reg = <0xc1e0000 0x10000>; > + interrupts = <0 13 0x4>; > + int-threshold = <1>; > + slices = <3>; > + #hte-cells = <1>; > + }; > \ No newline at end of file > diff --git a/Documentation/devicetree/bindings/hte/nvidia,tegra194-hte.yaml b/Documentation/devicetree/bindings/hte/nvidia,tegra194-hte.yaml > new file mode 100644 > index 000000000000..bb76cc1971f0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hte/nvidia,tegra194-hte.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hte/nvidia,tegra194-hte.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Tegra194 on chip generic hardware timestamping engine (HTE) I had to read until here to know what HTE is. Is there another example of this type of h/w that this should be a generic binding? Rob