| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/timestamp/nvidia,tegra194-hte.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Tegra on chip generic hardware timestamping engine (HTE) provider
- maintainers:
- - Dipen Patel <dipenp@nvidia.com>
- description:
- Tegra SoC has two instances of generic hardware timestamping engines (GTE)
- known as GTE GPIO and GTE IRQ, which can monitor subset of GPIO and on chip
- IRQ lines for the state change respectively, upon detection it will record
- timestamp (taken from system counter) in its internal hardware FIFO. It has
- a bitmap array arranged in 32bit slices where each bit represent signal/line
- to enable or disable for the hardware timestamping. The GTE GPIO monitors
- GPIO lines from the AON (always on) GPIO controller.
- properties:
- compatible:
- enum:
- - nvidia,tegra194-gte-aon
- - nvidia,tegra194-gte-lic
- - nvidia,tegra234-gte-aon
- - nvidia,tegra234-gte-lic
- reg:
- maxItems: 1
- interrupts:
- maxItems: 1
- nvidia,int-threshold:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- HTE device generates its interrupt based on this u32 FIFO threshold
- value. The recommended value is 1.
- minimum: 1
- maximum: 256
- nvidia,slices:
- $ref: /schemas/types.yaml#/definitions/uint32
- deprecated: true
- description:
- HTE lines are arranged in 32 bit slice where each bit represents different
- line/signal that it can enable/configure for the timestamp. It is u32
- property and the value depends on the HTE instance in the chip. The AON
- GTE instances for both Tegra194 and Tegra234 has 3 slices. The Tegra194
- LIC instance has 11 slices and Tegra234 LIC has 17 slices.
- enum: [3, 11, 17]
- nvidia,gpio-controller:
- $ref: /schemas/types.yaml#/definitions/phandle
- description:
- The phandle to AON gpio controller instance. This is required to handle
- namespace conversion between GPIO and GTE.
- '#timestamp-cells':
- description:
- This represents number of line id arguments as specified by the
- consumers. For the GTE IRQ, this is IRQ number as mentioned in the
- SoC technical reference manual. For the GTE GPIO, its value is same as
- mentioned in the nvidia GPIO device tree binding document.
- const: 1
- required:
- - compatible
- - reg
- - interrupts
- - "#timestamp-cells"
- allOf:
- - if:
- properties:
- compatible:
- contains:
- enum:
- - nvidia,tegra194-gte-aon
- - nvidia,tegra234-gte-aon
- then:
- properties:
- nvidia,slices:
- const: 3
- - if:
- properties:
- compatible:
- contains:
- enum:
- - nvidia,tegra194-gte-lic
- then:
- properties:
- nvidia,slices:
- const: 11
- - if:
- properties:
- compatible:
- contains:
- enum:
- - nvidia,tegra234-gte-lic
- then:
- properties:
- nvidia,slices:
- const: 17
- - if:
- properties:
- compatible:
- contains:
- enum:
- - nvidia,tegra234-gte-aon
- then:
- required:
- - nvidia,gpio-controller
- additionalProperties: false
- examples:
- - |
- tegra_hte_aon: timestamp@c1e0000 {
- compatible = "nvidia,tegra194-gte-aon";
- reg = <0xc1e0000 0x10000>;
- interrupts = <0 13 0x4>;
- nvidia,int-threshold = <1>;
- #timestamp-cells = <1>;
- };
- - |
- tegra_hte_lic: timestamp@3aa0000 {
- compatible = "nvidia,tegra194-gte-lic";
- reg = <0x3aa0000 0x10000>;
- interrupts = <0 11 0x4>;
- nvidia,int-threshold = <1>;
- #timestamp-cells = <1>;
- };
- ...
|