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 */
 |