From: Sumit Gupta <sumitg@nvidia.com>
To: <linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>, <thierry.reding@gmail.com>,
<jonathanh@nvidia.com>, <robh+dt@kernel.org>
Cc: <sumitg@nvidia.com>, <bbasu@nvidia.com>, <vsethi@nvidia.com>,
<jsequeira@nvidia.com>
Subject: [Patch Resend v1 5/8] dt-bindings: arm: tegra: Add NVIDIA Tegra234 CBB2.0 binding
Date: Thu, 9 Dec 2021 22:52:03 +0530 [thread overview]
Message-ID: <20211209172206.17778-6-sumitg@nvidia.com> (raw)
In-Reply-To: <20211209172206.17778-1-sumitg@nvidia.com>
Add device-tree binding documentation to represent CBB2.0 (Control
Backbone) error handling driver. The driver prints debug information
about failed transaction on receiving interrupt from CBB2.0.
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
---
.../arm/tegra/nvidia,tegra234-cbb.yaml | 80 +++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml
new file mode 100644
index 000000000000..ad8177255e6c
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra234-cbb.yaml
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+
+$id: "http://devicetree.org/schemas/arm/tegra/tegra23_cbb.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: NVIDIA Tegra CBB2.0 Error handling driver device tree bindings
+
+maintainers:
+ - Sumit Gupta <sumitg@nvidia.com>
+
+description: |+
+ Control Backbone (CBB) comprises of the physical path from an
+ initiator to a target's register configuration space.
+ CBB2.0 consists of multiple sub-blocks connected to each other
+ to create a topology.
+ Tegra234 SOC has different fabrics based on CBB2.0 architecture
+ which include cluster fabrics BPMP, AON, PSC, SCE, RCE, DCE, FSI
+ and "CBB central fabric".
+
+ In CBB2.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-f]+-en@[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:
+ maxItems: 1
+ items:
+ - description: secure interrupt from error notifier.
+
+ nvidia,err-notifier-base:
+ description: address of error notifier inside a fabric.
+
+ nvidia,off-mask-erd:
+ description: offset of register having ERD bit.
+
+additionalProperties: true
+
+examples:
+ - |
+ cbb-fabric@1300000 {
+ compatible = "nvidia,tegra234-cbb-fabric";
+ reg = <0x13a00000 0x400000>;
+ interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
+ nvidia,err-notifier-base = <0 0x60000>;
+ nvidia,off-mask-erd = <0 0x3a004>;
+ status = "okay";
+ };
+...
--
2.17.1
next prev parent reply other threads:[~2021-12-09 17:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-09 17:21 [Patch Resend v1 0/8] CBB driver for Tegra194, Tegra234 & Tegra-Grace Sumit Gupta
2021-12-09 17:21 ` [Patch Resend v1 1/8] soc: tegra: set ERD bit to mask inband errors Sumit Gupta
2021-12-09 17:22 ` [Patch Resend v1 2/8] dt-bindings: arm: tegra: Add NVIDIA Tegra194 CBB1.0 binding Sumit Gupta
2021-12-09 20:55 ` Rob Herring
2021-12-09 17:22 ` [Patch Resend v1 3/8] arm64: tegra: Add node for CBB1.0 in Tegra194 SOC Sumit Gupta
2021-12-09 17:22 ` [Patch Resend v1 4/8] soc: tegra: cbb: Add CBB1.0 driver for Tegra194 Sumit Gupta
2021-12-09 17:22 ` Sumit Gupta [this message]
2021-12-09 20:55 ` [Patch Resend v1 5/8] dt-bindings: arm: tegra: Add NVIDIA Tegra234 CBB2.0 binding Rob Herring
2021-12-10 7:26 ` Sumit Gupta
2021-12-16 11:30 ` Thierry Reding
2021-12-16 15:06 ` Sumit Gupta
2021-12-16 16:38 ` Thierry Reding
2021-12-16 18:35 ` Sumit Gupta
2021-12-09 17:22 ` [Patch Resend v1 6/8] arm64: tegra: Add node for CBB2.0 in Tegra234 SOC Sumit Gupta
2021-12-09 17:22 ` [Patch Resend v1 7/8] soc: tegra: cbb: Add driver for Tegra234 CBB2.0 Sumit Gupta
2021-12-09 17:22 ` [Patch Resend v1 8/8] soc: tegra: cbb: Add support for tegra-grace SOC Sumit Gupta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211209172206.17778-6-sumitg@nvidia.com \
--to=sumitg@nvidia.com \
--cc=bbasu@nvidia.com \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=jsequeira@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=vsethi@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.