RE: [PATCH v3 1/2] dt-bindings: edac: arm-dmc520.txt

From: Lei Wang (BSP)
Date: Thu May 23 2019 - 13:54:49 EST


(+Rui/Hang/Sasha)

Hi Mark, please see inline with "[Lei]" tag. Thanks! -Lei

-----Original Message-----
From: Mark Rutland <mark.rutland@xxxxxxx>
Sent: Thursday, May 23, 2019 9:59 AM
To: Lei Wang <leiwang_git@xxxxxxxxxxx>
Cc: bp@xxxxxxxxx; james.morse@xxxxxxx; robh+dt@xxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-edac@xxxxxxxxxxxxxxx; Lei Wang (BSP) <Wang.Lei@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 1/2] dt-bindings: edac: arm-dmc520.txt

On Thu, May 16, 2019 at 02:35:47AM +0000, Lei Wang wrote:
> From: Lei Wang <leiwang_git@xxxxxxxxxxx>
>
> This is the device tree bindings for new EDAC driver dmc520_edac.c.
>
> Signed-off-by: Lei Wang <leiwang_git@xxxxxxxxxxx>
> ---
> .../devicetree/bindings/edac/arm-dmc520.txt | 26 ++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/edac/arm-dmc520.txt
>
> diff --git a/Documentation/devicetree/bindings/edac/arm-dmc520.txt b/Documentation/devicetree/bindings/edac/arm-dmc520.txt
> new file mode 100644
> index 0000000..71e7aa3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/edac/arm-dmc520.txt
> @@ -0,0 +1,26 @@
> +* ARM DMC-520 EDAC node
> +
> +Required properties:
> +- compatible : "brcm,dmc-520", "arm,dmc-520".
> +- reg : Address range of the DMC-520 registers.
> +- interrupts : DMC-520 interrupt numbers. The example below specifies
> + two interrupt lines for dram_ecc_errc_int and
> + dram_ecc_errd_int.
> +- interrupt-config : This is an array of interrupt masks. For each of the
> + above interrupt line, add one interrupt mask element to
> + it. That is, there is a 1:1 mapping from each interrupt
> + line to an interrupt mask. An interrupt mask can represent
> + multiple interrupts being enabled. Refer to interrupt_control
> + register in DMC-520 TRM for interrupt mapping. In the example
> + below, the interrupt configuration enables dram_ecc_errc_int
> + and dram_ecc_errd_int. And each interrupt is connected to
> + a separate interrupt line.

Generally we use interrupt-names to distinguish interrupts.

Do you really have arbitary subsets of lines muxed together?

-----------------------------------------------
[Lei] Yes it is possible to mux multiple interrupt sources into one interrupt line for dmc520. For example, in this particular brcm implementation,

Line 841: source dram_ecc_errc_int
Line 843: source dram_ecc_errd_int
Line 839: source dram_ecc_errc_int and dram_ecc_errd_int

There are two possibilities for implementing ecc counts for ce/ue. And we chose to use the single source line. But it's possible to implement using the combined-source line too. This dt binding can support both by modifying the properties.
-------------------------------------------------

Thanks,
Mark.

> +
> +Example:
> +
> +dmc0: dmc@200000 {
> + compatible = "brcm,dmc-520", "arm,dmc-520";
> + reg = <0x200000 0x80000>;
> + interrupts = <0x0 0x349 0x4>, <0x0 0x34B 0x4>;
> + interrupt-config = <0x4>, <0x8>;
> +};
> --
> 2.7.4
>