Wu Zhangjin <email@example.com> writes:
> Loongson2F has built-in DDR2 and PCIX controller. The PCIX controller
> have a similar programming interface with FPGA northbridge used in
> 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
> 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 <firstname.lastname@example.org>
> 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.