[PATCH 0/6] Add basic support for Loongson 7A1000 bridge chip

From: Tiezhu Yang
Date: Mon Mar 09 2020 - 04:23:51 EST


The Loongson 7A1000 bridge chip has been released for several years
since the second half of 2017, but it is not supported by the Linux
mainline kernel while it only works well with the Loongson internal
kernel version. When I update the latest version of Linux mainline
kernel on the Loongson 3A3000 CPU and 7A1000 bridge chip system,
the boot process failed and I feel depressed.

The 7A1000 bridge chip is used a lot with 3A3000 or 3A4000 CPU in
the most Loongson desktop and sever products, it is important to
support Loongson 7A1000 bridge chip by the Linux mainline kernel.

This patch series adds the basic support for the Loongson 7A1000
bridge chip, when apply these patches based on linux-5.6-rc5, the
boot process is successful and we can login normally used with the
latest firmware and discrete graphics card, the next work to do is
power management and some other controller device drivers.

Additionally, when I git clone mips code [1], the speed is too slow
and clone always failed, so this patch series is based on the latest
linux-5.6-rc5 [2].

If you have any questions and suggestions, please let me know.

Thanks,

Tiezhu Yang

[1] git clone https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
[2] git clone https://github.com/torvalds/linux.git

Tiezhu Yang (6):
PCI: Add Loongson vendor ID and 7A1000 device IDs
AHCI: Add support for Loongson 7A1000 SATA controller
MIPS: Loongson: Use firmware arguments to get board name
MIPS: Loongson: Add DMA support for 7A1000
MIPS: Loongson: Add PCI support for 7A1000
MIPS: Loongson: Add support for 7A1000 interrupt controller

arch/mips/include/asm/mach-loongson64/boot_param.h | 2 +
arch/mips/include/asm/mach-loongson64/ioaicu.h | 166 +++++++++++
arch/mips/include/asm/mach-loongson64/irq.h | 2 +
arch/mips/include/asm/mach-loongson64/pci.h | 1 +
arch/mips/loongson64/Makefile | 2 +-
arch/mips/loongson64/dma.c | 49 +++-
arch/mips/loongson64/env.c | 5 +
arch/mips/loongson64/init.c | 13 +
arch/mips/loongson64/ioaicu.c | 305 +++++++++++++++++++++
arch/mips/loongson64/irq.c | 20 +-
arch/mips/loongson64/pci.c | 12 +-
arch/mips/loongson64/smp.c | 11 +-
arch/mips/pci/Makefile | 2 +-
arch/mips/pci/ops-loongson3-ls7a.c | 132 +++++++++
drivers/ata/ahci.c | 8 +
include/linux/pci_ids.h | 18 ++
16 files changed, 733 insertions(+), 15 deletions(-)
create mode 100644 arch/mips/include/asm/mach-loongson64/ioaicu.h
create mode 100644 arch/mips/loongson64/ioaicu.c
create mode 100644 arch/mips/pci/ops-loongson3-ls7a.c

--
2.1.0