From: "Troy Mitchell" <troy.mitchell@linux.spacemit.com>
To: "Valentin Haudiquet" <valentin.haudiquet@canonical.com>
Cc: <opensbi@lists.infradead.org>, <troy.mitchell@linux.spacemit.com>,
"Xianbin Zhu" <xianbin.zhu@linux.spacemit.com>,
"Anup Patel" <anup@brainfault.org>, "Bo Gan" <ganboing@gmail.com>,
"Samuel Holland" <samuel.holland@sifive.com>,
"Heinrich Schuchardt" <heinrich.schuchardt@canonical.com>
Subject: Re: [PATCH 3/3] platform: generic: spacemit: k3: wake A100 core 8 for ESOS/RPMI services
Date: Tue, 01 Sep 2026 10:25:16 +0800 [thread overview]
Message-ID: <DL3MGIY12GHW.1W3S0MLQIOM5@linux.spacemit.com> (raw)
In-Reply-To: <20260831200832.404000-4-valentin.haudiquet@canonical.com>
[-- Attachment #1.1: Type: text/plain, Size: 1821 bytes --]
On Mon, Aug 31, 2026 at 10:07 PM +0200, Valentin Haudiquet wrote:
> The K3 SoC has two asymmetric CPU complexes: X100 (harts 0-7) and A100
> (harts 8-15). ESOS -- the rcpu-side firmware already loaded in SPI NOR --
> runs on A100 core 8 and provides RPMI services (clock, voltage, device
> power, system reset, suspend) that the X100 side depends on during boot.
>
> Without waking core 8, all RPMI mailbox transactions time out and the
> system hangs early during Linux boot (at basic.target or
> cryptsetup.target, depending on which earlier fixes are present).
This does not match the SDK firmware layout. ESOS runs on the two RT24
RCPUs; the FIT contains rt24_os0_rcpu.elf and rt24_os1_rcpu.elf. A100
hart 8 is not the processor executing ESOS.
Please clarify what hardware dependency is satisfied by waking hart 8, and
provide the exact kernel, DTB, FSBL/U-Boot and ESOS versions used for the
test, along with the RPMI request that times out.
> + /* Restore C2 RVBADDR to the normal warm-boot entry. */
> + lla t0, _spacemit_k3_warm_start
> + li t1, C2_RVBADDR_LO_ADDR
> + sw t0, 0(t1)
> + li t1, C2_RVBADDR_HI_ADDR
> + srli t0, t0, 32
> + sw t0, 0(t1)
> +
> + /* Enter WFI until the HSM starts this hart. */
> +1: wfi
> + j 1b
The vendor OpenSBI path powers hart 8 back down and flushes and disables
its caches and snooping before entering WFI. This code instead leaves
hart 8 running in a private WFI loop. Reprogramming C2_RVBADDR does not
by itself transfer an already-running hart to _spacemit_k3_warm_start,
so a later HSM start is not guaranteed to work.
If this sequence is required by the SDK firmware ABI, it should be a
separate, DT-described compatibility path and must preserve the normal HSM
lifecycle.
- Troy
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 248 bytes --]
[-- Attachment #2: Type: text/plain, Size: 105 bytes --]
--
opensbi mailing list
opensbi@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/opensbi
next prev parent reply other threads:[~2026-09-01 2:26 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 9:19 [PATCH v3 0/5] platform: generic: spacemit: add K3 platform support Troy Mitchell
2026-08-27 9:19 ` [PATCH v3 1/5] lib: sbi: select expected trap handler per hart Troy Mitchell
2026-08-31 2:21 ` Alvin Chang
2026-09-01 5:45 ` Troy Mitchell
2026-08-27 9:19 ` [PATCH v3 2/5] platform: generic: spacemit: k1: rename cache flush operation Troy Mitchell
2026-08-27 9:19 ` [PATCH v3 3/5] platform: generic: spacemit: k1: move hart init to nascent hook Troy Mitchell
2026-08-27 9:19 ` [PATCH v3 4/5] platform: generic: spacemit: k1: refactor platform support Troy Mitchell
2026-08-27 9:19 ` [PATCH v3 5/5] platform: generic: spacemit: k3: add " Troy Mitchell
[not found] ` <20260831200832.404000-1-valentin.haudiquet@canonical.com>
2026-08-31 20:07 ` [PATCH 1/3] platform: generic: spacemit: k3: de-vote cluster power-downs and ungate DMASYS before CCI enable Valentin Haudiquet
2026-09-01 2:25 ` Troy Mitchell
2026-08-31 20:07 ` [PATCH 2/3] platform: generic: spacemit: k3: override cold_boot_allowed for hart 0 only Valentin Haudiquet
2026-09-01 5:45 ` Troy Mitchell
2026-08-31 20:07 ` [PATCH 3/3] platform: generic: spacemit: k3: wake A100 core 8 for ESOS/RPMI services Valentin Haudiquet
2026-09-01 2:25 ` Troy Mitchell [this message]
2026-09-01 5:48 ` [PATCH 0/3] platform: generic: spacemit: k3: follow-up fixes Troy Mitchell
2026-09-02 8:41 ` Bo Gan
2026-09-02 9:38 ` Troy Mitchell
2026-09-02 11:42 ` Valentin Haudiquet
2026-09-01 22:41 ` [PATCH v3 0/5] platform: generic: spacemit: add K3 platform support Bo Gan
2026-09-02 5:51 ` Bo Gan
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=DL3MGIY12GHW.1W3S0MLQIOM5@linux.spacemit.com \
--to=troy.mitchell@linux.spacemit.com \
--cc=anup@brainfault.org \
--cc=ganboing@gmail.com \
--cc=heinrich.schuchardt@canonical.com \
--cc=opensbi@lists.infradead.org \
--cc=samuel.holland@sifive.com \
--cc=valentin.haudiquet@canonical.com \
--cc=xianbin.zhu@linux.spacemit.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.