(+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 >