ppc: Fix macio ESCC legacy mapping
The current mapping, while correct for the base ports (which is all the driver uses these days), is wrong for the extended registers. I suspect the bugs come from incorrect tables in the CHRP IO Ref document, I have verified the new values here match Apple's MacTech.pdf. Note: Nothing that I know of actually uses these registers so it's not a huge deal, but this patch has the added advantage of adding comments to document what the registers are. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
3654fa95bc
commit
dd2fa4f72d
|
@ -89,22 +89,16 @@ static void macio_escc_legacy_setup(MacIOState *macio_state)
|
||||||
MemoryRegion *bar = &macio_state->bar;
|
MemoryRegion *bar = &macio_state->bar;
|
||||||
int i;
|
int i;
|
||||||
static const int maps[] = {
|
static const int maps[] = {
|
||||||
0x00, 0x00,
|
0x00, 0x00, /* Command B */
|
||||||
0x02, 0x20,
|
0x02, 0x20, /* Command A */
|
||||||
0x04, 0x10,
|
0x04, 0x10, /* Data B */
|
||||||
0x06, 0x30,
|
0x06, 0x30, /* Data A */
|
||||||
0x08, 0x40,
|
0x08, 0x40, /* Enhancement B */
|
||||||
0x0A, 0x50,
|
0x0A, 0x50, /* Enhancement A */
|
||||||
0x60, 0x60,
|
0x80, 0x80, /* Recovery count */
|
||||||
0x70, 0x70,
|
0x90, 0x90, /* Start A */
|
||||||
0x80, 0x70,
|
0xa0, 0xa0, /* Start B */
|
||||||
0x90, 0x80,
|
0xb0, 0xb0, /* Detect AB */
|
||||||
0xA0, 0x90,
|
|
||||||
0xB0, 0xA0,
|
|
||||||
0xC0, 0xB0,
|
|
||||||
0xD0, 0xC0,
|
|
||||||
0xE0, 0xD0,
|
|
||||||
0xF0, 0xE0,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
memory_region_init(escc_legacy, OBJECT(macio_state), "escc-legacy", 256);
|
memory_region_init(escc_legacy, OBJECT(macio_state), "escc-legacy", 256);
|
||||||
|
|
Loading…
Reference in a new issue