summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-12-02 08:44:28 -0500
committerTom Rini <trini@ti.com>2013-12-02 08:44:28 -0500
commit19210ae9838a867ce0243c41eafe928317c15b10 (patch)
treeba804ff91483eb762f7138d163bef14385ae3b9e /board
parente40acc0a59319f9f3f0aba6ef10abd2dbf096ae1 (diff)
parent67d4752d1dae768c7ff381272880d4aceeb62085 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-mips
Diffstat (limited to 'board')
-rw-r--r--board/imgtec/malta/malta.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c
index a1a4c01866..d363e49919 100644
--- a/board/imgtec/malta/malta.c
+++ b/board/imgtec/malta/malta.c
@@ -171,6 +171,8 @@ struct serial_device *default_serial_console(void)
void pci_init_board(void)
{
pci_dev_t bdf;
+ u32 val32;
+ u8 val8;
switch (malta_sys_con()) {
case SYSCON_GT64120:
@@ -205,4 +207,14 @@ void pci_init_board(void)
pci_write_config_byte(bdf, PCI_CFG_PIIX4_PIRQRCB, 10);
pci_write_config_byte(bdf, PCI_CFG_PIIX4_PIRQRCC, 11);
pci_write_config_byte(bdf, PCI_CFG_PIIX4_PIRQRCD, 11);
+
+ /* mux SERIRQ onto SERIRQ pin */
+ pci_read_config_dword(bdf, PCI_CFG_PIIX4_GENCFG, &val32);
+ val32 |= PCI_CFG_PIIX4_GENCFG_SERIRQ;
+ pci_write_config_dword(bdf, PCI_CFG_PIIX4_GENCFG, val32);
+
+ /* enable SERIRQ - Linux currently depends upon this */
+ pci_read_config_byte(bdf, PCI_CFG_PIIX4_SERIRQC, &val8);
+ val8 |= PCI_CFG_PIIX4_SERIRQC_EN | PCI_CFG_PIIX4_SERIRQC_CONT;
+ pci_write_config_byte(bdf, PCI_CFG_PIIX4_SERIRQC, val8);
}