From: Tony Lindgren <tony@atomide.com>
To: Faiz Abbas <faiz_abbas@ti.com>
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-clk@vger.kernel.org, mark.rutland@arm.com, paul@pwsan.com,
t-kristo@ti.com, robh+dt@kernel.org, bcousson@baylibre.com
Subject: Re: [PATCH v3 4/6] bus: ti-sysc: Add support for software reset
Date: Thu, 7 Jun 2018 23:21:58 -0700 [thread overview]
Message-ID: <20180608062158.GI5738@atomide.com> (raw)
In-Reply-To: <a169ba7f-53f2-cf9a-a9ee-daffd6b53279@ti.com>
* Faiz Abbas <faiz_abbas@ti.com> [180607 10:24]:
> Hi,
>
> On Thursday 07 June 2018 01:05 PM, Tony Lindgren wrote:
> > * Faiz Abbas <faiz_abbas@ti.com> [180606 06:14]:
> >> +static int sysc_reset(struct sysc *ddata)
> >> +{
> >> + int offset = ddata->offsets[SYSC_SYSCONFIG];
> >> + int val = sysc_read(ddata, offset);
> >> +
> >> + val |= (0x1 << ddata->cap->regbits->srst_shift);
> >> + sysc_write(ddata, offset, val);
> >> +
> >> + /* Poll on reset status */
> >> + if (ddata->cfg.quirks & SYSC_QUIRK_RESET_STATUS) {
> >> + offset = ddata->offsets[SYSC_SYSSTATUS];
> >> +
> >> + return readl_poll_timeout(ddata->module_va + offset, val,
> >> + (val & ddata->cfg.syss_mask) == 0x0,
> >> + 100, MAX_MODULE_SOFTRESET_WAIT);
> >> + }
> >> +
> >> + return 0;
> >> +}
> >
> > I wonder if we should also add SYSS_QUIRK_RESET_STATUS in
> > addition to SYSC_QUIRK_RESET status to make it easy to
> > read the right register?
>
> I assumed SYSC_QUIRK is the prefix to indicate the ti-sysc driver not
> the register. Are there layouts in which the reset status bit is in the
> sysconfig register rather than the sysstatus register?
Yes we can have reset status bit in either syss or syssconfig register.
We detect that in sysc_init_syss_mask() but we should also set something
at that point to make it clear which reset to use. But as we don't need
the quirk flag, it's probably set a function pointer after the detection.
So how about let's have two functions sysc_reset() and sysc_syss_reset()
and then we can implement sysc_syss_reset() in a separate patch after
testing it when we have a non-platform data using example for
sysc_syss_reset().
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/6] bus: ti-sysc: Add support for software reset
Date: Thu, 7 Jun 2018 23:21:58 -0700 [thread overview]
Message-ID: <20180608062158.GI5738@atomide.com> (raw)
In-Reply-To: <a169ba7f-53f2-cf9a-a9ee-daffd6b53279@ti.com>
* Faiz Abbas <faiz_abbas@ti.com> [180607 10:24]:
> Hi,
>
> On Thursday 07 June 2018 01:05 PM, Tony Lindgren wrote:
> > * Faiz Abbas <faiz_abbas@ti.com> [180606 06:14]:
> >> +static int sysc_reset(struct sysc *ddata)
> >> +{
> >> + int offset = ddata->offsets[SYSC_SYSCONFIG];
> >> + int val = sysc_read(ddata, offset);
> >> +
> >> + val |= (0x1 << ddata->cap->regbits->srst_shift);
> >> + sysc_write(ddata, offset, val);
> >> +
> >> + /* Poll on reset status */
> >> + if (ddata->cfg.quirks & SYSC_QUIRK_RESET_STATUS) {
> >> + offset = ddata->offsets[SYSC_SYSSTATUS];
> >> +
> >> + return readl_poll_timeout(ddata->module_va + offset, val,
> >> + (val & ddata->cfg.syss_mask) == 0x0,
> >> + 100, MAX_MODULE_SOFTRESET_WAIT);
> >> + }
> >> +
> >> + return 0;
> >> +}
> >
> > I wonder if we should also add SYSS_QUIRK_RESET_STATUS in
> > addition to SYSC_QUIRK_RESET status to make it easy to
> > read the right register?
>
> I assumed SYSC_QUIRK is the prefix to indicate the ti-sysc driver not
> the register. Are there layouts in which the reset status bit is in the
> sysconfig register rather than the sysstatus register?
Yes we can have reset status bit in either syss or syssconfig register.
We detect that in sysc_init_syss_mask() but we should also set something
at that point to make it clear which reset to use. But as we don't need
the quirk flag, it's probably set a function pointer after the detection.
So how about let's have two functions sysc_reset() and sysc_syss_reset()
and then we can implement sysc_syss_reset() in a separate patch after
testing it when we have a non-platform data using example for
sysc_syss_reset().
Regards,
Tony
next prev parent reply other threads:[~2018-06-08 6:22 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-06 6:08 [PATCH v3 0/6] Add MCAN Support for dra76x Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` [PATCH v3 1/6] ARM: dts: dra762: Add MCAN clock support Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` [PATCH v3 2/6] clk: ti: dra7: Add clkctrl clock data for the mcan clocks Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-11 18:22 ` Rob Herring
2018-06-11 18:22 ` Rob Herring
2018-06-06 6:08 ` [PATCH v3 3/6] bus: ti-sysc: Add support for using ti-sysc for MCAN on dra76x Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` [PATCH v3 4/6] bus: ti-sysc: Add support for software reset Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-07 7:35 ` Tony Lindgren
2018-06-07 7:35 ` Tony Lindgren
2018-06-07 10:24 ` Faiz Abbas
2018-06-07 10:24 ` Faiz Abbas
2018-06-07 10:24 ` Faiz Abbas
2018-06-08 6:21 ` Tony Lindgren [this message]
2018-06-08 6:21 ` Tony Lindgren
2018-06-11 6:08 ` Faiz Abbas
2018-06-11 6:08 ` Faiz Abbas
2018-06-11 6:08 ` Faiz Abbas
2018-06-11 6:09 ` Tony Lindgren
2018-06-11 6:09 ` Tony Lindgren
2018-06-11 6:27 ` Faiz Abbas
2018-06-11 6:27 ` Faiz Abbas
2018-06-11 6:27 ` Faiz Abbas
2018-06-11 6:29 ` Tony Lindgren
2018-06-11 6:29 ` Tony Lindgren
2018-06-11 6:47 ` Faiz Abbas
2018-06-11 6:47 ` Faiz Abbas
2018-06-11 6:47 ` Faiz Abbas
2018-06-11 7:03 ` Tony Lindgren
2018-06-11 7:03 ` Tony Lindgren
2018-07-03 7:07 ` Tony Lindgren
2018-07-03 7:07 ` Tony Lindgren
2018-07-03 7:29 ` Faiz Abbas
2018-07-03 7:29 ` Faiz Abbas
2018-07-03 7:29 ` Faiz Abbas
2018-07-03 7:31 ` Tony Lindgren
2018-07-03 7:31 ` Tony Lindgren
2018-07-04 13:36 ` Faiz Abbas
2018-07-04 13:36 ` Faiz Abbas
2018-07-04 13:36 ` Faiz Abbas
2018-07-05 5:55 ` Tony Lindgren
2018-07-05 5:55 ` Tony Lindgren
2018-07-05 6:53 ` Faiz Abbas
2018-07-05 6:53 ` Faiz Abbas
2018-07-05 6:53 ` Faiz Abbas
2018-06-06 6:08 ` [PATCH v3 5/6] ARM: dts: Add generic interconnect target module node for MCAN Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` [PATCH v3 6/6] ARM: dts: dra76x: Add MCAN node Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 6:08 ` Faiz Abbas
2018-06-06 10:09 ` [PATCH v3 0/6] Add MCAN Support for dra76x Tony Lindgren
2018-06-06 10:09 ` Tony Lindgren
2018-06-06 10:13 ` Faiz Abbas
2018-06-06 10:13 ` Faiz Abbas
2018-06-06 10:13 ` Faiz Abbas
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=20180608062158.GI5738@atomide.com \
--to=tony@atomide.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=faiz_abbas@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=paul@pwsan.com \
--cc=robh+dt@kernel.org \
--cc=t-kristo@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.