xref: /openbmc/linux/Documentation/devicetree/bindings/edac/apm-xgene-edac.txt (revision eb3fcf007fffe5830d815e713591f3e858f2a365)
1* APM X-Gene SoC EDAC node
2
3EDAC node is defined to describe on-chip error detection and correction.
4The follow error types are supported:
5
6  memory controller	- Memory controller
7  PMD (L1/L2)		- Processor module unit (PMD) L1/L2 cache
8
9The following section describes the EDAC DT node binding.
10
11Required properties:
12- compatible		: Shall be "apm,xgene-edac".
13- regmap-csw		: Regmap of the CPU switch fabric (CSW) resource.
14- regmap-mcba		: Regmap of the MCB-A (memory bridge) resource.
15- regmap-mcbb		: Regmap of the MCB-B (memory bridge) resource.
16- regmap-efuse		: Regmap of the PMD efuse resource.
17- reg			: First resource shall be the CPU bus (PCP) resource.
18- interrupts            : Interrupt-specifier for MCU, PMD, L3, or SoC error
19			  IRQ(s).
20
21Required properties for memory controller subnode:
22- compatible		: Shall be "apm,xgene-edac-mc".
23- reg			: First resource shall be the memory controller unit
24                          (MCU) resource.
25- memory-controller	: Instance number of the memory controller.
26
27Required properties for PMD subnode:
28- compatible		: Shall be "apm,xgene-edac-pmd" or
29                          "apm,xgene-edac-pmd-v2".
30- reg			: First resource shall be the PMD resource.
31- pmd-controller	: Instance number of the PMD controller.
32
33Example:
34	csw: csw@7e200000 {
35		compatible = "apm,xgene-csw", "syscon";
36		reg = <0x0 0x7e200000 0x0 0x1000>;
37	};
38
39	mcba: mcba@7e700000 {
40		compatible = "apm,xgene-mcb", "syscon";
41		reg = <0x0 0x7e700000 0x0 0x1000>;
42	};
43
44	mcbb: mcbb@7e720000 {
45		compatible = "apm,xgene-mcb", "syscon";
46		reg = <0x0 0x7e720000 0x0 0x1000>;
47	};
48
49	efuse: efuse@1054a000 {
50		compatible = "apm,xgene-efuse", "syscon";
51		reg = <0x0 0x1054a000 0x0 0x20>;
52	};
53
54	edac@78800000 {
55		compatible = "apm,xgene-edac";
56		#address-cells = <2>;
57		#size-cells = <2>;
58		ranges;
59		regmap-csw = <&csw>;
60		regmap-mcba = <&mcba>;
61		regmap-mcbb = <&mcbb>;
62		regmap-efuse = <&efuse>;
63		reg = <0x0 0x78800000 0x0 0x100>;
64		interrupts = <0x0 0x20 0x4>,
65			     <0x0 0x21 0x4>,
66			     <0x0 0x27 0x4>;
67
68		edacmc@7e800000 {
69			compatible = "apm,xgene-edac-mc";
70			reg = <0x0 0x7e800000 0x0 0x1000>;
71			memory-controller = <0>;
72		};
73
74		edacpmd@7c000000 {
75			compatible = "apm,xgene-edac-pmd";
76			reg = <0x0 0x7c000000 0x0 0x200000>;
77			pmd-controller = <0>;
78		};
79	};
80