apm-xgene-edac.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. * APM X-Gene SoC EDAC node
  2. EDAC node is defined to describe on-chip error detection and correction.
  3. The follow error types are supported:
  4. memory controller - Memory controller
  5. PMD (L1/L2) - Processor module unit (PMD) L1/L2 cache
  6. L3 - L3 cache controller
  7. SoC - SoC IP's such as Ethernet, SATA, and etc
  8. The following section describes the EDAC DT node binding.
  9. Required properties:
  10. - compatible : Shall be "apm,xgene-edac".
  11. - regmap-csw : Regmap of the CPU switch fabric (CSW) resource.
  12. - regmap-mcba : Regmap of the MCB-A (memory bridge) resource.
  13. - regmap-mcbb : Regmap of the MCB-B (memory bridge) resource.
  14. - regmap-efuse : Regmap of the PMD efuse resource.
  15. - regmap-rb : Regmap of the register bus resource. This property
  16. is optional only for compatibility. If the RB
  17. error conditions are not cleared, it will
  18. continuously generate interrupt.
  19. - reg : First resource shall be the CPU bus (PCP) resource.
  20. - interrupts : Interrupt-specifier for MCU, PMD, L3, or SoC error
  21. IRQ(s).
  22. Required properties for memory controller subnode:
  23. - compatible : Shall be "apm,xgene-edac-mc".
  24. - reg : First resource shall be the memory controller unit
  25. (MCU) resource.
  26. - memory-controller : Instance number of the memory controller.
  27. Required 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. Required properties for L3 subnode:
  33. - compatible : Shall be "apm,xgene-edac-l3" or
  34. "apm,xgene-edac-l3-v2".
  35. - reg : First resource shall be the L3 EDAC resource.
  36. Required properties for SoC subnode:
  37. - compatible : Shall be "apm,xgene-edac-soc-v1" for revision 1 or
  38. "apm,xgene-edac-l3-soc" for general value reporting
  39. only.
  40. - reg : First resource shall be the SoC EDAC resource.
  41. Example:
  42. csw: csw@7e200000 {
  43. compatible = "apm,xgene-csw", "syscon";
  44. reg = <0x0 0x7e200000 0x0 0x1000>;
  45. };
  46. mcba: mcba@7e700000 {
  47. compatible = "apm,xgene-mcb", "syscon";
  48. reg = <0x0 0x7e700000 0x0 0x1000>;
  49. };
  50. mcbb: mcbb@7e720000 {
  51. compatible = "apm,xgene-mcb", "syscon";
  52. reg = <0x0 0x7e720000 0x0 0x1000>;
  53. };
  54. efuse: efuse@1054a000 {
  55. compatible = "apm,xgene-efuse", "syscon";
  56. reg = <0x0 0x1054a000 0x0 0x20>;
  57. };
  58. rb: rb@7e000000 {
  59. compatible = "apm,xgene-rb", "syscon";
  60. reg = <0x0 0x7e000000 0x0 0x10>;
  61. };
  62. edac@78800000 {
  63. compatible = "apm,xgene-edac";
  64. #address-cells = <2>;
  65. #size-cells = <2>;
  66. ranges;
  67. regmap-csw = <&csw>;
  68. regmap-mcba = <&mcba>;
  69. regmap-mcbb = <&mcbb>;
  70. regmap-efuse = <&efuse>;
  71. regmap-rb = <&rb>;
  72. reg = <0x0 0x78800000 0x0 0x100>;
  73. interrupts = <0x0 0x20 0x4>,
  74. <0x0 0x21 0x4>,
  75. <0x0 0x27 0x4>;
  76. edacmc@7e800000 {
  77. compatible = "apm,xgene-edac-mc";
  78. reg = <0x0 0x7e800000 0x0 0x1000>;
  79. memory-controller = <0>;
  80. };
  81. edacpmd@7c000000 {
  82. compatible = "apm,xgene-edac-pmd";
  83. reg = <0x0 0x7c000000 0x0 0x200000>;
  84. pmd-controller = <0>;
  85. };
  86. edacl3@7e600000 {
  87. compatible = "apm,xgene-edac-l3";
  88. reg = <0x0 0x7e600000 0x0 0x1000>;
  89. };
  90. edacsoc@7e930000 {
  91. compatible = "apm,xgene-edac-soc-v1";
  92. reg = <0x0 0x7e930000 0x0 0x1000>;
  93. };
  94. };