MIPS: Loongson: Add oprofile support
[kernel.git] / arch / mips / include / asm / mach-lemote / loongson.h
1 /*
2  * Copyright (C) 2009 Lemote, Inc. & Institute of Computing Technology
3  * Author: Wu Zhangjin <wuzj@lemote.com>
4  *
5  * This program is free software; you can redistribute  it and/or modify it
6  * under  the terms of  the GNU General  Public License as published by the
7  * Free Software Foundation;  either version 2 of the  License, or (at your
8  * option) any later version.
9  *
10  */
11
12 #ifndef __ASM_MACH_LOONGSON_LOONGSON_H
13 #define __ASM_MACH_LOONGSON_LOONGSON_H
14
15 #include <linux/io.h>
16 #include <linux/init.h>
17
18 /* there is an internal bonito64-compatiable northbridge in loongson2e/2f */
19 #include <asm/mips-boards/bonito64.h>
20
21 /* loongson internal northbridge initialization */
22 extern void bonito_irq_init(void);
23
24 /* loongson-based machines specific reboot setup */
25 extern void mips_reboot_setup(void);
26
27 /* environment arguments from bootloader */
28 extern unsigned long bus_clock, cpu_clock_freq;
29 extern unsigned long memsize, highmemsize;
30
31 /* loongson-specific command line, env and memory initialization */
32 extern void __init prom_init_memory(void);
33 extern void __init prom_init_cmdline(void);
34 extern void __init prom_init_env(void);
35
36 /* PCI Configuration Registers */
37 #define LOONGSON_PCI_ISR4C  BONITO_PCI_REG(0x4c)
38
39 /* PCI_Hit*_Sel_* */
40
41 #define LOONGSON_PCI_HIT0_SEL_L     BONITO(BONITO_REGBASE + 0x50)
42 #define LOONGSON_PCI_HIT0_SEL_H     BONITO(BONITO_REGBASE + 0x54)
43 #define LOONGSON_PCI_HIT1_SEL_L     BONITO(BONITO_REGBASE + 0x58)
44 #define LOONGSON_PCI_HIT1_SEL_H     BONITO(BONITO_REGBASE + 0x5c)
45 #define LOONGSON_PCI_HIT2_SEL_L     BONITO(BONITO_REGBASE + 0x60)
46 #define LOONGSON_PCI_HIT2_SEL_H     BONITO(BONITO_REGBASE + 0x64)
47
48 /* PXArb Config & Status */
49
50 #define LOONGSON_PXARB_CFG      BONITO(BONITO_REGBASE + 0x68)
51 #define LOONGSON_PXARB_STATUS       BONITO(BONITO_REGBASE + 0x6c)
52
53 /* loongson2-specific perf counter IRQ */
54 #define LOONGSON2_PERFCNT_IRQ   (MIPS_CPU_IRQ_BASE + 6)
55
56 #endif /* __ASM_MACH_LOONGSON_LOONGSON_H */