0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/arm/tegra/nvidia,tegra234-cbb.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: NVIDIA Tegra CBB 2.0 bindings
0008
0009 maintainers:
0010 - Sumit Gupta <sumitg@nvidia.com>
0011
0012 description: |+
0013 The Control Backbone (CBB) is comprised of the physical path from an
0014 initiator to a target's register configuration space. CBB 2.0 consists
0015 of multiple sub-blocks connected to each other to create a topology.
0016 The Tegra234 SoC has different fabrics based on CBB 2.0 architecture
0017 which include cluster fabrics BPMP, AON, PSC, SCE, RCE, DCE, FSI and
0018 "CBB central fabric".
0019
0020 In CBB 2.0, each initiator which can issue transactions connects to a
0021 Root Master Node (MN) before it connects to any other element of the
0022 fabric. Each Root MN contains a Error Monitor (EM) which detects and
0023 logs error. Interrupts from various EM blocks are collated by Error
0024 Notifier (EN) which is per fabric and presents a single interrupt from
0025 fabric to the SoC interrupt controller.
0026
0027 The driver handles errors from CBB due to illegal register accesses
0028 and prints debug information about failed transaction on receiving
0029 the interrupt from EN. Debug information includes Error Code, Error
0030 Description, MasterID, Fabric, SlaveID, Address, Cache, Protection,
0031 Security Group etc on receiving error notification.
0032
0033 If the Error Response Disable (ERD) is set/enabled for an initiator,
0034 then SError or Data abort exception error response is masked and an
0035 interrupt is used for reporting errors due to illegal accesses from
0036 that initiator. The value returned on read failures is '0xFFFFFFFF'
0037 for compatibility with PCIE.
0038
0039 properties:
0040 $nodename:
0041 pattern: "^[a-z]+-fabric@[0-9a-f]+$"
0042
0043 compatible:
0044 enum:
0045 - nvidia,tegra234-aon-fabric
0046 - nvidia,tegra234-bpmp-fabric
0047 - nvidia,tegra234-cbb-fabric
0048 - nvidia,tegra234-dce-fabric
0049 - nvidia,tegra234-rce-fabric
0050 - nvidia,tegra234-sce-fabric
0051
0052 reg:
0053 maxItems: 1
0054
0055 interrupts:
0056 items:
0057 - description: secure interrupt from error notifier
0058
0059 additionalProperties: false
0060
0061 required:
0062 - compatible
0063 - reg
0064 - interrupts
0065
0066 examples:
0067 - |
0068 #include <dt-bindings/interrupt-controller/arm-gic.h>
0069
0070 cbb-fabric@1300000 {
0071 compatible = "nvidia,tegra234-cbb-fabric";
0072 reg = <0x13a00000 0x400000>;
0073 interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
0074 };