apm-xgene-edac.txt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. The following section describes the EDAC DT node binding.
  7. Required properties:
  8. - compatible : Shall be "apm,xgene-edac".
  9. - regmap-csw : Regmap of the CPU switch fabric (CSW) resource.
  10. - regmap-mcba : Regmap of the MCB-A (memory bridge) resource.
  11. - regmap-mcbb : Regmap of the MCB-B (memory bridge) resource.
  12. - regmap-efuse : Regmap of the PMD efuse resource.
  13. - reg : First resource shall be the CPU bus (PCP) resource.
  14. - interrupts : Interrupt-specifier for MCU, PMD, L3, or SoC error
  15. IRQ(s).
  16. Required properties for memory controller subnode:
  17. - compatible : Shall be "apm,xgene-edac-mc".
  18. - reg : First resource shall be the memory controller unit
  19. (MCU) resource.
  20. - memory-controller : Instance number of the memory controller.
  21. Required properties for PMD subnode:
  22. - compatible : Shall be "apm,xgene-edac-pmd" or
  23. "apm,xgene-edac-pmd-v2".
  24. - reg : First resource shall be the PMD resource.
  25. - pmd-controller : Instance number of the PMD controller.
  26. Example:
  27. csw: csw@7e200000 {
  28. compatible = "apm,xgene-csw", "syscon";
  29. reg = <0x0 0x7e200000 0x0 0x1000>;
  30. };
  31. mcba: mcba@7e700000 {
  32. compatible = "apm,xgene-mcb", "syscon";
  33. reg = <0x0 0x7e700000 0x0 0x1000>;
  34. };
  35. mcbb: mcbb@7e720000 {
  36. compatible = "apm,xgene-mcb", "syscon";
  37. reg = <0x0 0x7e720000 0x0 0x1000>;
  38. };
  39. efuse: efuse@1054a000 {
  40. compatible = "apm,xgene-efuse", "syscon";
  41. reg = <0x0 0x1054a000 0x0 0x20>;
  42. };
  43. edac@78800000 {
  44. compatible = "apm,xgene-edac";
  45. #address-cells = <2>;
  46. #size-cells = <2>;
  47. ranges;
  48. regmap-csw = <&csw>;
  49. regmap-mcba = <&mcba>;
  50. regmap-mcbb = <&mcbb>;
  51. regmap-efuse = <&efuse>;
  52. reg = <0x0 0x78800000 0x0 0x100>;
  53. interrupts = <0x0 0x20 0x4>,
  54. <0x0 0x21 0x4>,
  55. <0x0 0x27 0x4>;
  56. edacmc@7e800000 {
  57. compatible = "apm,xgene-edac-mc";
  58. reg = <0x0 0x7e800000 0x0 0x1000>;
  59. memory-controller = <0>;
  60. };
  61. edacpmd@7c000000 {
  62. compatible = "apm,xgene-edac-pmd";
  63. reg = <0x0 0x7c000000 0x0 0x200000>;
  64. pmd-controller = <0>;
  65. };
  66. };