diff mbox

[v9,3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding

Message ID 1431623147-4950-4-git-send-email-lho@apm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Loc Ho May 14, 2015, 5:05 p.m. UTC
This patch adds documentation for the APM X-Gene SoC EDAC DTS binding.

Signed-off-by: Loc Ho <lho@apm.com>
---
 .../devicetree/bindings/edac/apm-xgene-edac.txt    |   74 ++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/edac/apm-xgene-edac.txt

Comments

Arnd Bergmann May 15, 2015, 10:44 a.m. UTC | #1
On Thursday 14 May 2015 11:05:45 Loc Ho wrote:
> +       edac: edac@78800000 {
> +               compatible = "apm,xgene-edac";
> +               #address-cells = <2>;
> +               #size-cells = <2>;
> +               reg = <0x0 0x78800000 0x0 0x100>;

This seens a 'ranges' property to make the address resolution
work. An empty property should be fine.

> +               interrupts = <0x0 0x20 0x4>,
> +                            <0x0 0x21 0x4>,
> +                            <0x0 0x27 0x4>;
> +
> +               edacmc0: edacmc0@7e800000 {
> +                       compatible = "apm,xgene-edac-mc";
> +                       regmap-csw = <&csw>;
> +                       regmap-mcba = <&mcba>;
> +                       regmap-mcbb = <&mcbb>;
> +                       reg = <0x0 0x7e800000 0x0 0x1000>;
> +               };
> +
> +               edacpmd0: edacpmd0@7c000000 {
> +                       compatible = "apm,xgene-edac-pmd";
> +                       regmap-efuse = <&efuse>;
> +                       reg = <0x0 0x7c000000 0x0 0x200000>;
> +               };

Why do you have labels for each one? If nothing references
these nodes, just remove the labels.

Regarding the names, remove the numbers for the nodes that are
uniquely identified by the register location, e.g. replace
edacmc0@7e800000 with edacmc@7e800000.

If you have multiple edac-mc devices, would they point to the
same syscon nodes, or different ones for each? If they are the
same, just move the references to the main node.

	Arnd
Loc Ho May 16, 2015, 12:17 a.m. UTC | #2
Hi,

>> +       edac: edac@78800000 {
>> +               compatible = "apm,xgene-edac";
>> +               #address-cells = <2>;
>> +               #size-cells = <2>;
>> +               reg = <0x0 0x78800000 0x0 0x100>;
>
> This seens a 'ranges' property to make the address resolution
> work. An empty property should be fine.
>
>> +               interrupts = <0x0 0x20 0x4>,
>> +                            <0x0 0x21 0x4>,
>> +                            <0x0 0x27 0x4>;
>> +
>> +               edacmc0: edacmc0@7e800000 {
>> +                       compatible = "apm,xgene-edac-mc";
>> +                       regmap-csw = <&csw>;
>> +                       regmap-mcba = <&mcba>;
>> +                       regmap-mcbb = <&mcbb>;
>> +                       reg = <0x0 0x7e800000 0x0 0x1000>;
>> +               };
>> +
>> +               edacpmd0: edacpmd0@7c000000 {
>> +                       compatible = "apm,xgene-edac-pmd";
>> +                       regmap-efuse = <&efuse>;
>> +                       reg = <0x0 0x7c000000 0x0 0x200000>;
>> +               };
>
> Why do you have labels for each one? If nothing references
> these nodes, just remove the labels.
>
> Regarding the names, remove the numbers for the nodes that are
> uniquely identified by the register location, e.g. replace
> edacmc0@7e800000 with edacmc@7e800000.

I will remove all label and get rip of the number before @.

>
> If you have multiple edac-mc devices, would they point to the
> same syscon nodes, or different ones for each? If they are the
> same, just move the references to the main node.

They all reference the same one. I will move it up one level.

-Loc
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/edac/apm-xgene-edac.txt b/Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
new file mode 100644
index 0000000..bd42c53
--- /dev/null
+++ b/Documentation/devicetree/bindings/edac/apm-xgene-edac.txt
@@ -0,0 +1,74 @@ 
+* APM X-Gene SoC EDAC node
+
+EDAC node is defined to describe on-chip error detection and correction.
+The follow error types are supported:
+
+  memory controller	- Memory controller
+  PMD (L1/L2)		- Processor module unit (PMD) L1/L2 cache
+
+The following section describes the EDAC DT node binding.
+
+Required properties:
+- compatible		: Shall be "apm,xgene-edac".
+- reg			: First resource shall be the CPU bus (PCP) resource.
+- interrupts            : Interrupt-specifier for MCU, PMD, L3, or SoC error
+			  IRQ(s).
+
+Required properties for memory controller subnode:
+- compatible		: Shall be "apm,xgene-edac-mc".
+- reg			: First resource shall be the memory controller unit
+                          (MCU) resource.
+- regmap-csw		: Regmap of the CPU switch fabric (CSW) resource.
+- regmap-mcba		: Regmap of the MCB-A (memory bridge) resource.
+- regmap-mcbb		: Regmap of the MCB-B (memory bridge) resource.
+
+Required properties for PMD subnode:
+- compatible		: Shall be "apm,xgene-edac-pmd".
+- reg			: First resource shall be the PMD resource.
+- regmap-efuse		: Regmap of the PMD efuse resource.
+
+Example:
+	csw: csw@7e200000 {
+		compatible = "syscon";
+		reg = <0x0 0x7e200000 0x0 0x1000>;
+	};
+
+	mcba: mcba@7e700000 {
+		compatible = "syscon";
+		reg = <0x0 0x7e700000 0x0 0x1000>;
+	};
+
+	mcbb: mcbb@7e720000 {
+		compatible = "syscon";
+		reg = <0x0 0x7e720000 0x0 0x1000>;
+	};
+
+	efuse: efuse@1054a000 {
+		compatible = "syscon";
+		reg = <0x0 0x1054a000 0x0 0x20>;
+	};
+
+	edac: edac@78800000 {
+		compatible = "apm,xgene-edac";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		reg = <0x0 0x78800000 0x0 0x100>;
+		interrupts = <0x0 0x20 0x4>,
+			     <0x0 0x21 0x4>,
+			     <0x0 0x27 0x4>;
+
+		edacmc0: edacmc0@7e800000 {
+			compatible = "apm,xgene-edac-mc";
+			regmap-csw = <&csw>;
+			regmap-mcba = <&mcba>;
+			regmap-mcbb = <&mcbb>;
+			reg = <0x0 0x7e800000 0x0 0x1000>;
+		};
+
+		edacpmd0: edacpmd0@7c000000 {
+			compatible = "apm,xgene-edac-pmd";
+			regmap-efuse = <&efuse>;
+			reg = <0x0 0x7c000000 0x0 0x200000>;
+		};
+
+	};