Documentation: dt: edac: Fix Stratix10 IRQ bindings
authorThor Thayer <thor.thayer@linux.intel.com>
Thu, 4 Apr 2019 14:36:35 +0000 (09:36 -0500)
committerBorislav Petkov <bp@suse.de>
Wed, 10 Apr 2019 18:50:25 +0000 (20:50 +0200)
Fix Stratix10 ECC bindings to specify only the single
bit error. On Stratix10 double bit errors are handled
as SErrors instead of interrupts.
Indicate the differences between the ARM64 and ARM32
EDAC architecture in the bindings.

Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Rob Herring <robh@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: dinguyen@kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mark.rutland@arm.com
Cc: mchehab@kernel.org
Link: https://lkml.kernel.org/r/1554388597-28019-2-git-send-email-thor.thayer@linux.intel.com
Documentation/devicetree/bindings/edac/socfpga-eccmgr.txt

index 5626560a6cfdff805ebd1460a14ec2127747de4a..acb211c098c024a86e1945578195faee3af5e4b3 100644 (file)
@@ -232,37 +232,46 @@ Example:
                };
        };
 
-Stratix10 SoCFPGA ECC Manager
+Stratix10 SoCFPGA ECC Manager (ARM64)
 The Stratix10 SoC ECC Manager handles the IRQs for each peripheral
-in a shared register similar to the Arria10. However, ECC requires
-access to registers that can only be read from Secure Monitor with
-SMC calls. Therefore the device tree is slightly different.
+in a shared register similar to the Arria10. However, Stratix10 ECC
+requires access to registers that can only be read from Secure Monitor
+with SMC calls. Therefore the device tree is slightly different. Note
+that only 1 interrupt is sent in Stratix10 because the double bit errors
+are treated as SErrors in ARM64 instead of IRQs in ARM32.
 
 Required Properties:
 - compatible : Should be "altr,socfpga-s10-ecc-manager"
-- interrupts : Should be single bit error interrupt, then double bit error
-       interrupt.
+- altr,sysgr-syscon : phandle to Stratix10 System Manager Block
+                     containing the ECC manager registers.
+- interrupts : Should be single bit error interrupt.
 - interrupt-controller : boolean indicator that ECC Manager is an interrupt controller
 - #interrupt-cells : must be set to 2.
+- #address-cells: must be 1
+- #size-cells: must be 1
+- ranges : standard definition, should translate from local addresses
 
 Subcomponents:
 
 SDRAM ECC
 Required Properties:
 - compatible : Should be "altr,sdram-edac-s10"
-- interrupts : Should be single bit error interrupt, then double bit error
-       interrupt, in this order.
+- interrupts : Should be single bit error interrupt.
 
 Example:
 
        eccmgr {
                compatible = "altr,socfpga-s10-ecc-manager";
-               interrupts = <0 15 4>, <0 95 4>;
+               altr,sysmgr-syscon = <&sysmgr>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               interrupts = <0 15 4>;
                interrupt-controller;
                #interrupt-cells = <2>;
+               ranges;
 
                sdramedac {
                        compatible = "altr,sdram-edac-s10";
-                       interrupts = <16 4>, <48 4>;
+                       interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
                };
        };