18461fe3eSThierry Reding# SPDX-License-Identifier: GPL-2.0
28461fe3eSThierry Reding%YAML 1.2
38461fe3eSThierry Reding---
48461fe3eSThierry Reding$id: http://devicetree.org/schemas/serial/nvidia,tegra194-tcu.yaml#
58461fe3eSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
68461fe3eSThierry Reding
78461fe3eSThierry Redingtitle: NVIDIA Tegra Combined UART (TCU)
88461fe3eSThierry Reding
98461fe3eSThierry Redingmaintainers:
108461fe3eSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
118461fe3eSThierry Reding  - Jonathan Hunter <jonathanh@nvidia.com>
128461fe3eSThierry Reding
138461fe3eSThierry Redingdescription:
148461fe3eSThierry Reding  The TCU is a system for sharing a hardware UART instance among multiple
158461fe3eSThierry Reding  systems within the Tegra SoC. It is implemented through a mailbox-
168461fe3eSThierry Reding  based protocol where each "virtual UART" has a pair of mailboxes, one
178461fe3eSThierry Reding  for transmitting and one for receiving, that is used to communicate
188461fe3eSThierry Reding  with the hardware implementing the TCU.
198461fe3eSThierry Reding
208461fe3eSThierry Redingproperties:
218461fe3eSThierry Reding  $nodename:
228461fe3eSThierry Reding    pattern: "^serial(@.*)?$"
238461fe3eSThierry Reding
248461fe3eSThierry Reding  compatible:
25*cd1fe478SThierry Reding    oneOf:
26*cd1fe478SThierry Reding      - const: nvidia,tegra194-tcu
27*cd1fe478SThierry Reding      - items:
28*cd1fe478SThierry Reding          - enum:
29*cd1fe478SThierry Reding              - nvidia,tegra234-tcu
30*cd1fe478SThierry Reding          - const: nvidia,tegra194-tcu
318461fe3eSThierry Reding
328461fe3eSThierry Reding  mbox-names:
338461fe3eSThierry Reding    items:
348461fe3eSThierry Reding      - const: rx
358461fe3eSThierry Reding      - const: tx
368461fe3eSThierry Reding
378461fe3eSThierry Reding  mboxes:
388461fe3eSThierry Reding    description: |
398461fe3eSThierry Reding      List of phandles to mailbox channels used for receiving and
408461fe3eSThierry Reding      transmitting data from and to the hardware UART.
418461fe3eSThierry Reding    items:
428461fe3eSThierry Reding      - description: mailbox for receiving data from hardware UART
438461fe3eSThierry Reding      - description: mailbox for transmitting data to hardware UART
448461fe3eSThierry Reding
458461fe3eSThierry Redingrequired:
468461fe3eSThierry Reding  - compatible
478461fe3eSThierry Reding  - mbox-names
488461fe3eSThierry Reding  - mboxes
498461fe3eSThierry Reding
508461fe3eSThierry RedingadditionalProperties: false
518461fe3eSThierry Reding
528461fe3eSThierry Redingexamples:
538461fe3eSThierry Reding  - |
548461fe3eSThierry Reding    #include <dt-bindings/mailbox/tegra186-hsp.h>
558461fe3eSThierry Reding
568461fe3eSThierry Reding    tcu: serial {
578461fe3eSThierry Reding        compatible = "nvidia,tegra194-tcu";
588461fe3eSThierry Reding        mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM 0>,
598461fe3eSThierry Reding                 <&hsp_aon TEGRA_HSP_MBOX_TYPE_SM 1>;
608461fe3eSThierry Reding        mbox-names = "rx", "tx";
618461fe3eSThierry Reding    };
62