From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Andy Yan <andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
heiko-4mtYJXux2i+zQB+pC5nmwQ@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: Thu, 21 Jan 2016 17:20:37 +0100 [thread overview]
Message-ID: <20160121162035.GG647@ulmo.nvidia.com> (raw)
In-Reply-To: <2250962.OgUpqMgY4k@wuerfel>
[-- Attachment #1: Type: text/plain, Size: 1892 bytes --]
On Mon, Dec 28, 2015 at 04:35:46PM +0100, Arnd Bergmann wrote:
> On Monday 28 December 2015 10:20:56 Thierry Reding wrote:
> > > > > 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.
> > > >
> > > > I wasn't very clear, but the PMC_SCRATCH0 register is used to store the
> > > > reset reason. It supports the recovery mode, which I think is really an
> > > > Android thing, "bootloader" will typically cause the bootloader not to
> > > > boot anything, and "forced-recovery" will go into a recovery mode that
> > > > is used to bootstrap the device (usually by uploading a "miniloader"
> > > > that initializes RAM, downloads a bootloader for booting or flashing an
> > > > operating system, ...).
> > > >
> > > > The write that resets the SoC is to a different register.
> > >
> > > So is this scratch register interpreted by some maskrom code, or by code that
> > > can be provided by the OEM?
> >
> > My understanding is that its interpreted both by what's called BootROM
> > on Tegra (I guess that's what you call "maskrom code") and the system's
> > bootloader. The BootROM cannot typically be replaced by the OEM, but it
> > is quite typical for the bootloader to differ between devices.
>
> Ok, so not maskrom (which would not be OEM specific, but hardcoded for
> the chip) but rather some form of PROM. This means we can only guess
> that all OEMs use the same protocol but in theory someone could have
> implemented an incompatible BootROM, but it's also possible that HTC
> just ignore the register entirely and implement the same thing separately.
I wasn't being clear, the BootROM is hardcoded for the chip, I'm not
aware of a way to replace it once the chip's taped out.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: treding@nvidia.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/5] soc: rockchip: add reboot notifier driver
Date: Thu, 21 Jan 2016 17:20:37 +0100 [thread overview]
Message-ID: <20160121162035.GG647@ulmo.nvidia.com> (raw)
In-Reply-To: <2250962.OgUpqMgY4k@wuerfel>
On Mon, Dec 28, 2015 at 04:35:46PM +0100, Arnd Bergmann wrote:
> On Monday 28 December 2015 10:20:56 Thierry Reding wrote:
> > > > > 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.
> > > >
> > > > I wasn't very clear, but the PMC_SCRATCH0 register is used to store the
> > > > reset reason. It supports the recovery mode, which I think is really an
> > > > Android thing, "bootloader" will typically cause the bootloader not to
> > > > boot anything, and "forced-recovery" will go into a recovery mode that
> > > > is used to bootstrap the device (usually by uploading a "miniloader"
> > > > that initializes RAM, downloads a bootloader for booting or flashing an
> > > > operating system, ...).
> > > >
> > > > The write that resets the SoC is to a different register.
> > >
> > > So is this scratch register interpreted by some maskrom code, or by code that
> > > can be provided by the OEM?
> >
> > My understanding is that its interpreted both by what's called BootROM
> > on Tegra (I guess that's what you call "maskrom code") and the system's
> > bootloader. The BootROM cannot typically be replaced by the OEM, but it
> > is quite typical for the bootloader to differ between devices.
>
> Ok, so not maskrom (which would not be OEM specific, but hardcoded for
> the chip) but rather some form of PROM. This means we can only guess
> that all OEMs use the same protocol but in theory someone could have
> implemented an incompatible BootROM, but it's also possible that HTC
> just ignore the register entirely and implement the same thing separately.
I wasn't being clear, the BootROM is hardcoded for the chip, I'm not
aware of a way to replace it once the chip's taped out.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160121/8a6f284b/attachment.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <treding@nvidia.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: <linux-arm-kernel@lists.infradead.org>,
Andy Yan <andy.yan@rock-chips.com>, <heiko@sntech.de>,
<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: Thu, 21 Jan 2016 17:20:37 +0100 [thread overview]
Message-ID: <20160121162035.GG647@ulmo.nvidia.com> (raw)
In-Reply-To: <2250962.OgUpqMgY4k@wuerfel>
[-- Attachment #1: Type: text/plain, Size: 1892 bytes --]
On Mon, Dec 28, 2015 at 04:35:46PM +0100, Arnd Bergmann wrote:
> On Monday 28 December 2015 10:20:56 Thierry Reding wrote:
> > > > > 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.
> > > >
> > > > I wasn't very clear, but the PMC_SCRATCH0 register is used to store the
> > > > reset reason. It supports the recovery mode, which I think is really an
> > > > Android thing, "bootloader" will typically cause the bootloader not to
> > > > boot anything, and "forced-recovery" will go into a recovery mode that
> > > > is used to bootstrap the device (usually by uploading a "miniloader"
> > > > that initializes RAM, downloads a bootloader for booting or flashing an
> > > > operating system, ...).
> > > >
> > > > The write that resets the SoC is to a different register.
> > >
> > > So is this scratch register interpreted by some maskrom code, or by code that
> > > can be provided by the OEM?
> >
> > My understanding is that its interpreted both by what's called BootROM
> > on Tegra (I guess that's what you call "maskrom code") and the system's
> > bootloader. The BootROM cannot typically be replaced by the OEM, but it
> > is quite typical for the bootloader to differ between devices.
>
> Ok, so not maskrom (which would not be OEM specific, but hardcoded for
> the chip) but rather some form of PROM. This means we can only guess
> that all OEMs use the same protocol but in theory someone could have
> implemented an incompatible BootROM, but it's also possible that HTC
> just ignore the register entirely and implement the same thing separately.
I wasn't being clear, the BootROM is hardcoded for the chip, I'm not
aware of a way to replace it once the chip's taped out.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-01-21 16:20 UTC|newest]
Thread overview: 82+ 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
[not found] ` <1447840410-19794-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
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
[not found] ` <564D2331.8070503-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
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-23 13:15 ` Andy Yan
2015-12-01 15:10 ` Andy Yan
[not found] ` <CANbgqARCYP0rfTPSJLNEnCdrb1+mCYYznnRVH6o8Bj5sWt9fDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
[not found] ` <CANbgqASc1fyoV6FJ1g15P27_h0iA_F9h8aP304X8tRovrKrq5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
[not found] ` <1447840582-19850-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
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
[not found] ` <20151215163120.GA24031-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
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
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
[not found] ` <20151215174234.GB24031-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
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
[not found] ` <20151228092054.GA29195-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
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 [this message]
2016-01-21 16:20 ` Thierry Reding
2016-01-21 16:20 ` Thierry Reding
[not found] ` <1447840044-19689-1-git-send-email-andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
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-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
2015-11-18 10:05 ` [PATCH v3 5/5] ARM64: dts: rockchip: add reboot node Andy Yan
2015-11-18 10:05 ` Andy Yan
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=20160121162035.GG647@ulmo.nvidia.com \
--to=treding-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=andy.yan-TNX95d0MmH7DzftRWevZcw@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=benchan-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=khilman-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.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 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.