From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-sunxi] Re: [PATCH v4 4/6] reset: sunxi: Add Allwinner H3 bus resets
Date: Mon, 23 Nov 2015 12:29:15 +0100 [thread overview]
Message-ID: <20151123112915.GU32142@lukather> (raw)
In-Reply-To: <CAGb2v665C-EM4t1h3rQ=hNR=1Z4J2mp7DRy_zM8-OkCXzZ03iw@mail.gmail.com>
Hi,
On Mon, Nov 23, 2015 at 03:41:52PM +0800, Chen-Yu Tsai wrote:
> On Thu, Nov 5, 2015 at 2:47 PM, Jean-Francois Moine <moinejf@free.fr> wrote:
> > On Wed, 4 Nov 2015 08:30:14 -0800
> > Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
> >
> >> Hi Arnd,
> >>
> >> On Fri, Oct 30, 2015 at 09:27:03AM +0100, Arnd Bergmann wrote:
> >> > On Tuesday 27 October 2015 17:50:24 Jens Kuske wrote:
> >> > >
> >> > > +static int sun8i_h3_bus_reset_xlate(struct reset_controller_dev *rcdev,
> >> > > + const struct of_phandle_args *reset_spec)
> >> > > +{
> >> > > + unsigned int index = reset_spec->args[0];
> >> > > +
> >> > > + if (index < 96)
> >> > > + return index;
> >> > > + else if (index < 128)
> >> > > + return index + 32;
> >> > > + else if (index < 160)
> >> > > + return index + 64;
> >> > > + else
> >> > > + return -EINVAL;
> >> > > +}
> >> > > +
> >> > >
> >> >
> >> > This looks like you are doing something wrong and should either
> >> > put the actual number into DT,
> >>
> >> This is the actual number, except that there's some useless registers
> >> in between. Allwinner documents it like that:
> >>
> >> 0x0 Reset 0
> >> 0x4 Reset 1
> >> 0xc Reset 2
> >>
> >> So we have to adjust the offset to account with the blank register in
> >> between (0x8).
> >>
> >> > or use a two-cell representation, with the first cell indicating the
> >> > block (0, 1 or 2), and the second cell the index.
> >>
> >> And the missing register is not a block either.
> >>
> >> That would also imply either changing the bindings of that driver (and
> >> all the current DTS that are using it), or introducing a whole new
> >> driver just to deal with some extraordinary offset calculation.
> >
> > In the H3, the holes are not used, but what would occur if these holes
> > would be used for some other purpose in future SoCs? Double mapping?
>
> We'd have a different compatible string for it.
>
> My suggestion for the resets is to just split them into 3 nodes: AHB
> (since AHB1 and AHB2 devices are mixed together in the bunch), APB1,
> and APB2 reset controls.
>
> This follows what we have for existing SoCs, and gets rid of the unused
> hole. We can use the existing "allwinner,sun6i-a31-clock-reset" and
> "allwinner,sun6i-a31-ahb1-reset" compatibles.
That seems a bit weird to have a single clock and split resets, but as
long as they are not mixed, and you can compute easily the id from the
datasheet, ok.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151123/0f5b4408/attachment.sig>
next prev parent reply other threads:[~2015-11-23 11:29 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 16:50 [PATCH v4 0/6] ARM: sunxi: Introduce Allwinner H3 support Jens Kuske
2015-10-27 16:50 ` [PATCH v4 1/6] clk: sunxi: Let divs clocks read the base factor clock name from devicetree Jens Kuske
2015-10-30 7:46 ` Chen-Yu Tsai
2015-11-01 13:11 ` Jens Kuske
2015-11-04 15:44 ` [PATCH] clk: sunxi: Refactor A31 PLL6 so that it can be reused Maxime Ripard
2015-11-05 2:28 ` Chen-Yu Tsai
2015-11-09 1:52 ` Maxime Ripard
2015-10-27 16:50 ` [PATCH v4 2/6] clk: sunxi: Add H3 clocks support Jens Kuske
2015-10-27 23:12 ` [linux-sunxi] " Julian Calaby
2015-11-04 16:23 ` Maxime Ripard
2015-11-04 22:17 ` Julian Calaby
2015-10-30 8:28 ` Arnd Bergmann
2015-11-01 13:40 ` Jens Kuske
2015-11-04 16:24 ` Maxime Ripard
2015-10-27 16:50 ` [PATCH v4 3/6] pinctrl: sunxi: Add H3 PIO controller support Jens Kuske
2015-10-30 8:08 ` Chen-Yu Tsai
2015-11-01 13:17 ` Jens Kuske
2015-11-01 15:25 ` [linux-sunxi] " Chen-Yu Tsai
2015-10-27 16:50 ` [PATCH v4 4/6] reset: sunxi: Add Allwinner H3 bus resets Jens Kuske
2015-10-28 11:42 ` Philipp Zabel
2015-10-30 8:27 ` Arnd Bergmann
2015-11-01 13:21 ` Jens Kuske
2015-11-04 16:30 ` Maxime Ripard
2015-11-05 6:47 ` Jean-Francois Moine
2015-11-23 7:41 ` [linux-sunxi] " Chen-Yu Tsai
2015-11-23 11:29 ` Maxime Ripard [this message]
2015-10-27 16:50 ` [PATCH v4 5/6] ARM: dts: sunxi: Add Allwinner H3 DTSI Jens Kuske
2015-10-30 7:33 ` Chen-Yu Tsai
2015-11-01 9:46 ` Maxime Ripard
2015-11-01 13:33 ` Jens Kuske
2015-11-23 8:57 ` Maxime Ripard
2015-11-23 10:50 ` [linux-sunxi] " Hans de Goede
2015-11-23 16:25 ` Jens Kuske
2015-11-23 16:48 ` Chen-Yu Tsai
2015-10-30 10:34 ` Jean-Francois Moine
2015-11-01 9:48 ` Maxime Ripard
2015-11-01 9:52 ` Maxime Ripard
2015-10-27 16:50 ` [PATCH v4 6/6] ARM: dts: sun8i: Add Orange Pi Plus support Jens Kuske
2015-10-27 18:04 ` [PATCH v4 0/6] ARM: sunxi: Introduce Allwinner H3 support Jean-Francois Moine
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=20151123112915.GU32142@lukather \
--to=maxime.ripard@free-electrons.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