* [PATCH] misc: aspeed_scu: Update AST2600 silicon id register
@ 2020-09-16 8:20 Joel Stanley
2020-09-16 9:36 ` Cédric Le Goater
0 siblings, 1 reply; 2+ messages in thread
From: Joel Stanley @ 2020-09-16 8:20 UTC (permalink / raw)
To: Cédric Le Goater; +Cc: Andrew Jeffery, Peter Maydell, qemu-arm, qemu-devel
Aspeed have released an updated datasheet (v7) containing the silicon id
for the AST2600 A2. It looks like this:
SCU004 SCU014
AST2600-A0 0x05000303 0x05000303
AST2600-A1 0x05010303 0x05010303
AST2600-A2 0x05010303 0x05020303
AST2620-A1 0x05010203 0x05010203
AST2620-A2 0x05010203 0x05020203
The SCU004 (silicon id 1) value matches SCU014 for A0, but for
subsequent revisions it is hard coded to the A1 value.
Qemu effectively dropped support for the A0 in 7582591ae745 ("aspeed:
Support AST2600A1 silicon revision") as the A0 reset table was removed,
so it makes sense to only support the behaviour of A1 and onwards.
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
hw/misc/aspeed_scu.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
index dc6dd87c22f4..40a38ebd8549 100644
--- a/hw/misc/aspeed_scu.c
+++ b/hw/misc/aspeed_scu.c
@@ -670,7 +670,12 @@ static void aspeed_ast2600_scu_reset(DeviceState *dev)
memcpy(s->regs, asc->resets, asc->nr_regs * 4);
- s->regs[AST2600_SILICON_REV] = s->silicon_rev;
+ /*
+ * A0 reports A0 in _REV, but subsequent revisions report A1 regardless
+ * of actual revision. QEMU and Linux only support A1 onwards so this is
+ * sufficient.
+ */
+ s->regs[AST2600_SILICON_REV] = AST2600_A1_SILICON_REV;
s->regs[AST2600_SILICON_REV2] = s->silicon_rev;
s->regs[AST2600_HW_STRAP1] = s->hw_strap1;
s->regs[AST2600_HW_STRAP2] = s->hw_strap2;
--
2.28.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] misc: aspeed_scu: Update AST2600 silicon id register
2020-09-16 8:20 [PATCH] misc: aspeed_scu: Update AST2600 silicon id register Joel Stanley
@ 2020-09-16 9:36 ` Cédric Le Goater
0 siblings, 0 replies; 2+ messages in thread
From: Cédric Le Goater @ 2020-09-16 9:36 UTC (permalink / raw)
To: Joel Stanley; +Cc: Andrew Jeffery, Peter Maydell, qemu-arm, qemu-devel
On 9/16/20 10:20 AM, Joel Stanley wrote:
> Aspeed have released an updated datasheet (v7) containing the silicon id
> for the AST2600 A2. It looks like this:
>
> SCU004 SCU014
> AST2600-A0 0x05000303 0x05000303
> AST2600-A1 0x05010303 0x05010303
> AST2600-A2 0x05010303 0x05020303
> AST2620-A1 0x05010203 0x05010203
> AST2620-A2 0x05010203 0x05020203
>
> The SCU004 (silicon id 1) value matches SCU014 for A0, but for
> subsequent revisions it is hard coded to the A1 value.
>
> Qemu effectively dropped support for the A0 in 7582591ae745 ("aspeed:
> Support AST2600A1 silicon revision") as the A0 reset table was removed,
> so it makes sense to only support the behaviour of A1 and onwards.
>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/misc/aspeed_scu.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c
> index dc6dd87c22f4..40a38ebd8549 100644
> --- a/hw/misc/aspeed_scu.c
> +++ b/hw/misc/aspeed_scu.c
> @@ -670,7 +670,12 @@ static void aspeed_ast2600_scu_reset(DeviceState *dev)
>
> memcpy(s->regs, asc->resets, asc->nr_regs * 4);
>
> - s->regs[AST2600_SILICON_REV] = s->silicon_rev;
> + /*
> + * A0 reports A0 in _REV, but subsequent revisions report A1 regardless
> + * of actual revision. QEMU and Linux only support A1 onwards so this is
> + * sufficient.
> + */
> + s->regs[AST2600_SILICON_REV] = AST2600_A1_SILICON_REV;
> s->regs[AST2600_SILICON_REV2] = s->silicon_rev;
> s->regs[AST2600_HW_STRAP1] = s->hw_strap1;
> s->regs[AST2600_HW_STRAP2] = s->hw_strap2;
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-09-16 9:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-16 8:20 [PATCH] misc: aspeed_scu: Update AST2600 silicon id register Joel Stanley
2020-09-16 9:36 ` Cédric Le Goater
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).