Re: [RFC 04/11] dt-bindings: Add HTE bindings

From: Rob Herring
Date: Thu Jul 01 2021 - 11:54:55 EST


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