From: Thor Thayer <tthayer@opensource.altera.com>
To: atull <atull@opensource.altera.com>,
Steffen Trumtrar <s.trumtrar@pengutronix.de>
Cc: robherring2@gmail.com, pawel.moll@arm.com, mark.rutland@arm.com,
ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
rob@landley.net, linux@arm.linux.org.uk,
delicious.quinoa@gmail.com, dinguyen@opensource.altera.com,
dougthompson@xmission.com, grant.likely@linaro.org, bp@alien8.de,
sameo@linux.intel.com, lee.jones@linaro.org,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, tthayer.linux@gmail.com
Subject: Re: [PATCHv10 2/2] arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries.
Date: Fri, 15 Aug 2014 11:47:09 -0500 [thread overview]
Message-ID: <53EE398D.3060509@opensource.altera.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1408151035110.21645@atx-linux-37>
On 08/15/2014 11:07 AM, atull wrote:
> On Fri, 15 Aug 2014, Steffen Trumtrar wrote:
>
>> Hi!
> Hello
>
> Thanks for the feedback...
>
>> tthayer@opensource.altera.com writes:
>>
>>> From: Thor Thayer <tthayer@opensource.altera.com>
>>>
>>> Add the Altera SDRAM EDAC bindings and device tree changes to the Altera SoC project.
>>>
>>> Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
>>> ---
>>> v2: Changes to SoC SDRAM EDAC code.
>>>
>>> v3: Implement code suggestions for SDRAM EDAC code.
>>>
>>> v4: Remove syscon from SDRAM controller bindings.
>>>
>>> v5: No Change, bump version for consistency.
>>>
>>> v6: Only map the ctrlcfg register as syscon.
>>>
>>> v7: No change. Bump for consistency.
>>>
>>> v8: No change. Bump for consistency.
>>>
>>> v9: Changes to support a MFD SDRAM controller with nested EDAC.
>>>
>>> v10: Revert to using syscon based on feedback.
>>> ---
>>> .../bindings/arm/altera/socfpga-sdram-edac.txt | 15 +++++++++++++++
>>> arch/arm/boot/dts/socfpga.dtsi | 11 +++++++++++
>>> 2 files changed, 26 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt b/Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt
>>> new file mode 100644
>>> index 0000000..d0ce01d
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt
>>> @@ -0,0 +1,15 @@
>>> +Altera SOCFPGA SDRAM Error Detection & Correction [EDAC]
>>> +The EDAC accesses a range of registers in the SDRAM controller.
>>> +
>>> +Required properties:
>>> +- compatible : should contain "altr,sdram-edac";
>>> +- altr,sdr-syscon : phandle of the sdr module
>>> +- interrupts : Should contain the SDRAM ECC IRQ in the
>>> + appropriate format for the IRQ controller.
>>> +
>>> +Example:
>>> + sdramedac {
>>> + compatible = "altr,sdram-edac";
>>> + altr,sdr-syscon = <&sdr>;
>>> + interrupts = <0 39 4>;
>>> + };
>>> diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi
>>> index 4676f25..45b361e 100644
>>> --- a/arch/arm/boot/dts/socfpga.dtsi
>>> +++ b/arch/arm/boot/dts/socfpga.dtsi
>>> @@ -603,6 +603,17 @@
>>> };
>>> };
>>>
>>> + sdr: sdr@ffc25000 {
>>> + compatible = "syscon";
>>> + reg = <0xffc25000 0x1000>;
>>> + };
>>> +
>>> + sdramedac {
>>> + compatible = "altr,sdram-edac";
>>> + altr,sdr-syscon = <&sdr>;
>>> + interrupts = <0 39 4>;
>>> + };
>>> +
>>> L2: l2-cache@fffef000 {
>>> compatible = "arm,pl310-cache";
>>> reg = <0xfffef000 0x1000>;
>> Sorry, but I personally still don't like this approach.
> This is a normal use of syscon. Syscon is great for this case
> where multiple drivers need access to an ip block's register
> range but there is otherwise no need to write a MFD from scratch
> to allow that. I think that's the purpose of syscon in the first
> place.
>
>> If we do it like this however, shouldn't the different regions of the
>> SDR (EDAC, FPGAPORTRST, ...) at least be child nodes of the syscon?
>> That seems to match the syscon binding and describes the actual hardware
>> better IMHO.
> I like that; it would be clean and clear, but I don't think syscon is
> written such that that would actually work. I haven't seen anybody else
> do it that way.
Hi Steffen!
Building on Alan's points, I don't see the reference to the child nodes
in the syscon.txt binding documentation - can you point out what I'm
missing?
I based this patch on other examples of syscon, and there aren't child
nodes (exynos5250.dtsi, omap3.dtsi, etc). According to my understanding
of the device tree parsing, the parent needs to register child nodes.
Since syscon is the parent and doesn't register the child nodes, they
won't be automatically probed. The other syscon implementations are at
the same level as the syscon and use a phandle to the syscon (for
instance the omap3.dtsi).
Thanks for reviewing!
Thor
>> Oh, and "reg = <...>" for the sdram-edac, maybe ?
> How would that work? Syscon is already mapping the whole register range
> for the sdr block. Are you proposing a device tree binding that this
> Linux driver would ignore, but some other driver in some other OS might
> find useful in the future? I'd rather not put duplicate information
> in two places, too easy for it to get out of sync.
>
>> How would I know where the start address of the EDAC is, if I would use
>> this DT on another OS where I don't have the same driver?
> The start address of the EDAC is an offset into the range mapped by
> syscon here. The driver knows what the register offsets are.
>
> If we are talking about this device tree being used by some other OS
> that is not aware of syscon, then that OS won't know what's going on and
> some modification of the DT will be needed. I have been advised that
> u-boot will need a significantly different DT, though I don't know
> what the issues are there.
>
>> Regards,
>> Steffen
>>
>> --
>> Pengutronix e.K. | Steffen Trumtrar |
>> Industrial Linux Solutions | http://www.pengutronix.de/ |
>> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
>> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
next prev parent reply other threads:[~2014-08-15 16:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 15:18 [PATCHv10 0/2] Addition of Altera EDAC support tthayer
2014-08-11 15:18 ` [PATCHv10 1/2] edac: altera: Add Altera SDRAM " tthayer
2014-08-14 18:49 ` Pavel Machek
2014-08-26 18:38 ` Thor Thayer
2014-08-29 16:02 ` Borislav Petkov
2014-09-04 18:56 ` Dinh Nguyen
2014-08-11 15:18 ` [PATCHv10 2/2] arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries tthayer
2014-08-14 18:49 ` Pavel Machek
2014-08-26 18:39 ` Thor Thayer
2014-08-26 20:28 ` Dinh Nguyen
2014-08-26 21:25 ` Dinh Nguyen
2014-08-27 6:36 ` Borislav Petkov
2014-08-27 13:06 ` Dinh Nguyen
2014-08-15 6:42 ` Steffen Trumtrar
2014-08-15 16:07 ` atull
2014-08-15 16:41 ` Steffen Trumtrar
2014-08-15 16:47 ` Thor Thayer [this message]
2014-08-15 16:54 ` Steffen Trumtrar
2014-09-03 2:30 ` Dinh Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53EE398D.3060509@opensource.altera.com \
--to=tthayer@opensource.altera.com \
--cc=atull@opensource.altera.com \
--cc=bp@alien8.de \
--cc=delicious.quinoa@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@opensource.altera.com \
--cc=dougthompson@xmission.com \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=rob@landley.net \
--cc=robherring2@gmail.com \
--cc=s.trumtrar@pengutronix.de \
--cc=sameo@linux.intel.com \
--cc=tthayer.linux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).