# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/arm/tegra/nvidia,tegra234-cbb.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NVIDIA Tegra CBB 2.0 maintainers: - Sumit Gupta description: |+ The Control Backbone (CBB) is comprised of the physical path from an initiator to a target's register configuration space. CBB 2.0 consists of multiple sub-blocks connected to each other to create a topology. The Tegra234 SoC has different fabrics based on CBB 2.0 architecture which include cluster fabrics BPMP, AON, PSC, SCE, RCE, DCE, FSI and "CBB central fabric". In CBB 2.0, each initiator which can issue transactions connects to a Root Master Node (MN) before it connects to any other element of the fabric. Each Root MN contains a Error Monitor (EM) which detects and logs error. Interrupts from various EM blocks are collated by Error Notifier (EN) which is per fabric and presents a single interrupt from fabric to the SoC interrupt controller. The driver handles errors from CBB due to illegal register accesses and prints debug information about failed transaction on receiving the interrupt from EN. Debug information includes Error Code, Error Description, MasterID, Fabric, SlaveID, Address, Cache, Protection, Security Group etc on receiving error notification. If the Error Response Disable (ERD) is set/enabled for an initiator, then SError or Data abort exception error response is masked and an interrupt is used for reporting errors due to illegal accesses from that initiator. The value returned on read failures is '0xFFFFFFFF' for compatibility with PCIE. properties: $nodename: pattern: "^[a-z]+-fabric@[0-9a-f]+$" compatible: enum: - nvidia,tegra234-aon-fabric - nvidia,tegra234-bpmp-fabric - nvidia,tegra234-cbb-fabric - nvidia,tegra234-dce-fabric - nvidia,tegra234-rce-fabric - nvidia,tegra234-sce-fabric reg: maxItems: 1 interrupts: items: - description: secure interrupt from error notifier additionalProperties: false required: - compatible - reg - interrupts examples: - | #include cbb-fabric@1300000 { compatible = "nvidia,tegra234-cbb-fabric"; reg = <0x13a00000 0x400000>; interrupts = ; };