roda/rk886ex: Correct COMB irq reading / reduce warnings

The calculation of COMB's irq reading was wrong by the 4-bit shift.
Also, the asl compiler warned about the splitting in lo/hi bytes which
seems unnecessary.

Change-Id: Ia5101d5a19f68c2da827d7e37a18922f959604c7
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1923
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Nico Huber 2012-09-07 10:40:36 +02:00 committed by Patrick Georgi
parent f5e0fd888d
commit e3abd3bfbb
1 changed files with 22 additions and 33 deletions

View File

@ -130,28 +130,23 @@ Device (SIO1)
Return(NONE) Return(NONE)
} }
CreateByteField(RSRC, CreateWordField(RSRC,
\_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MIN, IOLO) \_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MIN, IOMN)
CreateByteField(RSRC, 0x03, IOHI) // Why? CreateWordField(RSRC,
CreateByteField(RSRC, \_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MAX, IOMX)
\_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MAX, IORL) CreateWordField(RSRC,
CreateByteField(RSRC, 0x05, IORH) // Why? \_SB.PCI0.LPCB.SIO1.COMA._CRS._IRA._INT, IRQ)
CreateByteField(RSRC,
\_SB.PCI0.LPCB.SIO1.COMA._CRS._IRA._INT, IRQL)
Store (READ(0, 0x24, 0xff), Local0) /* I/O Base */
And (Local0, 0xc0, Local1) Store (READ(0, 0x24, 0xfe), Local0)
ShiftRight(Local1, 0x06, Local1)
ShiftLeft(Local0, 0x02, Local0) ShiftLeft(Local0, 0x02, Local0)
Store(Local0, IOLO) Store(Local0, IOMN)
Store(Local1, IOHI) Store(Local0, IOMX)
Store(IOLO, IORL)
Store(IOHI, IORH)
/* Interrupt */ /* Interrupt */
Store(READ(0, 0x28, 0xf0), Local0) Store(READ(0, 0x28, 0xf0), Local0)
ShiftRight(Local0, 4, Local0) ShiftRight(Local0, 4, Local0)
ShiftLeft(1, Local0, IRQL) ShiftLeft(1, Local0, IRQ)
Return(RSRC) Return(RSRC)
} }
@ -289,28 +284,22 @@ Device (SIO1)
Return(NONE) Return(NONE)
} }
CreateByteField(RSRC, CreateWordField(RSRC,
\_SB.PCI0.LPCB.SIO1.COMB._CRS._IOB._MIN, IOLO) \_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MIN, IOMN)
CreateByteField(RSRC, 0x03, IOHI) CreateWordField(RSRC,
CreateByteField(RSRC, \_SB.PCI0.LPCB.SIO1.COMA._CRS._IOA._MAX, IOMX)
\_SB.PCI0.LPCB.SIO1.COMB._CRS._IOB._MAX, IORL) CreateWordField(RSRC,
CreateByteField(RSRC, 0x05, IORH) \_SB.PCI0.LPCB.SIO1.COMA._CRS._IRA._INT, IRQ)
CreateByteField(RSRC,
\_SB.PCI0.LPCB.SIO1.COMB._CRS._IRB._INT, IRQL)
Store (READ(0, 0x25, 0xff), Local0) /* I/O Base */
And (Local0, 0xc0, Local1) Store (READ(0, 0x25, 0xfe), Local0)
ShiftRight(Local1, 0x06, Local1)
ShiftLeft(Local0, 0x02, Local0) ShiftLeft(Local0, 0x02, Local0)
Store(Local0, IOLO) Store(Local0, IOMN)
Store(Local1, IOHI) Store(Local0, IOMX)
Store(IOLO, IORL)
Store(IOHI, IORH)
/* Interrupt */ /* Interrupt */
Store(READ(0, 0x28, 0x0f), Local0) Store(READ(0, 0x28, 0x0f), Local0)
ShiftRight(Local0, 4, Local0) ShiftLeft(1, Local0, IRQ)
ShiftLeft(1, Local0, IRQL)
Return(RSRC) Return(RSRC)
} }