65 lines
2.2 KiB
C
65 lines
2.2 KiB
C
/*
|
|
* Copyright (C) 2009 Lemote, Inc. & Institute of Computing Technology
|
|
* Author: Wu Zhangjin <wuzj@lemote.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
* option) any later version.
|
|
*
|
|
*/
|
|
|
|
#ifndef __ASM_MACH_LOONGSON_LOONGSON_H
|
|
#define __ASM_MACH_LOONGSON_LOONGSON_H
|
|
|
|
#include <linux/io.h>
|
|
#include <linux/init.h>
|
|
|
|
/* there is an internal bonito64-compatiable northbridge in loongson2e/2f */
|
|
#include <asm/mips-boards/bonito64.h>
|
|
|
|
/* loongson internal northbridge initialization */
|
|
extern void bonito_irq_init(void);
|
|
|
|
/* machine-specific reboot/halt operation */
|
|
extern void mach_prepare_reboot(void);
|
|
extern void mach_prepare_shutdown(void);
|
|
|
|
/* environment arguments from bootloader */
|
|
extern unsigned long bus_clock, cpu_clock_freq;
|
|
extern unsigned long memsize, highmemsize;
|
|
|
|
/* loongson-specific command line, env and memory initialization */
|
|
extern void __init prom_init_memory(void);
|
|
extern void __init prom_init_cmdline(void);
|
|
extern void __init prom_init_env(void);
|
|
|
|
/* irq operation functions */
|
|
extern void bonito_irqdispatch(void);
|
|
extern void __init bonito_irq_init(void);
|
|
extern void __init set_irq_trigger_mode(void);
|
|
extern void __init mach_init_irq(void);
|
|
extern void mach_irq_dispatch(unsigned int pending);
|
|
|
|
/* PCI Configuration Registers */
|
|
#define LOONGSON_PCI_ISR4C BONITO_PCI_REG(0x4c)
|
|
|
|
/* PCI_Hit*_Sel_* */
|
|
|
|
#define LOONGSON_PCI_HIT0_SEL_L BONITO(BONITO_REGBASE + 0x50)
|
|
#define LOONGSON_PCI_HIT0_SEL_H BONITO(BONITO_REGBASE + 0x54)
|
|
#define LOONGSON_PCI_HIT1_SEL_L BONITO(BONITO_REGBASE + 0x58)
|
|
#define LOONGSON_PCI_HIT1_SEL_H BONITO(BONITO_REGBASE + 0x5c)
|
|
#define LOONGSON_PCI_HIT2_SEL_L BONITO(BONITO_REGBASE + 0x60)
|
|
#define LOONGSON_PCI_HIT2_SEL_H BONITO(BONITO_REGBASE + 0x64)
|
|
|
|
/* PXArb Config & Status */
|
|
|
|
#define LOONGSON_PXARB_CFG BONITO(BONITO_REGBASE + 0x68)
|
|
#define LOONGSON_PXARB_STATUS BONITO(BONITO_REGBASE + 0x6c)
|
|
|
|
/* loongson2-specific perf counter IRQ */
|
|
#define LOONGSON2_PERFCNT_IRQ (MIPS_CPU_IRQ_BASE + 6)
|
|
|
|
#endif /* __ASM_MACH_LOONGSON_LOONGSON_H */
|