All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Thierry Reding <treding@nvidia.com>,
	linux-arm-kernel@lists.infradead.org,
	Andy Yan <andy.yan@rock-chips.com>,
	linux-kernel@vger.kernel.org, mark.rutland@arm.com,
	devicetree@vger.kernel.org, khilman@linaro.org,
	linux@arm.linux.org.uk, pawel.moll@arm.com,
	ijc+devicetree@hellion.org.uk, benchan@google.com,
	sjg@chromium.org, linux-rockchip@lists.infradead.org,
	robh+dt@kernel.org, galak@codeaurora.org, wxt@rock-chips.com,
	john.stultz@linaro.org
Subject: Re: [PATCH v3 3/5] soc: rockchip: add reboot notifier driver
Date: Tue, 15 Dec 2015 18:27:07 +0100	[thread overview]
Message-ID: <1501971.Yf5m5Xb3Zg@diego> (raw)
In-Reply-To: <3759218.6sItdW65UG@wuerfel>

Am Dienstag, 15. Dezember 2015, 17:34:00 schrieb Arnd Bergmann:
> On Tuesday 15 December 2015 17:31:22 Thierry Reding wrote:
> > On Mon, Dec 14, 2015 at 12:39:44PM +0100, Arnd Bergmann wrote:
> > > On Wednesday 18 November 2015 17:56:22 Andy Yan wrote:
> > > > rockchip platform have a protocol to pass the kernel reboot
> > > > mode to bootloader by some special registers when system reboot.
> > > > By this way the bootloader can take different action according
> > > > to the different kernel reboot mode, for example, command
> > > > "reboot loader" will reboot the board to rockusb mode, this is
> > > > a very convenient way to get the board enter download mode.
> > > > 
> > > > Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> > > 
> > > Adding John Stultz to Cc
> > > 
> > > I just saw this thread pop up again, and had to think of John's recent
> > > patch to unify this across platforms.
> > > 
> > > John, can you have a look at this driver too, and see how it fits in?
> > > I think this is yet another variant, using an MMIO register rather than
> > > RAM (as HTC / NVIDIA does) or SRAM (as Qualcomm does), but otherwise
> > > it conceptually fits in with what you had.
> > 
> > FWIW, Tegra typically does use an MMIO register as well. See
> > drivers/soc/tegra/pmc.c:tegra_pmc_restart_notify(). I don't know what
> > HTC does, but if it's writing somewhere in RAM it isn't using the
> > standard way of resetting the SoC. There's early boot ROM code which I
> > think evaluates the PMC_SCRATCH0 register on Tegra to determine which
> > mode to boot into. That's before even any firmware gets the chance of
> > doing anything.
> 
> HTC apparently uses a separate RAM area to pass the reboot reason,
> and they have a driver to store that, which is separate from the
> driver that they use for actually rebooting the machine.

same on Rockchip. The general restart handling doesn't care about any reason, 
it is merely an agreement between kernel and bootloader to store a reason 
value in some reboot-safe register of the soc.


Heiko

WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Andy Yan <andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	khilman-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org,
	pawel.moll-5wv7dgnIgG8@public.gmane.org,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
	benchan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
	sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org,
	john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v3 3/5] soc: rockchip: add reboot notifier driver
Date: Tue, 15 Dec 2015 18:27:07 +0100	[thread overview]
Message-ID: <1501971.Yf5m5Xb3Zg@diego> (raw)
In-Reply-To: <3759218.6sItdW65UG@wuerfel>

Am Dienstag, 15. Dezember 2015, 17:34:00 schrieb Arnd Bergmann:
> On Tuesday 15 December 2015 17:31:22 Thierry Reding wrote:
> > On Mon, Dec 14, 2015 at 12:39:44PM +0100, Arnd Bergmann wrote:
> > > On Wednesday 18 November 2015 17:56:22 Andy Yan wrote:
> > > > rockchip platform have a protocol to pass the kernel reboot
> > > > mode to bootloader by some special registers when system reboot.
> > > > By this way the bootloader can take different action according
> > > > to the different kernel reboot mode, for example, command
> > > > "reboot loader" will reboot the board to rockusb mode, this is
> > > > a very convenient way to get the board enter download mode.
> > > > 
> > > > Signed-off-by: Andy Yan <andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
> > > 
> > > Adding John Stultz to Cc
> > > 
> > > I just saw this thread pop up again, and had to think of John's recent
> > > patch to unify this across platforms.
> > > 
> > > John, can you have a look at this driver too, and see how it fits in?
> > > I think this is yet another variant, using an MMIO register rather than
> > > RAM (as HTC / NVIDIA does) or SRAM (as Qualcomm does), but otherwise
> > > it conceptually fits in with what you had.
> > 
> > FWIW, Tegra typically does use an MMIO register as well. See
> > drivers/soc/tegra/pmc.c:tegra_pmc_restart_notify(). I don't know what
> > HTC does, but if it's writing somewhere in RAM it isn't using the
> > standard way of resetting the SoC. There's early boot ROM code which I
> > think evaluates the PMC_SCRATCH0 register on Tegra to determine which
> > mode to boot into. That's before even any firmware gets the chance of
> > doing anything.
> 
> HTC apparently uses a separate RAM area to pass the reboot reason,
> and they have a driver to store that, which is separate from the
> driver that they use for actually rebooting the machine.

same on Rockchip. The general restart handling doesn't care about any reason, 
it is merely an agreement between kernel and bootloader to store a reason 
value in some reboot-safe register of the soc.


Heiko
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/5] soc: rockchip: add reboot notifier driver
Date: Tue, 15 Dec 2015 18:27:07 +0100	[thread overview]
Message-ID: <1501971.Yf5m5Xb3Zg@diego> (raw)
In-Reply-To: <3759218.6sItdW65UG@wuerfel>

Am Dienstag, 15. Dezember 2015, 17:34:00 schrieb Arnd Bergmann:
> On Tuesday 15 December 2015 17:31:22 Thierry Reding wrote:
> > On Mon, Dec 14, 2015 at 12:39:44PM +0100, Arnd Bergmann wrote:
> > > On Wednesday 18 November 2015 17:56:22 Andy Yan wrote:
> > > > rockchip platform have a protocol to pass the kernel reboot
> > > > mode to bootloader by some special registers when system reboot.
> > > > By this way the bootloader can take different action according
> > > > to the different kernel reboot mode, for example, command
> > > > "reboot loader" will reboot the board to rockusb mode, this is
> > > > a very convenient way to get the board enter download mode.
> > > > 
> > > > Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> > > 
> > > Adding John Stultz to Cc
> > > 
> > > I just saw this thread pop up again, and had to think of John's recent
> > > patch to unify this across platforms.
> > > 
> > > John, can you have a look at this driver too, and see how it fits in?
> > > I think this is yet another variant, using an MMIO register rather than
> > > RAM (as HTC / NVIDIA does) or SRAM (as Qualcomm does), but otherwise
> > > it conceptually fits in with what you had.
> > 
> > FWIW, Tegra typically does use an MMIO register as well. See
> > drivers/soc/tegra/pmc.c:tegra_pmc_restart_notify(). I don't know what
> > HTC does, but if it's writing somewhere in RAM it isn't using the
> > standard way of resetting the SoC. There's early boot ROM code which I
> > think evaluates the PMC_SCRATCH0 register on Tegra to determine which
> > mode to boot into. That's before even any firmware gets the chance of
> > doing anything.
> 
> HTC apparently uses a separate RAM area to pass the reboot reason,
> and they have a driver to store that, which is separate from the
> driver that they use for actually rebooting the machine.

same on Rockchip. The general restart handling doesn't care about any reason, 
it is merely an agreement between kernel and bootloader to store a reason 
value in some reboot-safe register of the soc.


Heiko

  reply	other threads:[~2015-12-15 17:27 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-18  9:47 [PATCH v3 0/5] Add reboot notifier driver for rockchip platform Andy Yan
2015-11-18  9:47 ` Andy Yan
2015-11-18  9:47 ` Andy Yan
2015-11-18  9:50 ` [PATCH v3 1/5] ARM: dts: rockchip: rk3288-veyron: rename pinctrl node reboot to reset Andy Yan
2015-11-18  9:50   ` Andy Yan
2015-11-18 14:18   ` Sergei Shtylyov
2015-11-18 14:18     ` Sergei Shtylyov
2015-11-19  0:51     ` Andy Yan
2015-11-18  9:53 ` [PATCH v3 2/5] dt-bindings: soc: add document for rockchip reboot notifier driver Andy Yan
2015-11-18  9:53   ` Andy Yan
2015-11-18 22:59   ` Rob Herring
2015-11-18 22:59     ` Rob Herring
2015-11-18 22:59     ` Rob Herring
2015-11-19  1:17     ` Andy Yan
2015-11-19  1:17       ` Andy Yan
2015-11-19  1:17       ` Andy Yan
2015-11-19  4:35       ` Heiko Stuebner
2015-11-19  4:35         ` Heiko Stuebner
2015-11-19  4:35         ` Heiko Stuebner
2015-11-20  1:16         ` Andy Yan
2015-11-20  1:16           ` Andy Yan
2015-11-20  1:16           ` Andy Yan
2015-11-20  1:58           ` Rob Herring
2015-11-20  1:58             ` Rob Herring
2015-11-20  1:58             ` Rob Herring
2015-11-23 13:15             ` Andy Yan
2015-12-01 15:10               ` Andy Yan
2015-12-01 15:47                 ` Heiko Stübner
2015-12-01 15:47                   ` Heiko Stübner
2015-12-01 15:47                   ` Heiko Stübner
2015-11-19 12:56       ` Thierry Reding
2015-11-19 12:56         ` Thierry Reding
2015-11-19 12:56         ` Thierry Reding
2015-11-19 13:39         ` Andy Yan
2015-11-19 15:30           ` Thierry Reding
2015-11-19 15:30             ` Thierry Reding
2015-11-19 15:30             ` Thierry Reding
2015-11-18  9:56 ` [PATCH v3 3/5] soc: rockchip: add " Andy Yan
2015-11-18  9:56   ` Andy Yan
2015-11-19  0:39   ` kbuild test robot
2015-11-19  0:39     ` kbuild test robot
2015-11-19  0:39     ` kbuild test robot
2015-12-14 11:39   ` Arnd Bergmann
2015-12-14 11:39     ` Arnd Bergmann
2015-12-14 11:39     ` Arnd Bergmann
2015-12-15 16:31     ` Thierry Reding
2015-12-15 16:31       ` Thierry Reding
2015-12-15 16:31       ` Thierry Reding
2015-12-15 16:34       ` Arnd Bergmann
2015-12-15 16:34         ` Arnd Bergmann
2015-12-15 16:34         ` Arnd Bergmann
2015-12-15 17:27         ` Heiko Stübner [this message]
2015-12-15 17:27           ` Heiko Stübner
2015-12-15 17:27           ` Heiko Stübner
2015-12-15 17:42         ` Thierry Reding
2015-12-15 17:42           ` Thierry Reding
2015-12-15 17:42           ` Thierry Reding
2015-12-15 20:38           ` Arnd Bergmann
2015-12-15 20:38             ` Arnd Bergmann
2015-12-15 20:38             ` Arnd Bergmann
2015-12-28  9:20             ` Thierry Reding
2015-12-28  9:20               ` Thierry Reding
2015-12-28  9:20               ` Thierry Reding
2015-12-28 15:35               ` Arnd Bergmann
2015-12-28 15:35                 ` Arnd Bergmann
2015-12-28 15:35                 ` Arnd Bergmann
2016-01-21 16:20                 ` Thierry Reding
2016-01-21 16:20                   ` Thierry Reding
2016-01-21 16:20                   ` Thierry Reding
2015-11-18 10:00 ` [PATCH v3 4/5] ARM: dts: rockchip: add reboot node Andy Yan
2015-11-18 10:00   ` Andy Yan
2015-11-18 10:00   ` Andy Yan
2015-11-18 10:05 ` [PATCH v3 5/5] ARM64: " Andy Yan
2015-11-18 10:05   ` Andy Yan
2015-12-11 21:29 ` [PATCH v3 0/5] Add reboot notifier driver for rockchip platform Heiko Stübner
2015-12-11 21:29   ` Heiko Stübner
2015-12-11 21:29   ` Heiko Stübner
2015-12-14 10:30   ` Andy Yan
2015-12-14 10:30     ` Andy Yan
2015-12-14 10:30     ` Andy Yan
2015-12-17  1:16     ` John Stultz
2015-12-17  1:16       ` John Stultz
2015-12-17  1:16       ` John Stultz

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=1501971.Yf5m5Xb3Zg@diego \
    --to=heiko@sntech.de \
    --cc=andy.yan@rock-chips.com \
    --cc=arnd@arndb.de \
    --cc=benchan@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=john.stultz@linaro.org \
    --cc=khilman@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sjg@chromium.org \
    --cc=treding@nvidia.com \
    --cc=wxt@rock-chips.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.