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

Reinoud Zandijk
2021-02-22T17:05:10Z

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.

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>

--
2.29.2