[RFC PATCH] edac: zynq: Added EDAC support for zynq ddr ecc controller

Michal Simek michal.simek at xilinx.com
Wed Mar 12 12:50:15 EDT 2014


On 03/12/2014 05:13 PM, Sören Brinkmann wrote:
> On Wed, 2014-03-12 at 11:27AM +0100, Michal Simek wrote:
>> On 03/11/2014 04:50 PM, Sören Brinkmann wrote:
>>> On Tue, 2014-03-11 at 09:32AM +0100, Michal Simek wrote:
>>>> On 03/10/2014 11:32 PM, Sören 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 Kalluri wrote:
>>>>>>>> Added EDAC support for reporting the ecc errors of zynq ddr controller.
>>>>>>>> The ddr ecc controller corrects single bit errors and detects double bit
>>>>>>>> errors
>>>>>>>>
>>>>>>>> Signed-off-by: Punnaiah Choudary Kalluri <punnaia at xilinx.com>
>>>>>>>> ---
>>>>>>>>  .../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/zynq_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 errors 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) configuration only.
>>>>>>>> +
>>>>>>>> +Required properties:
>>>>>>>> +- compatible: Should be "xlnx,ps7-ddrc" or "xlnx,ps7-ddrc-1.00.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 should
>>>>> 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 controller.
>>>> 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 using
>>>> 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 different
>>>> 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
> 
> 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 like
> a reasonable string to identify Zynq's DDR controller.

A07 I found in Zynq TRM and probably has any conection to synopsys version scheme.

Thanks,
Michal





More information about the linux-arm-kernel mailing list