Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / arm / tegra / nvidia,tegra234-cbb.yaml
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
7 title: NVIDIA Tegra CBB 2.0
8
9 maintainers:
10   - Sumit Gupta <sumitg@nvidia.com>
11
12 description: |+
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
39 properties:
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
59 additionalProperties: false
60
61 required:
62   - compatible
63   - reg
64   - interrupts
65
66 examples:
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     };