|
| 1 | +* APM X-Gene SoC EDAC node |
| 2 | + |
| 3 | +EDAC node is defined to describe on-chip error detection and correction. |
| 4 | +The follow error types are supported: |
| 5 | + |
| 6 | + memory controller - Memory controller |
| 7 | + PMD (L1/L2) - Processor module unit (PMD) L1/L2 cache |
| 8 | + |
| 9 | +The following section describes the EDAC DT node binding. |
| 10 | + |
| 11 | +Required 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 | + |
| 21 | +Required 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 | + |
| 27 | +Required properties for PMD subnode: |
| 28 | +- compatible : Shall be "apm,xgene-edac-pmd". |
| 29 | +- reg : First resource shall be the PMD resource. |
| 30 | +- pmd-controller : Instance number of the PMD controller. |
| 31 | + |
| 32 | +Example: |
| 33 | + csw: csw@7e200000 { |
| 34 | + compatible = "apm,xgene-csw", "syscon"; |
| 35 | + reg = <0x0 0x7e200000 0x0 0x1000>; |
| 36 | + }; |
| 37 | + |
| 38 | + mcba: mcba@7e700000 { |
| 39 | + compatible = "apm,xgene-mcb", "syscon"; |
| 40 | + reg = <0x0 0x7e700000 0x0 0x1000>; |
| 41 | + }; |
| 42 | + |
| 43 | + mcbb: mcbb@7e720000 { |
| 44 | + compatible = "apm,xgene-mcb", "syscon"; |
| 45 | + reg = <0x0 0x7e720000 0x0 0x1000>; |
| 46 | + }; |
| 47 | + |
| 48 | + efuse: efuse@1054a000 { |
| 49 | + compatible = "apm,xgene-efuse", "syscon"; |
| 50 | + reg = <0x0 0x1054a000 0x0 0x20>; |
| 51 | + }; |
| 52 | + |
| 53 | + edac@78800000 { |
| 54 | + compatible = "apm,xgene-edac"; |
| 55 | + #address-cells = <2>; |
| 56 | + #size-cells = <2>; |
| 57 | + ranges; |
| 58 | + regmap-csw = <&csw>; |
| 59 | + regmap-mcba = <&mcba>; |
| 60 | + regmap-mcbb = <&mcbb>; |
| 61 | + regmap-efuse = <&efuse>; |
| 62 | + reg = <0x0 0x78800000 0x0 0x100>; |
| 63 | + interrupts = <0x0 0x20 0x4>, |
| 64 | + <0x0 0x21 0x4>, |
| 65 | + <0x0 0x27 0x4>; |
| 66 | + |
| 67 | + edacmc@7e800000 { |
| 68 | + compatible = "apm,xgene-edac-mc"; |
| 69 | + reg = <0x0 0x7e800000 0x0 0x1000>; |
| 70 | + memory-controller = <0>; |
| 71 | + }; |
| 72 | + |
| 73 | + edacpmd@7c000000 { |
| 74 | + compatible = "apm,xgene-edac-pmd"; |
| 75 | + reg = <0x0 0x7c000000 0x0 0x200000>; |
| 76 | + pmd-controller = <0>; |
| 77 | + }; |
| 78 | + }; |
0 commit comments