From: Simon Horman <horms@verge.net.au>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH/RFC 2/6] boot-mode-reg: Add R-Car Gen2 driver
Date: Mon, 26 Oct 2015 05:50:08 +0000 [thread overview]
Message-ID: <20151026055005.GE2411@verge.net.au> (raw)
In-Reply-To: <1444892377-10170-3-git-send-email-horms+renesas@verge.net.au>
On Fri, Oct 23, 2015 at 03:37:46PM +0300, Laurent Pinchart wrote:
> Hi Simon,
>
> On Thursday 15 October 2015 16:59:18 Simon Horman wrote:
> > On Thu, Oct 15, 2015 at 09:09:13AM +0200, Geert Uytterhoeven wrote:
> > > On Thu, Oct 15, 2015 at 8:59 AM, Simon Horman wrote:
> > >> --- /dev/null
> > >> +++ b/drivers/misc/boot-mode-reg/rcar-gen2.c
> > >> @@ -0,0 +1,61 @@
> > >> +/*
> > >> + * R-Car Gen2 Boot Mode Register Driver
> > >>
> > >> +#define MODEMR 0xe6160060
> > >
> > > Shouldn't this come from DT?
> >
> > If its a property of the SoC then I'm not sure that it needs to as its a
> > known value for the supported SoCs.
>
> Hypervisors (at least Xen) use DT to initialize memory mappings. I believe we
> should thus describe the RST IP in DT and create an rcar-rst driver that
> includes the code from this patch.
So we would add a binding, say a compat string and a register range.
That might look like this:
rst: reset-controller@e6160000 {
compatible = "renesas,rst-r8a7795", "syscon";
reg = <0 0xe6160000 0 0x0200>;
};
The above is copped from Geerts earlier work
"[PATCH 1/6] reset: Add renesas,rst DT bindings"
http://www.spinics.net/lists/linux-sh/msg44800.html:
Is that binding what we are after?
Would the driver do anything beyond what it currently does +
using an offset to the base of its register range instead of the
hardcoded MODEMR value (and changes discussed elswhere in this thread,
e.g. to use soemthing like CLK_OF_DECLARE) ?
> > >> +static int __init rcar_gen2_read_mode_pins(void)
> > >> +{
> > >> + void __iomem *modemr;
> > >> + int err = -ENOMEM;
> > >> + static u32 mode;
> > >> +
> > >> + modemr = ioremap_nocache(MODEMR, 4);
> > >> + if (!modemr) {
> > >> + pr_err("failed to map boot mode register");
> > >> + goto err;
> > >> + }
> > >> + mode = ioread32(modemr);
> > >> + iounmap(modemr);
> > >> +
> > >> + err = boot_mode_reg_set(mode);
> > >> +err:
> > >> + if (err)
> > >> + pr_err("failed to initialise boot mode");
> > >> + return err;
> > >> +}
> > >>
> > >> --- a/include/misc/boot-mode-reg.h
> > >> +++ b/include/misc/boot-mode-reg.h
> > >> @@ -21,4 +21,7 @@
> > >> int boot_mode_reg_get(u32 *mode);
> > >> int boot_mode_reg_set(u32 mode);
> > >>
> > >> +/* Allow explicit initialisation before initcalls */
> > >> +int rcar_gen2_init_boot_mode(void);
> > >
> > > When using explicit initialisation before initcalls, the second call will
> > > trigger a new ioremap/ioread32/iounmap cycle.
> >
> > Thanks, I'll fix that.
>
> --
> Regards,
>
> Laurent Pinchart
>
next prev parent reply other threads:[~2015-10-26 5:50 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-15 6:59 [PATCH/RFC 2/6] boot-mode-reg: Add R-Car Gen2 driver Simon Horman
2015-10-15 7:09 ` Geert Uytterhoeven
2015-10-15 7:34 ` Khiem Nguyen
2015-10-15 7:56 ` Khiem Nguyen
2015-10-15 7:59 ` Simon Horman
2015-10-15 8:00 ` Simon Horman
2015-10-23 12:37 ` Laurent Pinchart
2015-10-23 12:49 ` Laurent Pinchart
2015-10-24 17:46 ` Geert Uytterhoeven
2015-10-26 2:08 ` Laurent Pinchart
2015-10-26 5:50 ` Simon Horman [this message]
2015-10-30 15:47 ` Laurent Pinchart
2015-12-15 7:58 ` Simon Horman
2015-12-15 8:16 ` Geert Uytterhoeven
2015-12-15 8:59 ` Magnus Damm
2015-12-15 9:02 ` Geert Uytterhoeven
2015-12-16 4:32 ` Simon Horman
2015-12-16 7:40 ` Geert Uytterhoeven
2016-01-19 0:30 ` Simon Horman
2016-01-19 8:01 ` Geert Uytterhoeven
2016-01-19 9:27 ` Simon Horman
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=20151026055005.GE2411@verge.net.au \
--to=horms@verge.net.au \
--cc=linux-sh@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).