MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA

Handle the IRQ multiplexer in the FPGA by implementing a cascade interrupt
driver for it.

Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
David Howells
2010-10-27 17:28:58 +01:00
parent 730c1fad0e
commit 6044cf1d94
7 changed files with 165 additions and 18 deletions

View File

@@ -14,17 +14,19 @@
#define ASB2364_FPGA_REG_RESET_USB __SYSREG(0xa900130c, u16)
#define ASB2364_FPGA_REG_RESET_AV __SYSREG(0xa9001310, u16)
#define ASB2364_FPGA_REG_IRQ_LAN __SYSREG(0xa9001510, u16)
#define ASB2364_FPGA_REG_IRQ_UART __SYSREG(0xa9001514, u16)
#define ASB2364_FPGA_REG_IRQ_I2C __SYSREG(0xa9001518, u16)
#define ASB2364_FPGA_REG_IRQ_USB __SYSREG(0xa900151c, u16)
#define ASB2364_FPGA_REG_IRQ_FPGA __SYSREG(0xa9001524, u16)
#define ASB2364_FPGA_REG_IRQ(X) __SYSREG(0xa9001590+((X)*4), u16)
#define ASB2364_FPGA_REG_IRQ_LAN ASB2364_FPGA_REG_IRQ(0)
#define ASB2364_FPGA_REG_IRQ_UART ASB2364_FPGA_REG_IRQ(1)
#define ASB2364_FPGA_REG_IRQ_I2C ASB2364_FPGA_REG_IRQ(2)
#define ASB2364_FPGA_REG_IRQ_USB ASB2364_FPGA_REG_IRQ(3)
#define ASB2364_FPGA_REG_IRQ_FPGA ASB2364_FPGA_REG_IRQ(5)
#define ASB2364_FPGA_REG_MASK_LAN __SYSREG(0xa9001590, u16)
#define ASB2364_FPGA_REG_MASK_UART __SYSREG(0xa9001594, u16)
#define ASB2364_FPGA_REG_MASK_I2C __SYSREG(0xa9001598, u16)
#define ASB2364_FPGA_REG_MASK_USB __SYSREG(0xa900159c, u16)
#define ASB2364_FPGA_REG_MASK_FPGA __SYSREG(0xa90015a4, u16)
#define ASB2364_FPGA_REG_MASK(X) __SYSREG(0xa9001590+((X)*4), u16)
#define ASB2364_FPGA_REG_MASK_LAN ASB2364_FPGA_REG_MASK(0)
#define ASB2364_FPGA_REG_MASK_UART ASB2364_FPGA_REG_MASK(1)
#define ASB2364_FPGA_REG_MASK_I2C ASB2364_FPGA_REG_MASK(2)
#define ASB2364_FPGA_REG_MASK_USB ASB2364_FPGA_REG_MASK(3)
#define ASB2364_FPGA_REG_MASK_FPGA ASB2364_FPGA_REG_MASK(5)
#define ASB2364_FPGA_REG_CPLD5_SET1 __SYSREG(0xa9002500, u16)
#define ASB2364_FPGA_REG_CPLD5_SET2 __SYSREG(0xa9002504, u16)