Hello.
Steven Scholz wrote:
Sergei,
The FPGA does nothing except decoding adresseses from the ARM cpu,
controlling the A[2..0], CS[1..0], IOR, IOW lines of the HDD.
I've not seen you quoting the code that sets ofsset for the
IDE_CONTROL_REG, BTW... Without this register, LBA48 is completely broken
for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
hw.io_ports[i] = ide_virt_base + (i << 1);
}
hw.io_ports[IDE_CONTROL_OFFSET] = ide_virt_base + 0x10;
Thus it has an offset 0x10 from the base address.
ide0 at 0xc3856000-0xc3856007,0xc3856010 on irq 27
But I just noticed that A[2..0] should look like "110" when accessing the
"Device Control Register". Thus the offset should be 0x16 instead! Right?
If your FPGA passes A[2..0] untouched to the IDE bus, it's certainly
wrong. It must pass 110.
--
Steven
MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html