qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hw/sd/sdhci: Set reset value of interrupt registers
@ 2025-01-15 19:04 BALATON Zoltan
  2025-01-30 12:46 ` BALATON Zoltan
  2025-02-06 10:00 ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 8+ messages in thread
From: BALATON Zoltan @ 2025-01-15 19:04 UTC (permalink / raw)
  To: qemu-devel, qemu-block; +Cc: Bernhard Beschow, philmd

The interrupt enable registers are not reset to 0 but some bits are
enabled on reset. At least some U-Boot versions seem to expect this
and not initialise these registers before expecting interrupts. The
numbers in this patch match what QorIQ P1022 has on reset and fix
U-Boot for this SoC and should not break other drivers that initialise
(and thus overwrite) these reset values.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
I've also noticed that the work around marked with an XXX comment near
line 600 breaks the U-Boot I've tested so I need to disable it:
if ((s->sdmasysad % boundary_chk) == 0) {
-        page_aligned = true;
+//        page_aligned = true;
}
What should this hack fix and could it be now removed or somehow
restricted to cases where it's needed?

hw/sd/sdhci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 58375483e3..88eb0bfcb2 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -303,6 +303,8 @@ static void sdhci_reset(SDHCIState *s)
     s->data_count = 0;
     s->stopped_state = sdhc_not_stopped;
     s->pending_insert_state = false;
+    s->norintstsen = 0x013f;
+    s->errintstsen = 0x117f;
 }
 
 static void sdhci_poweron_reset(DeviceState *dev)
-- 
2.30.9



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-02-09 12:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-15 19:04 [PATCH] hw/sd/sdhci: Set reset value of interrupt registers BALATON Zoltan
2025-01-30 12:46 ` BALATON Zoltan
2025-02-06 10:00 ` Philippe Mathieu-Daudé
2025-02-06 12:49   ` BALATON Zoltan
2025-02-06 13:20     ` Philippe Mathieu-Daudé
2025-02-06 13:49       ` BALATON Zoltan
2025-02-06 15:05         ` Philippe Mathieu-Daudé
2025-02-09 12:10         ` Bernhard Beschow

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).