xref: /freebsd/sys/contrib/device-tree/Bindings/arm/tegra/nvidia,tegra234-cbb.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/arm/tegra/nvidia,tegra234-cbb.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: NVIDIA Tegra CBB 2.0
8
9maintainers:
10  - Sumit Gupta <sumitg@nvidia.com>
11
12description: |+
13  The Control Backbone (CBB) is comprised of the physical path from an
14  initiator to a target's register configuration space. CBB 2.0 consists
15  of multiple sub-blocks connected to each other to create a topology.
16  The Tegra234 SoC has different fabrics based on CBB 2.0 architecture
17  which include cluster fabrics BPMP, AON, PSC, SCE, RCE, DCE, FSI and
18  "CBB central fabric".
19
20  In CBB 2.0, each initiator which can issue transactions connects to a
21  Root Master Node (MN) before it connects to any other element of the
22  fabric. Each Root MN contains a Error Monitor (EM) which detects and
23  logs error. Interrupts from various EM blocks are collated by Error
24  Notifier (EN) which is per fabric and presents a single interrupt from
25  fabric to the SoC interrupt controller.
26
27  The driver handles errors from CBB due to illegal register accesses
28  and prints debug information about failed transaction on receiving
29  the interrupt from EN. Debug information includes Error Code, Error
30  Description, MasterID, Fabric, SlaveID, Address, Cache, Protection,
31  Security Group etc on receiving error notification.
32
33  If the Error Response Disable (ERD) is set/enabled for an initiator,
34  then SError or Data abort exception error response is masked and an
35  interrupt is used for reporting errors due to illegal accesses from
36  that initiator. The value returned on read failures is '0xFFFFFFFF'
37  for compatibility with PCIE.
38
39properties:
40  $nodename:
41    pattern: "^[a-z]+-fabric@[0-9a-f]+$"
42
43  compatible:
44    enum:
45      - nvidia,tegra234-aon-fabric
46      - nvidia,tegra234-bpmp-fabric
47      - nvidia,tegra234-cbb-fabric
48      - nvidia,tegra234-dce-fabric
49      - nvidia,tegra234-rce-fabric
50      - nvidia,tegra234-sce-fabric
51
52  reg:
53    maxItems: 1
54
55  interrupts:
56    items:
57      - description: secure interrupt from error notifier
58
59additionalProperties: false
60
61required:
62  - compatible
63  - reg
64  - interrupts
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/arm-gic.h>
69
70    cbb-fabric@1300000 {
71      compatible = "nvidia,tegra234-cbb-fabric";
72      reg = <0x13a00000 0x400000>;
73      interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
74    };
75