xref: /freebsd/sys/contrib/device-tree/Bindings/serial/nvidia,tegra264-utc.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8ccc0d23SEmmanuel Vadot%YAML 1.2
3*8ccc0d23SEmmanuel Vadot---
4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/serial/nvidia,tegra264-utc.yaml#
5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8ccc0d23SEmmanuel Vadot
7*8ccc0d23SEmmanuel Vadottitle: NVIDIA Tegra UTC (UART Trace Controller) client
8*8ccc0d23SEmmanuel Vadot
9*8ccc0d23SEmmanuel Vadotmaintainers:
10*8ccc0d23SEmmanuel Vadot  - Kartik Rajput <kkartik@nvidia.com>
11*8ccc0d23SEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
12*8ccc0d23SEmmanuel Vadot  - Jonathan Hunter <jonathanh@nvidia.com>
13*8ccc0d23SEmmanuel Vadot
14*8ccc0d23SEmmanuel Vadotdescription:
15*8ccc0d23SEmmanuel Vadot  Represents a client interface of the Tegra UTC (UART Trace Controller). The
16*8ccc0d23SEmmanuel Vadot  Tegra UTC allows multiple clients within the Tegra SoC to share a physical
17*8ccc0d23SEmmanuel Vadot  UART interface. It supports up to 16 clients. Each client operates as an
18*8ccc0d23SEmmanuel Vadot  independent UART endpoint with a dedicated interrupt and 128-character TX/RX
19*8ccc0d23SEmmanuel Vadot  FIFOs.
20*8ccc0d23SEmmanuel Vadot
21*8ccc0d23SEmmanuel Vadot  The Tegra UTC clients use 8-N-1 configuration and operates on a baudrate
22*8ccc0d23SEmmanuel Vadot  configured by the bootloader at the controller level.
23*8ccc0d23SEmmanuel Vadot
24*8ccc0d23SEmmanuel VadotallOf:
25*8ccc0d23SEmmanuel Vadot  - $ref: serial.yaml#
26*8ccc0d23SEmmanuel Vadot
27*8ccc0d23SEmmanuel Vadotproperties:
28*8ccc0d23SEmmanuel Vadot  compatible:
29*8ccc0d23SEmmanuel Vadot    const: nvidia,tegra264-utc
30*8ccc0d23SEmmanuel Vadot
31*8ccc0d23SEmmanuel Vadot  reg:
32*8ccc0d23SEmmanuel Vadot    items:
33*8ccc0d23SEmmanuel Vadot      - description: TX region.
34*8ccc0d23SEmmanuel Vadot      - description: RX region.
35*8ccc0d23SEmmanuel Vadot
36*8ccc0d23SEmmanuel Vadot  reg-names:
37*8ccc0d23SEmmanuel Vadot    items:
38*8ccc0d23SEmmanuel Vadot      - const: tx
39*8ccc0d23SEmmanuel Vadot      - const: rx
40*8ccc0d23SEmmanuel Vadot
41*8ccc0d23SEmmanuel Vadot  interrupts:
42*8ccc0d23SEmmanuel Vadot    maxItems: 1
43*8ccc0d23SEmmanuel Vadot
44*8ccc0d23SEmmanuel Vadot  tx-threshold:
45*8ccc0d23SEmmanuel Vadot    minimum: 1
46*8ccc0d23SEmmanuel Vadot    maximum: 128
47*8ccc0d23SEmmanuel Vadot
48*8ccc0d23SEmmanuel Vadot  rx-threshold:
49*8ccc0d23SEmmanuel Vadot    minimum: 1
50*8ccc0d23SEmmanuel Vadot    maximum: 128
51*8ccc0d23SEmmanuel Vadot
52*8ccc0d23SEmmanuel Vadotrequired:
53*8ccc0d23SEmmanuel Vadot  - compatible
54*8ccc0d23SEmmanuel Vadot  - reg
55*8ccc0d23SEmmanuel Vadot  - reg-names
56*8ccc0d23SEmmanuel Vadot  - interrupts
57*8ccc0d23SEmmanuel Vadot  - tx-threshold
58*8ccc0d23SEmmanuel Vadot  - rx-threshold
59*8ccc0d23SEmmanuel Vadot
60*8ccc0d23SEmmanuel VadotadditionalProperties: false
61*8ccc0d23SEmmanuel Vadot
62*8ccc0d23SEmmanuel Vadotexamples:
63*8ccc0d23SEmmanuel Vadot  - |
64*8ccc0d23SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
65*8ccc0d23SEmmanuel Vadot
66*8ccc0d23SEmmanuel Vadot    tegra_utc: serial@c4e0000 {
67*8ccc0d23SEmmanuel Vadot        compatible = "nvidia,tegra264-utc";
68*8ccc0d23SEmmanuel Vadot        reg = <0xc4e0000 0x8000>, <0xc4e8000 0x8000>;
69*8ccc0d23SEmmanuel Vadot        reg-names = "tx", "rx";
70*8ccc0d23SEmmanuel Vadot        interrupts = <GIC_SPI 514 IRQ_TYPE_LEVEL_HIGH>;
71*8ccc0d23SEmmanuel Vadot        tx-threshold = <4>;
72*8ccc0d23SEmmanuel Vadot        rx-threshold = <4>;
73*8ccc0d23SEmmanuel Vadot    };
74