Back to home page

OSCL-LXR

 
 

    


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     };