Commit 33f0b147 authored by Dave Jiang's avatar Dave Jiang Committed by Russell King

[ARM PATCH] 2117/1: Fix ATU config on IQ80331 to prevent master aborts, replace 2099/1

Patch from Dave Jiang

Latest IQ80331 redboot changed value of ATU registers and is causing master aborts on the plugged in card. Changing value back to previous sane state for Linux.

Signed-off-by: Dave Jiang (dave.jiang@gmail.com)

Patch in replacement of 2099/1 due to formatting problems.
parent c2b0a300
...@@ -208,12 +208,10 @@ void iop331_init(void) ...@@ -208,12 +208,10 @@ void iop331_init(void)
DBG("\tATU: IOP331_IABAR2=0x%08x IOP331_IALR2=0x%08x IOP331_IATVR2=%08x\n", *IOP331_IABAR2, *IOP331_IALR2, *IOP331_IATVR2); DBG("\tATU: IOP331_IABAR2=0x%08x IOP331_IALR2=0x%08x IOP331_IATVR2=%08x\n", *IOP331_IABAR2, *IOP331_IALR2, *IOP331_IATVR2);
DBG("\tATU: IOP331_IABAR3=0x%08x IOP331_IALR3=0x%08x IOP331_IATVR3=%08x\n", *IOP331_IABAR3, *IOP331_IALR3, *IOP331_IATVR3); DBG("\tATU: IOP331_IABAR3=0x%08x IOP331_IALR3=0x%08x IOP331_IATVR3=%08x\n", *IOP331_IABAR3, *IOP331_IALR3, *IOP331_IATVR3);
#if 0 /* redboot changed, reset IABAR0 to something sane */
hook_fault_code(4, iop331_pci_abort, SIGBUS, "external abort on linefetch"); /* fixes master aborts in plugged in cards */
hook_fault_code(6, iop331_pci_abort, SIGBUS, "external abort on linefetch"); /* will clean up later and work nicely with redboot */
hook_fault_code(8, iop331_pci_abort, SIGBUS, "external abort on non-linefetch"); *IOP331_IABAR0 = 0x00000004;
hook_fault_code(10, iop331_pci_abort, SIGBUS, "external abort on non-linefetch");
#endif
hook_fault_code(16+6, iop331_pci_abort, SIGBUS, "imprecise external abort"); hook_fault_code(16+6, iop331_pci_abort, SIGBUS, "imprecise external abort");
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment