Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: edac: Convert apm,xgene-edac to DT schema

Convert the APM XGene EDAC binding to DT schema. Add the missing
"apm,xgene-edac-soc" compatible, and drop the unused
"apm,xgene-edac-pmd-v2" compatible.

Link: https://lore.kernel.org/r/20250828223023.2409337-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

+204 -113
+203
Documentation/devicetree/bindings/edac/apm,xgene-edac.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/edac/apm,xgene-edac.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: APM X-Gene SoC EDAC 8 + 9 + maintainers: 10 + - Khuong Dinh <khuong@os.amperecomputing.com> 11 + 12 + description: > 13 + EDAC node is defined to describe on-chip error detection and correction. 14 + 15 + The following error types are supported: 16 + 17 + memory controller - Memory controller 18 + PMD (L1/L2) - Processor module unit (PMD) L1/L2 cache 19 + L3 - L3 cache controller 20 + SoC - SoC IPs such as Ethernet, SATA, etc 21 + 22 + properties: 23 + compatible: 24 + const: apm,xgene-edac 25 + 26 + reg: 27 + items: 28 + - description: CPU bus (PCP) resource 29 + 30 + '#address-cells': 31 + const: 2 32 + 33 + '#size-cells': 34 + const: 2 35 + 36 + ranges: true 37 + 38 + interrupts: 39 + description: Interrupt-specifier for MCU, PMD, L3, or SoC error IRQ(s). 40 + items: 41 + - description: MCU error IRQ 42 + - description: PMD error IRQ 43 + - description: L3 error IRQ 44 + - description: SoC error IRQ 45 + minItems: 1 46 + 47 + regmap-csw: 48 + description: Regmap of the CPU switch fabric (CSW) resource. 49 + $ref: /schemas/types.yaml#/definitions/phandle 50 + 51 + regmap-mcba: 52 + description: Regmap of the MCB-A (memory bridge) resource. 53 + $ref: /schemas/types.yaml#/definitions/phandle 54 + 55 + regmap-mcbb: 56 + description: Regmap of the MCB-B (memory bridge) resource. 57 + $ref: /schemas/types.yaml#/definitions/phandle 58 + 59 + regmap-efuse: 60 + description: Regmap of the PMD efuse resource. 61 + $ref: /schemas/types.yaml#/definitions/phandle 62 + 63 + regmap-rb: 64 + description: Regmap of the register bus resource (optional for compatibility). 65 + $ref: /schemas/types.yaml#/definitions/phandle 66 + 67 + required: 68 + - compatible 69 + - regmap-csw 70 + - regmap-mcba 71 + - regmap-mcbb 72 + - regmap-efuse 73 + - reg 74 + - interrupts 75 + 76 + # Child-node bindings 77 + patternProperties: 78 + '^edacmc@': 79 + description: Memory controller subnode 80 + type: object 81 + additionalProperties: false 82 + 83 + properties: 84 + compatible: 85 + const: apm,xgene-edac-mc 86 + 87 + reg: 88 + maxItems: 1 89 + 90 + memory-controller: 91 + description: Instance number of the memory controller. 92 + $ref: /schemas/types.yaml#/definitions/uint32 93 + maximum: 3 94 + 95 + required: 96 + - compatible 97 + - reg 98 + - memory-controller 99 + 100 + 101 + '^edacpmd@': 102 + description: PMD subnode 103 + type: object 104 + additionalProperties: false 105 + 106 + properties: 107 + compatible: 108 + const: apm,xgene-edac-pmd 109 + 110 + reg: 111 + maxItems: 1 112 + 113 + pmd-controller: 114 + description: Instance number of the PMD controller. 115 + $ref: /schemas/types.yaml#/definitions/uint32 116 + maximum: 3 117 + 118 + required: 119 + - compatible 120 + - reg 121 + - pmd-controller 122 + 123 + '^edacl3@': 124 + description: L3 subnode 125 + type: object 126 + additionalProperties: false 127 + 128 + properties: 129 + compatible: 130 + enum: 131 + - apm,xgene-edac-l3 132 + - apm,xgene-edac-l3-v2 133 + 134 + reg: 135 + maxItems: 1 136 + 137 + required: 138 + - compatible 139 + - reg 140 + 141 + '^edacsoc@': 142 + description: SoC subnode 143 + type: object 144 + additionalProperties: false 145 + 146 + properties: 147 + compatible: 148 + enum: 149 + - apm,xgene-edac-soc 150 + - apm,xgene-edac-soc-v1 151 + 152 + reg: 153 + maxItems: 1 154 + 155 + required: 156 + - compatible 157 + - reg 158 + 159 + additionalProperties: false 160 + 161 + examples: 162 + - | 163 + bus { 164 + #address-cells = <2>; 165 + #size-cells = <2>; 166 + 167 + edac@78800000 { 168 + compatible = "apm,xgene-edac"; 169 + reg = <0x0 0x78800000 0x0 0x100>; 170 + #address-cells = <2>; 171 + #size-cells = <2>; 172 + ranges; 173 + interrupts = <0x0 0x20 0x4>, <0x0 0x21 0x4>, <0x0 0x27 0x4>; 174 + 175 + regmap-csw = <&csw>; 176 + regmap-mcba = <&mcba>; 177 + regmap-mcbb = <&mcbb>; 178 + regmap-efuse = <&efuse>; 179 + regmap-rb = <&rb>; 180 + 181 + edacmc@7e800000 { 182 + compatible = "apm,xgene-edac-mc"; 183 + reg = <0x0 0x7e800000 0x0 0x1000>; 184 + memory-controller = <0>; 185 + }; 186 + 187 + edacpmd@7c000000 { 188 + compatible = "apm,xgene-edac-pmd"; 189 + reg = <0x0 0x7c000000 0x0 0x200000>; 190 + pmd-controller = <0>; 191 + }; 192 + 193 + edacl3@7e600000 { 194 + compatible = "apm,xgene-edac-l3"; 195 + reg = <0x0 0x7e600000 0x0 0x1000>; 196 + }; 197 + 198 + edacsoc@7e930000 { 199 + compatible = "apm,xgene-edac-soc-v1"; 200 + reg = <0x0 0x7e930000 0x0 0x1000>; 201 + }; 202 + }; 203 + };
-112
Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
··· 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 - L3 - L3 cache controller 9 - SoC - SoC IP's such as Ethernet, SATA, and etc 10 - 11 - The following section describes the EDAC DT node binding. 12 - 13 - Required properties: 14 - - compatible : Shall be "apm,xgene-edac". 15 - - regmap-csw : Regmap of the CPU switch fabric (CSW) resource. 16 - - regmap-mcba : Regmap of the MCB-A (memory bridge) resource. 17 - - regmap-mcbb : Regmap of the MCB-B (memory bridge) resource. 18 - - regmap-efuse : Regmap of the PMD efuse resource. 19 - - regmap-rb : Regmap of the register bus resource. This property 20 - is optional only for compatibility. If the RB 21 - error conditions are not cleared, it will 22 - continuously generate interrupt. 23 - - reg : First resource shall be the CPU bus (PCP) resource. 24 - - interrupts : Interrupt-specifier for MCU, PMD, L3, or SoC error 25 - IRQ(s). 26 - 27 - Required properties for memory controller subnode: 28 - - compatible : Shall be "apm,xgene-edac-mc". 29 - - reg : First resource shall be the memory controller unit 30 - (MCU) resource. 31 - - memory-controller : Instance number of the memory controller. 32 - 33 - Required properties for PMD subnode: 34 - - compatible : Shall be "apm,xgene-edac-pmd" or 35 - "apm,xgene-edac-pmd-v2". 36 - - reg : First resource shall be the PMD resource. 37 - - pmd-controller : Instance number of the PMD controller. 38 - 39 - Required properties for L3 subnode: 40 - - compatible : Shall be "apm,xgene-edac-l3" or 41 - "apm,xgene-edac-l3-v2". 42 - - reg : First resource shall be the L3 EDAC resource. 43 - 44 - Required properties for SoC subnode: 45 - - compatible : Shall be "apm,xgene-edac-soc-v1" for revision 1 or 46 - "apm,xgene-edac-l3-soc" for general value reporting 47 - only. 48 - - reg : First resource shall be the SoC EDAC resource. 49 - 50 - Example: 51 - csw: csw@7e200000 { 52 - compatible = "apm,xgene-csw", "syscon"; 53 - reg = <0x0 0x7e200000 0x0 0x1000>; 54 - }; 55 - 56 - mcba: mcba@7e700000 { 57 - compatible = "apm,xgene-mcb", "syscon"; 58 - reg = <0x0 0x7e700000 0x0 0x1000>; 59 - }; 60 - 61 - mcbb: mcbb@7e720000 { 62 - compatible = "apm,xgene-mcb", "syscon"; 63 - reg = <0x0 0x7e720000 0x0 0x1000>; 64 - }; 65 - 66 - efuse: efuse@1054a000 { 67 - compatible = "apm,xgene-efuse", "syscon"; 68 - reg = <0x0 0x1054a000 0x0 0x20>; 69 - }; 70 - 71 - rb: rb@7e000000 { 72 - compatible = "apm,xgene-rb", "syscon"; 73 - reg = <0x0 0x7e000000 0x0 0x10>; 74 - }; 75 - 76 - edac@78800000 { 77 - compatible = "apm,xgene-edac"; 78 - #address-cells = <2>; 79 - #size-cells = <2>; 80 - ranges; 81 - regmap-csw = <&csw>; 82 - regmap-mcba = <&mcba>; 83 - regmap-mcbb = <&mcbb>; 84 - regmap-efuse = <&efuse>; 85 - regmap-rb = <&rb>; 86 - reg = <0x0 0x78800000 0x0 0x100>; 87 - interrupts = <0x0 0x20 0x4>, 88 - <0x0 0x21 0x4>, 89 - <0x0 0x27 0x4>; 90 - 91 - edacmc@7e800000 { 92 - compatible = "apm,xgene-edac-mc"; 93 - reg = <0x0 0x7e800000 0x0 0x1000>; 94 - memory-controller = <0>; 95 - }; 96 - 97 - edacpmd@7c000000 { 98 - compatible = "apm,xgene-edac-pmd"; 99 - reg = <0x0 0x7c000000 0x0 0x200000>; 100 - pmd-controller = <0>; 101 - }; 102 - 103 - edacl3@7e600000 { 104 - compatible = "apm,xgene-edac-l3"; 105 - reg = <0x0 0x7e600000 0x0 0x1000>; 106 - }; 107 - 108 - edacsoc@7e930000 { 109 - compatible = "apm,xgene-edac-soc-v1"; 110 - reg = <0x0 0x7e930000 0x0 0x1000>; 111 - }; 112 - };
+1 -1
MAINTAINERS
··· 1872 1872 APPLIED MICRO (APM) X-GENE SOC EDAC 1873 1873 M: Khuong Dinh <khuong@os.amperecomputing.com> 1874 1874 S: Supported 1875 - F: Documentation/devicetree/bindings/edac/apm-xgene-edac.txt 1875 + F: Documentation/devicetree/bindings/edac/apm,xgene-edac.yaml 1876 1876 F: drivers/edac/xgene_edac.c 1877 1877 1878 1878 APPLIED MICRO (APM) X-GENE SOC ETHERNET (V2) DRIVER