From: flora.fu@mediatek.com (Flora Fu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/3] ARM: dts: mt8135: Add Reset Controller for MediaTek SoC
Date: Fri, 31 Oct 2014 11:35:55 +0800 [thread overview]
Message-ID: <1414726555.25409.38.camel@mtksdaap41> (raw)
In-Reply-To: <1414659745.3069.2.camel@pengutronix.de>
Hi, Philipp,
On Thu, 2014-10-30 at 10:02 +0100, Philipp Zabel wrote:
> Since the reset controller driver accesses registers solely through the
> syscon regmap, I'd prefer to keep with the device tree control graph
> concept and make the reset-controller nodes children of the syscon
> nodes. I've brought this up before: https://lkml.org/lkml/2014/5/27/422,
> and I think this is another case where child node support for syscon
> makes sense:
>
> infracfg: syscon at 10001000 {
> compatible = "mediatek,mt8135-infracfg", "syscon";
> reg = <0 0x10001000 0 0x1000>;
>
> infrarst: reset-controller at 30 {
> #reset-cells = <1>;
> compatible = "mediatek,mt8135-infracfg-reset", "mediatek,reset";
> reg = <0x30 0x8>;
> };
> };
>
> pericfg: syscon at 10003000 {
> compatible = "mediatek,mt8135-pericfg", "syscon";
> reg = <0 0x10003000 0 0x1000>;
>
> perirst: reset-controller at 00 {
> #reset-cells = <1>;
> compatible = "mediatek,mt8135-pericfg-reset", "mediatek,reset";
> reg = <0x00 0x8>;
> };
> };
>
> regards
> Philipp
>
Yes, such dts arrangement looks better to me. Implementation in this
version is trying to doing the same thing as your proposal. The new
property "mediatek,syscon-reset = <&infracfg 0x30 0x8>;" specifies base
address of reset and byte width for controlling resets.
If https://lkml.org/lkml/2014/5/27/422 is adopt into kernel release, it
will be well organized to configure reset controller as child of regmap
which is compatible to syscon.
In reset driver, it is able to get syscon regmap from parent node and
retrieve the address offset and byte with for controlling resets.
---
syscon_np = of_get_parent(np);
data->regmap = syscon_node_to_regmap(syscon_np);
if (IS_ERR(data->regmap)) {
dev_err(&pdev->dev, "couldn't get syscon-reset regmap\n");
return PTR_ERR(data->regmap);
}
ret = of_property_read_u32_array(np, "reg", reg, 2);
if (ret) {
dev_err(&pdev->dev, "couldn't read reset base from syscon!\n");
return -EINVAL;
}
---
Thanks,
Flora
prev parent reply other threads:[~2014-10-31 3:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-30 3:12 [PATCH 0/3] Add Reset Controller for MediaTek SoC flora.fu at mediatek.com
2014-10-30 3:12 ` [PATCH 1/3] ARM: mediatek: " flora.fu at mediatek.com
2014-10-30 9:23 ` Philipp Zabel
2014-10-30 12:39 ` Matthias Brugger
2014-10-30 3:12 ` [PATCH 2/3] dt-bindings: " flora.fu at mediatek.com
2014-10-30 10:10 ` Arnd Bergmann
2014-10-30 3:12 ` [PATCH 3/3] ARM: dts: mt8135: " flora.fu at mediatek.com
2014-10-30 9:02 ` Philipp Zabel
2014-10-30 10:11 ` Arnd Bergmann
2014-10-31 3:35 ` Flora Fu [this message]
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=1414726555.25409.38.camel@mtksdaap41 \
--to=flora.fu@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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