MIPS: XLR, XLS: Add PCI support.
Adds pci/pci-xlr.c to support for XLR PCI/PCI-X interface and XLS PCIe interface. Update irq.c to ack PCI interrupts, use irq handler data to do the PCI/PCIe bus ack. Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2337/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
committed by
Ralf Baechle
parent
f9cab74fd9
commit
9b130f8004
@@ -41,6 +41,7 @@ unsigned int nlm_xlr_uart_in(struct uart_port *, int);
|
||||
void nlm_xlr_uart_out(struct uart_port *, int, int);
|
||||
|
||||
/* SMP support functions */
|
||||
struct irq_desc;
|
||||
void nlm_smp_function_ipi_handler(unsigned int irq, struct irq_desc *desc);
|
||||
void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc);
|
||||
int nlm_wakeup_secondary_cpus(u32 wakeup_mask);
|
||||
@@ -51,4 +52,24 @@ void prom_pre_boot_secondary_cpus(void);
|
||||
extern struct plat_smp_ops nlm_smp_ops;
|
||||
extern unsigned long nlm_common_ebase;
|
||||
|
||||
/* XLS B silicon "Rook" */
|
||||
static inline unsigned int nlm_chip_is_xls_b(void)
|
||||
{
|
||||
uint32_t prid = read_c0_prid();
|
||||
|
||||
return ((prid & 0xf000) == 0x4000);
|
||||
}
|
||||
|
||||
/*
|
||||
* XLR chip types
|
||||
*/
|
||||
/* The XLS product line has chip versions 0x[48c]? */
|
||||
static inline unsigned int nlm_chip_is_xls(void)
|
||||
{
|
||||
uint32_t prid = read_c0_prid();
|
||||
|
||||
return ((prid & 0xf000) == 0x8000 || (prid & 0xf000) == 0x4000 ||
|
||||
(prid & 0xf000) == 0xc000);
|
||||
}
|
||||
|
||||
#endif /* _ASM_NLM_XLR_H */
|
||||
|
Reference in New Issue
Block a user