The Loongson 1A is similar with Loongson 1B, which is a 32-bit SoC. It implements the MIPS32 release 2 instruction set. They share the same PRID, so we rewrite the PRID_REV_LOONGSON1B to PRID_REV_LOONGSON1A_1B, and use their CPU macros to distinguish. However, Loongson 1A has a bug that the pll register can't be read, so we set the cpu clk in the inline command line. The command line format is cpu_clk=osc_clk,cpu_mul, the osc_clk standby cpu clock and the cpu_mul repect the clock multiplier. For example, we use the command is cpu_clk=33333333,8 Binbin Zhou(8): MIPS: Loongson: Add basic Loongson-1A CPU support MIPS: Loongson: Add Loongson-1A Kconfig options MIPS: Loongson: Add platform devices for Loongson-1A/1B MIPS: Loongson: Add loongson-1A board support MIPS: Loongson-1A: Workaround for pll register can't be read MIPS: Loongson-1A: Add IRQ type setting support MIPS: Loongson-1A: Enable SPARSEMEN and HIGHMEM MIPS: Loongson: Add a Loongson-1A default config file Signed-off-by: Chunbo Cui <cuicb@xxxxxxxxxx> Signed-off-by: Binbin Zhou <zhoubb@xxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> -- arch/mips/Kconfig | 11 +++++ arch/mips/configs/ls1a_defconfig | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/mips/include/asm/cpu-type.h | 3 +- arch/mips/include/asm/cpu.h | 2 +- arch/mips/include/asm/mach-loongson1/irq.h | 1 + arch/mips/include/asm/mach-loongson1/loongson1.h | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ arch/mips/include/asm/mach-loongson1/platform.h | 11 +++++ arch/mips/include/asm/sparsemem.h | 6 ++- arch/mips/kernel/cpu-probe.c | 6 ++- arch/mips/loongson1/Kconfig | 21 ++++++++++ arch/mips/loongson1/Makefile | 1 + arch/mips/loongson1/Platform | 1 + arch/mips/loongson1/common/irq.c | 46 ++++++++++++++++++++ arch/mips/loongson1/common/platform.c | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- arch/mips/loongson1/common/reset.c | 6 +++ arch/mips/loongson1/common/setup.c | 45 +++++++++++++++++++- arch/mips/loongson1/common/time.c | 11 +++++ arch/mips/loongson1/ls1a/Makefile | 5 +++ arch/mips/loongson1/ls1a/board.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++ arch/mips/mm/c-r4k.c | 7 ++++ drivers/clk/clk-ls1x.c | 19 +++++++-- 21 files changed, 881 insertions(+), 39 deletions(-) create mode 100644 arch/mips/configs/ls1a_defconfig create mode 100644 arch/mips/loongson1/ls1a/Makefile create mode 100644 arch/mips/loongson1/ls1a/board.c -- 1.9.0