[PATCH 0/2] Fix MIPS/Malta target and its IDE work

Daniel Schwierzeck
2021-02-22T18:23:26Z

Am Montag, den 22.02.2021, 18:05 +0100 schrieb Reinoud Zandijk:
> Patch 0001 re-enables FDT inclusion into the u-boot binary to make
> them boot
> again. The code might not have adjusted well enough in the past to
> handle the
> separate one.

what exactly is the issue? Do you see it just on real hardware?

Booting all Malta variants in Qemu is contained in official U-Boot CI
and showed no boot failures until now. Unfortuneately I don't have
Malta hardware myself for testing.

Also CONFIG_OF_EMBED is just a debug option and should be avoided for
production builds. So if there is a real problem, I would prefer to
rather fix that instead of enabling CONFIG_OF_EMBED.

>
> Patch 0002 fixes IDE issues found on the Malta board:
>
> 1) DMA implied commands were sent to the controller in stead of the
> PIO
> variants. The rest of the code is DMA free and written for PIO
> operation.
>
> 2) direct pointer access was used to read and write the registers
> instead of
> the inb/inw/outb/outw functions/macros. Registers don't have to be
> memory
> mapped and ATA_CURR_BASE() does not have to return an offset from
> address
> zero.
>
> 3) Endian isues in ide_ident() and reading/writing data in general.
> Names were
> corrupted and sizes misreported.
>
> With the fixes, malta_defconfig and maltael_defconfig work again in
> Qemu.
>
> Reinoud Zandijk (2):
> Re-embed the FDTs for the Malta targets.
> Fix IDE commands issued, fix endian issues, fix non MMIO
>
> configs/malta64_defconfig | 1 +
> configs/malta64el_defconfig | 1 +
> configs/malta_defconfig | 1 +
> configs/maltael_defconfig | 1 +
> drivers/block/ide.c | 143 ++++++++++----------------------
> ----
> include/ata.h | 3 +-
> 6 files changed, 46 insertions(+), 104 deletions(-)
>
> Signed-off-by: Reinoud Zandijk <reinoud@NetBSD.org>
>
--
- Daniel