xref: /linux/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml (revision fc2d791a43d3880496d1c729b8bd74d2c19cb4e7)
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      - nvidia,tegra238-ape-fabric
52      - nvidia,tegra238-aon-fabric
53      - nvidia,tegra238-bpmp-fabric
54      - nvidia,tegra238-cbb-fabric
55
56  reg:
57    maxItems: 1
58
59  interrupts:
60    items:
61      - description: secure interrupt from error notifier
62
63additionalProperties: false
64
65required:
66  - compatible
67  - reg
68  - interrupts
69
70examples:
71  - |
72    #include <dt-bindings/interrupt-controller/arm-gic.h>
73
74    cbb-fabric@1300000 {
75      compatible = "nvidia,tegra234-cbb-fabric";
76      reg = <0x13a00000 0x400000>;
77      interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
78    };
79