From: Paul Kocialkowski <paulk@sys-base.io>
To: Quentin Schulz <foss+uboot@0leil.net>
Cc: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
Philipp Tomsich <philipp.tomsich@vrull.eu>,
Kever Yang <kever.yang@rock-chips.com>,
Klaus Goger <klaus.goger@cherry.de>,
u-boot@lists.denx.de, Paul Kocialkowski <contact@paulk.fr>,
Quentin Schulz <quentin.schulz@cherry.de>
Subject: Re: [PATCH next 0/5] rockchip: rk3399: allow to trigger sysreset in TPL
Date: Tue, 5 Nov 2024 19:45:04 +0100 [thread overview]
Message-ID: <ZypnsKWG0d1gplk8@collins> (raw)
In-Reply-To: <20241105-rk3399-sysreset-gpio-tpl-v1-0-12caff07a4e4@cherry.de>
[-- Attachment #1: Type: text/plain, Size: 3726 bytes --]
Hi,
Le Tue 05 Nov 24, 16:36, Quentin Schulz a écrit :
> A sysreset-gpio can be provided in an RK3399 platform's Device Tree and
> if U-Boot detects a "warm" boot was done, it'll toggle that GPIO to
> perform a reset of the PMIC, essentially forcing a cold boot to make
> sure there are no non-default values in SoC registers.
>
> For now, this was only supported in SPL, probably because when this was
> implemented RK3399 (and specifically Puma) didn't have TPL support so
> SPL was the earliest stage. Now that most RK3399 boards (and
> specifically Puma) have TPL enabled, it makes sense to add support for
> triggering this sysreset from it. It brings the following advantages:
> - faster boot time as we don't need to reach SPL to be able to reset the
> system on a condition we know is already met in TPL,
> - have less code to be impacted by the issue this system reset works
> around (that is, "unclean" SoC registers after a reboot),
> - less confusion around the reason for restarting. Indeed when done from
> SPL, the following log can be observed:
Thanks for doing this, I think it makes a lot of sense to have it in the TPL!
Cheers,
Paul
> """
> U-Boot TPL 2025.01-rc1-00165-gd79216ca9878-dirty (Nov 05 2024 - 15:31:45)
> Channel 0: DDR3, 666MHz
> BW=32 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=2048MB
> Channel 1: DDR3, 666MHz
> BW=32 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=2048MB
> 256B stride
> Trying to boot from BOOTROM
> Returning to boot ROM...
>
> U-Boot SPL 2025.01-rc1-00165-gd79216ca9878-dirty (Nov 05 2024 - 15:31:45 +0100)
> Trying to boot from MMC2
>
> U-Boot TPL 2025.01-rc1-00165-gd79216ca9878-dirty (Nov 05 2024 - 15:31:45)
> """
>
> possibly hinting at an issue within the SPL when loading the fitImage
> from MMC2 instead of the normal course of events (a system reset).
>
> For this to be possible, the sysreset function is adapted to be able to
> run in SPL and TPL by checking the appropriate symbols and a weak
> callback is added in the TPL main C code so that we can hook this
> sysreset function within the TPL code path.
>
> @Cc Paul since he's trying to add support for this sysreset to the
> Firefly ROC-RK3399-PC[1] and Pine64 ROCKPro64[2]. You'll want to have
> gpio1 with boopth-pre-sram though so it makes it to the TPL DTB.
>
> [1] https://lore.kernel.org/u-boot/20240926183111.1324284-1-paulk@sys-base.io/
> [2] https://lore.kernel.org/u-boot/20240926183111.1324284-2-paulk@sys-base.io/
>
> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
> ---
> Quentin Schulz (5):
> pinctrl: rockchip: allow to build for TPL
> rockchip: rk3399: merge CRU check within rk3399_force_power_on_reset
> rockchip: tpl: allow to call board/SoC-specific code before DRAM init
> rockchip: rk3399: allow to handle sysreset-gpio in TPL
> rockchip: configs: puma-rk3399: do the system reset in TPL
>
> arch/arm/mach-rockchip/rk3399/rk3399.c | 58 +++++++++++++++++++---------------
> arch/arm/mach-rockchip/tpl.c | 6 ++++
> configs/puma-rk3399_defconfig | 3 ++
> drivers/pinctrl/Kconfig | 8 +++++
> drivers/pinctrl/rockchip/Kconfig | 7 ++++
> 5 files changed, 56 insertions(+), 26 deletions(-)
> ---
> base-commit: 56accc56b9aab87ef4809ccc588e1257969cd271
> change-id: 20241105-rk3399-sysreset-gpio-tpl-50620781cdd9
>
> Best regards,
> --
> Quentin Schulz <quentin.schulz@cherry.de>
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Specialist in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2024-11-05 18:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-05 15:36 [PATCH next 0/5] rockchip: rk3399: allow to trigger sysreset in TPL Quentin Schulz
2024-11-05 15:36 ` [PATCH next 1/5] pinctrl: rockchip: allow to build for TPL Quentin Schulz
2024-11-05 18:34 ` Paul Kocialkowski
2024-11-05 15:36 ` [PATCH next 2/5] rockchip: rk3399: merge CRU check within rk3399_force_power_on_reset Quentin Schulz
2024-11-05 18:36 ` Paul Kocialkowski
2024-11-05 15:36 ` [PATCH next 3/5] rockchip: tpl: allow to call board/SoC-specific code before DRAM init Quentin Schulz
2024-11-05 18:37 ` Paul Kocialkowski
2024-11-05 15:36 ` [PATCH next 4/5] rockchip: rk3399: allow to handle sysreset-gpio in TPL Quentin Schulz
2024-11-05 18:40 ` Paul Kocialkowski
2024-11-05 18:44 ` Paul Kocialkowski
2024-11-05 15:36 ` [PATCH next 5/5] rockchip: configs: puma-rk3399: do the system reset " Quentin Schulz
2024-11-05 18:40 ` Paul Kocialkowski
2024-11-05 18:45 ` Paul Kocialkowski [this message]
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=ZypnsKWG0d1gplk8@collins \
--to=paulk@sys-base.io \
--cc=contact@paulk.fr \
--cc=foss+uboot@0leil.net \
--cc=kever.yang@rock-chips.com \
--cc=klaus.goger@cherry.de \
--cc=philipp.tomsich@vrull.eu \
--cc=quentin.schulz@cherry.de \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/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.