6f7a251a25
Loongson 2F has built-in DDR2 and PCI-X controller. The PCI-X controller has a programming interface similiar to the the FPGA northbridge used on Loongson 2E. The main differences between Loongson 2E and Loongson 2F include: 1. Loongson 2F has an extra address window configuration module, which is used to map CPU address space to DDR or PCI address space, or map the PCI-DMA address space to DDR or LIO address space. 2. Loongson 2F supports 8 levels of software configurable CPu frequency which can be configured in the LOONGSON_CHIPCFG0 register. The coming cpufreq and standby support are based on this feature. Loongson.h abstracts the modules and corresponding methods are abstracted. Add other Loongson-2F-specific source code including gcc 4.4 support, PCI memory space, PCI IO space, DMA address. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Cc: linux-mips@linux-mips.org Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
42 lines
1.0 KiB
C
42 lines
1.0 KiB
C
/*
|
|
* Copyright (C) 2009 Lemote, Inc.
|
|
* 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_MEM_H
|
|
#define __ASM_MACH_LOONGSON_MEM_H
|
|
|
|
/*
|
|
* high memory space
|
|
*
|
|
* in loongson2e, starts from 512M
|
|
* in loongson2f, starts from 2G 256M
|
|
*/
|
|
#ifdef CONFIG_CPU_LOONGSON2E
|
|
#define LOONGSON_HIGHMEM_START 0x20000000
|
|
#else
|
|
#define LOONGSON_HIGHMEM_START 0x90000000
|
|
#endif
|
|
|
|
/*
|
|
* the peripheral registers(MMIO):
|
|
*
|
|
* On the Lemote Loongson 2e system, reside between 0x1000:0000 and 0x2000:0000.
|
|
* On the Lemote Loongson 2f system, reside between 0x1000:0000 and 0x8000:0000.
|
|
*/
|
|
|
|
#define LOONGSON_MMIO_MEM_START 0x10000000
|
|
|
|
#ifdef CONFIG_CPU_LOONGSON2E
|
|
#define LOONGSON_MMIO_MEM_END 0x20000000
|
|
#else
|
|
#define LOONGSON_MMIO_MEM_END 0x80000000
|
|
#endif
|
|
|
|
#endif /* __ASM_MACH_LOONGSON_MEM_H */
|