From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Subject: Re: [RFC PATCH] edac: zynq: Added EDAC support for zynq ddr ecc controller Date: Wed, 12 Mar 2014 17:50:15 +0100 Message-ID: <345f2b89-660c-4eac-bee2-ea8debdc5fbc@CH1EHSMHS031.ehs.local> References: <4adb2b4b-2ad6-42b9-929e-cc062f817245@TX2EHSMHS021.ehs.local> <20140310105655.GH14999@e106331-lin.cambridge.arm.com> <531DA900.5060202@monstr.eu> <531ECA33.8050803@monstr.eu> <20140311155057.GJ13293@xsjandreislx> <20140312161344.GA3000@xsjandreislx> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20140312161344.GA3000@xsjandreislx> Sender: linux-kernel-owner@vger.kernel.org To: =?UTF-8?B?U8O2cmVuIEJyaW5rbWFubg==?= Cc: Michal Simek , Michal Simek , Mark Rutland , Punnaiah Choudary Kalluri , "dougthompson@xmission.com" , "devicetree@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-edac@vger.kernel.org" , "robh+dt@kernel.org" , Pawel Moll , "ijc+devicetree@hellion.org.uk" , "galak@codeaurora.org" , "rob@landley.net" , "kpc528@gmail.com" , "kalluripunnaiahchoudary@gmail.com" List-Id: devicetree@vger.kernel.org On 03/12/2014 05:13 PM, S=C3=B6ren Brinkmann wrote: > On Wed, 2014-03-12 at 11:27AM +0100, Michal Simek wrote: >> On 03/11/2014 04:50 PM, S=C3=B6ren Brinkmann wrote: >>> On Tue, 2014-03-11 at 09:32AM +0100, Michal Simek wrote: >>>> On 03/10/2014 11:32 PM, S=C3=B6ren Brinkmann wrote: >>>>> On Mon, 2014-03-10 at 12:58PM +0100, Michal Simek wrote: >>>>>> On 03/10/2014 11:56 AM, Mark Rutland wrote: >>>>>>> On Sun, Mar 09, 2014 at 02:57:16AM +0000, Punnaiah Choudary Kal= luri wrote: >>>>>>>> Added EDAC support for reporting the ecc errors of zynq ddr co= ntroller. >>>>>>>> The ddr ecc controller corrects single bit errors and detects = double bit >>>>>>>> errors >>>>>>>> >>>>>>>> Signed-off-by: Punnaiah Choudary Kalluri >>>>>>>> --- >>>>>>>> .../devicetree/bindings/edac/zynq_edac.txt | 18 + >>>>>>>> drivers/edac/Kconfig | 7 + >>>>>>>> drivers/edac/Makefile | 1 + >>>>>>>> drivers/edac/zynq_edac.c | 613 +++= +++++++++++++++++ >>>>>>>> 4 files changed, 639 insertions(+), 0 deletions(-) >>>>>>>> create mode 100644 Documentation/devicetree/bindings/edac/zyn= q_edac.txt >>>>>>>> create mode 100644 drivers/edac/zynq_edac.c >>>>>>>> >>>>>>>> diff --git a/Documentation/devicetree/bindings/edac/zynq_edac.= txt b/Documentation/devicetree/bindings/edac/zynq_edac.txt >>>>>>>> new file mode 100644 >>>>>>>> index 0000000..c21ff83 >>>>>>>> --- /dev/null >>>>>>>> +++ b/Documentation/devicetree/bindings/edac/zynq_edac.txt >>>>>>>> @@ -0,0 +1,18 @@ >>>>>>>> +Zynq EDAC driver, it does reports the DDR ECC single bit erro= rs that are >>>>>>>> +corrected and double bit ecc errors that are detected by the = DDR ECC controller. >>>>>>>> +ECC support for DDR is available in half-bus width(16 bit) co= nfiguration only. >>>>>>>> + >>>>>>>> +Required properties: >>>>>>>> +- compatible: Should be "xlnx,ps7-ddrc" or "xlnx,ps7-ddrc-1.0= 0.a" >>>>>>> >>>>>>> Is this an or or a xor? >>>>>> >>>>>> Compatible string should be just xlnx,zynq-ddrc-1.00.a. >>>>>> Nothing with ps7. >>>>> >>>>> Isn't this vendor IP? IMHO, this should be something completely >>>>> different. Or if you want some Zynq-specific compat string it sho= uld >>>>> refer to an actual version string associated with Zynq. 1.00.a is= not, >>>>> AFAIK. >>>> >>>> I have checked with Punnaiah that this is Synopsys DDR memory cont= roller. >>>> Zynq is based on 1.4 version with some customization. >>>> It means I think reasonable solution is >>>> call it drivers/edac/synopsys_edac.c >>>> rename zynq_ in driver to synopsys_ and >>>> use xlnx,zynq-ddrc-1.00.a compatible string because zynq is not us= ing >>>> clean synopsys version. >>>> >>>> I am not getting point why you don't like 1.00.a suffix here. >>>> Because of historical point of view compatible strings should be d= ifferent >>>> for early silicon, silicon v1, silicon v2, silicon v3, etc >>>> but we haven't used it at all that's why we can use xilinx scheme >>>> which we are using for our soft IPs. >>> >>> Well, but you refer to Zynq which has silicon revisions you can use= to >>> refer to a specific Zynq version. That matches data sheets. Zynq-1.= 00.a >>> is just completely made up and wouldn't be found in any data sheet. >> >> I didn't reply this one but we discussed this with Soren over phone. >> No problem to use Synopsys version A07 according TRM. >> >> Then compatible string is >> xlnx,zynq-ddrc-A07 and file name is synopsys_edac.c >=20 > This seems to make sense. I'm never sure whether leading zeros are > actually needed and tend to remove them, but in general this looks li= ke > a reasonable string to identify Zynq's DDR controller. A07 I found in Zynq TRM and probably has any conection to synopsys vers= ion scheme. Thanks, Michal