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