451bb7fbcc
The new x-gene EDAC driver incorrectly tried to figure out the version of one of its IP blocks by looking at the version of the CPU core, which is only vagely related. This removes the incorrect code and instead uses the version of the IP block in the compatible string where it belongs. Found using build testing on x86, which does not provide the arm64 cpuid interface. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [ Changed subnode to "apm,xgene-edac-pmd-v2", adjusted check. ] Signed-off-by: Loc Ho <lho@apm.com> Cc: devicetree@vger.kernel.org Cc: dougthompson@xmission.com Cc: ijc+devicetree@hellion.org.uk Cc: jcm@redhat.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-edac <linux-edac@vger.kernel.org> Cc: mark.rutland@arm.com Cc: mchehab@osg.samsung.com Cc: patches@apm.com Cc: robh+dt@kernel.org Link: http://lkml.kernel.org/r/3195065.IK73o60xya@wuerfel Signed-off-by: Borislav Petkov <bp@suse.de>
80 lines
2.2 KiB
Plaintext
80 lines
2.2 KiB
Plaintext
* APM X-Gene SoC EDAC node
|
|
|
|
EDAC node is defined to describe on-chip error detection and correction.
|
|
The follow error types are supported:
|
|
|
|
memory controller - Memory controller
|
|
PMD (L1/L2) - Processor module unit (PMD) L1/L2 cache
|
|
|
|
The following section describes the EDAC DT node binding.
|
|
|
|
Required properties:
|
|
- compatible : Shall be "apm,xgene-edac".
|
|
- regmap-csw : Regmap of the CPU switch fabric (CSW) resource.
|
|
- regmap-mcba : Regmap of the MCB-A (memory bridge) resource.
|
|
- regmap-mcbb : Regmap of the MCB-B (memory bridge) resource.
|
|
- regmap-efuse : Regmap of the PMD efuse resource.
|
|
- reg : First resource shall be the CPU bus (PCP) resource.
|
|
- interrupts : Interrupt-specifier for MCU, PMD, L3, or SoC error
|
|
IRQ(s).
|
|
|
|
Required properties for memory controller subnode:
|
|
- compatible : Shall be "apm,xgene-edac-mc".
|
|
- reg : First resource shall be the memory controller unit
|
|
(MCU) resource.
|
|
- memory-controller : Instance number of the memory controller.
|
|
|
|
Required properties for PMD subnode:
|
|
- compatible : Shall be "apm,xgene-edac-pmd" or
|
|
"apm,xgene-edac-pmd-v2".
|
|
- reg : First resource shall be the PMD resource.
|
|
- pmd-controller : Instance number of the PMD controller.
|
|
|
|
Example:
|
|
csw: csw@7e200000 {
|
|
compatible = "apm,xgene-csw", "syscon";
|
|
reg = <0x0 0x7e200000 0x0 0x1000>;
|
|
};
|
|
|
|
mcba: mcba@7e700000 {
|
|
compatible = "apm,xgene-mcb", "syscon";
|
|
reg = <0x0 0x7e700000 0x0 0x1000>;
|
|
};
|
|
|
|
mcbb: mcbb@7e720000 {
|
|
compatible = "apm,xgene-mcb", "syscon";
|
|
reg = <0x0 0x7e720000 0x0 0x1000>;
|
|
};
|
|
|
|
efuse: efuse@1054a000 {
|
|
compatible = "apm,xgene-efuse", "syscon";
|
|
reg = <0x0 0x1054a000 0x0 0x20>;
|
|
};
|
|
|
|
edac@78800000 {
|
|
compatible = "apm,xgene-edac";
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
regmap-csw = <&csw>;
|
|
regmap-mcba = <&mcba>;
|
|
regmap-mcbb = <&mcbb>;
|
|
regmap-efuse = <&efuse>;
|
|
reg = <0x0 0x78800000 0x0 0x100>;
|
|
interrupts = <0x0 0x20 0x4>,
|
|
<0x0 0x21 0x4>,
|
|
<0x0 0x27 0x4>;
|
|
|
|
edacmc@7e800000 {
|
|
compatible = "apm,xgene-edac-mc";
|
|
reg = <0x0 0x7e800000 0x0 0x1000>;
|
|
memory-controller = <0>;
|
|
};
|
|
|
|
edacpmd@7c000000 {
|
|
compatible = "apm,xgene-edac-pmd";
|
|
reg = <0x0 0x7c000000 0x0 0x200000>;
|
|
pmd-controller = <0>;
|
|
};
|
|
};
|