mvebu_gpio: fix interrupt cause register configuration
According to Armada 8k documentation, the interrupt cause register (at offset 0x14) is RW0C. Update the configuration in attach and the mvebu_gpio_isrc_eoi() to follow the description. Reviewed by: mmel Obtained from: Semihalf Sponsored by: Marvell Differential Revision: https://reviews.freebsd.org/D29013
This commit is contained in:
parent
0cc746f193
commit
819760b35f
@ -333,7 +333,7 @@ mvebu_gpio_isrc_eoi(struct mvebu_gpio_softc *sc,
|
|||||||
{
|
{
|
||||||
|
|
||||||
if (!mgi->is_level)
|
if (!mgi->is_level)
|
||||||
intr_modify(sc, GPIO_INT_CAUSE, mgi, 1, 1);
|
intr_modify(sc, GPIO_INT_CAUSE, mgi, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -778,7 +778,7 @@ mvebu_gpio_attach(device_t dev)
|
|||||||
/* Init HW */
|
/* Init HW */
|
||||||
gpio_write(sc, GPIO_INT_MASK, pin, 0);
|
gpio_write(sc, GPIO_INT_MASK, pin, 0);
|
||||||
gpio_write(sc, GPIO_INT_LEVEL_MASK, pin, 0);
|
gpio_write(sc, GPIO_INT_LEVEL_MASK, pin, 0);
|
||||||
gpio_write(sc, GPIO_INT_CAUSE, pin, 1);
|
gpio_write(sc, GPIO_INT_CAUSE, pin, 0);
|
||||||
gpio_write(sc, GPIO_DATA_IN_POL, pin, 1);
|
gpio_write(sc, GPIO_DATA_IN_POL, pin, 1);
|
||||||
gpio_write(sc, GPIO_BLINK_ENA, pin, 0);
|
gpio_write(sc, GPIO_BLINK_ENA, pin, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user