Hi, Wu Zhangjin <wuzhangjin@xxxxxxxxx> writes: > Loongson2F has built-in DDR2 and PCIX controller. The PCIX controller > have a similar programming interface with FPGA northbridge used in > Loongson2E. > > The main differences between loongson-2e and loongson-2f include: > > 1. loongson-2f has an extra address windows configuration module, which > can be 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 support 8 levels of software configurable cpu frequency, > which can be configured via a register(LOONGSON_CHIPCFG0). the coming > cpufreq and standby support are based on this feature. > > herein, the module and the corresponding operations are abstracted to > loongson.h. > > besides, the other loongson2f-specific source code are added here, > including gcc 4.4 support, pci memory space, pci io space, dma address. > > Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> > --- > arch/mips/Kconfig | 18 ++++ > arch/mips/Makefile | 2 + > .../mips/include/asm/mach-loongson/dma-coherence.h | 4 + > arch/mips/include/asm/mach-loongson/loongson.h | 84 +++++++++++++++++++- > arch/mips/include/asm/mach-loongson/mem.h | 25 ++++-- > arch/mips/include/asm/mach-loongson/pci.h | 28 ++++++- > arch/mips/loongson/common/bonito-irq.c | 5 + > arch/mips/loongson/common/init.c | 18 ++++ > arch/mips/loongson/common/mem.c | 17 ++++ > arch/mips/loongson/common/pci.c | 8 ++ > 10 files changed, 199 insertions(+), 10 deletions(-) > > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index ae9fa98..8417357 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -1059,6 +1059,21 @@ config CPU_LOONGSON2E > The Loongson 2E processor implements the MIPS III instruction set > with many extensions. > > + It has an internal FPGA northbridge, which is compatiable to > + bonito64. > + > +config CPU_LOONGSON2F > + bool "Loongson 2F" > + depends on SYS_HAS_CPU_LOONGSON2F > + select CPU_LOONGSON2 > + help > + The Loongson 2F processor implements the MIPS III instruction set > + with many extensions. > + > + Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller > + have a similar programming interface with FPGA northbridge used in > + Loongson2E. > + Small question : Why don't you restrict to 64bit kernels only ? From what I remember from some discussions with ST, trying to use a 32-bit kernel on 2f is a nice way to get troubles. It would be better imho to forbid such a configuration. As a side effect, this will remove all 'defined(CONFIG_64BIT)' parts of your #ifdef tests. Arnaud