A few Cleanups for fuloong2e
cover A few Cleanups for fuloong2e
This patchset cleans up the fuloong2e support and do some necessary preparation for the coming loongson2f family machines' support.
Wu Zhangjin (7):
[loongson] fuloong2e: Cleanup the Kconfig [loongson] mem.c: Register reserved memory pages [loongson] early_printk: fix the variable type of uart_base [loongosn] add a new serial port debug function [loongson] add serial port support
[loongson] remove reference from bonito64 [loongson] fuloong2e: update config file
arch/mips/configs/fuloong2e_defconfig | 93 ++++++++---- arch/mips/include/asm/mach-loongson/dbg.h | 17 +++ arch/mips/include/asm/mach-loongson/loongson.h | 182 ++++++++++++++++++++++-- arch/mips/include/asm/mach-loongson/machine.h | 2 +- arch/mips/include/asm/mach-loongson/pci.h | 6 +- arch/mips/include/asm/mips-boards/bonito64.h | 5 - arch/mips/loongson/Kconfig | 52 ++++---- arch/mips/loongson/common/Makefile | 7 +- arch/mips/loongson/common/bonito-irq.c | 8 +- arch/mips/loongson/common/dbg.c | 34 +++++ arch/mips/loongson/common/early_printk.c | 10 +- arch/mips/loongson/common/init.c | 2 +- arch/mips/loongson/common/irq.c | 12 +- arch/mips/loongson/common/mem.c | 8 + arch/mips/loongson/common/pci.c | 12 +- arch/mips/loongson/common/reset.c | 2 +- arch/mips/loongson/common/serial.c | 71 +++++++++ arch/mips/loongson/fuloong-2e/irq.c | 4 +- arch/mips/loongson/fuloong-2e/reset.c | 4 +- arch/mips/pci/Makefile | 2 +- arch/mips/pci/fixup-fuloong2e.c | 5 +- arch/mips/pci/ops-bonito64.c | 7 - arch/mips/pci/ops-fuloong2e.c | 160 +++++++++++++++++++++ 23 files changed, 586 insertions(+), 119 deletions(-) create mode 100644 arch/mips/include/asm/mach-loongson/dbg.h create mode 100644 arch/mips/loongson/common/dbg.c create mode 100644 arch/mips/loongson/common/serial.c create mode 100644 arch/mips/pci/ops-fuloong2e.c
PATCH 1/7 fuloong2e: Cleanup the Kconfig
This patch replace the indention from whitespace to tab in arch/mips/loongson/Kconfig.
--- arch/mips/loongson/Kconfig | 52 ++++++++++++++++++++++---------------------- 1 files changed, 26 insertions(+), 26 deletions(-)
arch/mips/loongson/Kconfig +26 -26
@@ -1,31 +1,31 @@ choice - prompt "Machine Type" - depends on MACH_LOONGSON + prompt "Machine Type" + depends on MACH_LOONGSON config LEMOTE_FULOONG2E - bool "Lemote Fuloong(2e) mini-PC" - select ARCH_SPARSEMEM_ENABLE - select CEVT_R4K - select CSRC_R4K - select SYS_HAS_CPU_LOONGSON2E - select DMA_NONCOHERENT - select BOOT_ELF32 - select BOARD_SCACHE - select HW_HAS_PCI - select I8259 - select ISA - select IRQ_CPU - select SYS_SUPPORTS_32BIT_KERNEL - select SYS_SUPPORTS_64BIT_KERNEL - select SYS_SUPPORTS_LITTLE_ENDIAN - select SYS_SUPPORTS_HIGHMEM - select SYS_HAS_EARLY_PRINTK - select GENERIC_HARDIRQS_NO__DO_IRQ - select GENERIC_ISA_DMA_SUPPORT_BROKEN - select CPU_HAS_WB - help - Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and - an FPGA northbridge + bool "Lemote Fuloong(2e) mini-PC" + select ARCH_SPARSEMEM_ENABLE + select CEVT_R4K + select CSRC_R4K + select SYS_HAS_CPU_LOONGSON2E + select DMA_NONCOHERENT + select BOOT_ELF32 + select BOARD_SCACHE + select HW_HAS_PCI + select I8259 + select ISA + select IRQ_CPU + select SYS_SUPPORTS_32BIT_KERNEL + select SYS_SUPPORTS_64BIT_KERNEL + select SYS_SUPPORTS_LITTLE_ENDIAN + select SYS_SUPPORTS_HIGHMEM + select SYS_HAS_EARLY_PRINTK + select GENERIC_HARDIRQS_NO__DO_IRQ + select GENERIC_ISA_DMA_SUPPORT_BROKEN + select CPU_HAS_WB + help + Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and + an FPGA northbridge - Lemote Fuloong(2e) mini PC have a VIA686B south bridge. + Lemote Fuloong(2e) mini PC have a VIA686B south bridge. endchoice
Signature · 1 line
1.6.2.1
PATCH 2/7 mem.c: Register reserved memory pages
This patch registers the reserved pages for loongson family machines.
--- arch/mips/loongson/common/mem.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
arch/mips/loongson/common/mem.c +8 -0
@@ -12,14 +12,22 @@#include <loongson.h> #include <mem.h> +#include <pci.h> void __init prom_init_memory (void ) {add_memory_region (0x0 , (memsize <<20 ),BOOT_MEM_RAM ); + +add_memory_region (memsize <<20 ,LOONGSON_PCI_MEM_START - (memsize << +20 ),BOOT_MEM_RESERVED );#ifdef CONFIG_64BIT if (highmemsize >0 )add_memory_region (LOONGSON_HIGHMEM_START , highmemsize <<20 ,BOOT_MEM_RAM ); + +add_memory_region (LOONGSON_PCI_MEM_END +1 ,LOONGSON_HIGHMEM_START - +LOONGSON_PCI_MEM_END -1 ,BOOT_MEM_RESERVED ); +#endif /* CONFIG_64BIT */ }
Signature · 1 line
1.6.2.1
PATCH 3/7 early_printk: fix the variable type of uart_base
The uart_base variable here is not a physical address, so, we replace it by unsigned char *.
--- arch/mips/loongson/common/early_printk.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
arch/mips/loongson/common/early_printk.c +5 -5
@@ -1,7 +1,7 @@/* early printk support * * Copyright (c) 2009 Philippe Vachon <[email protected]> -* Copyright (C) 2009 Lemote Inc. & Insititute of Computing Technology +* Copyright (c) 2009 Lemote Inc. * Author: Wu Zhangjin, [email protected] * * This program is free software; you can redistribute it and/or modify it
@@ -16,20 +16,20 @@#define PORT (base, offset) (u8 *)(base + offset) -static inline unsigned int serial_in (phys_addr_t base,int offset) +static inline unsigned int serial_in (unsigned char *base,int offset) {return readb (PORT (base, offset)); } -static inline void serial_out (phys_addr_t base,int offset,int value) +static inline void serial_out (unsigned char *base,int offset,int value) {writeb (value,PORT (base, offset)); }void prom_putchar (char c) { -phys_addr_t uart_base = - (phys_addr_t )ioremap_nocache (LOONGSON_UART_BASE ,8 ); +unsigned char *uart_base = + (unsigned char *)ioremap_nocache (LOONGSON_UART_BASE ,8 );while ((serial_in (uart_base,UART_LSR ) &UART_LSR_THRE ) ==0 ) ;
Signature · 1 line
1.6.2.1
PATCH 4/7 add a new serial port debug function
There is an existing serial port debug function: prom_putchar(), but it can only print one char, herein add a new prom_printf(), which works like printk, but print to serial port, which is very important to kernel debugging.
--- arch/mips/include/asm/mach-loongson/dbg.h | 17 ++++++++++++++ arch/mips/loongson/common/Makefile | 2 +- arch/mips/loongson/common/dbg.c | 34 +++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletions(-) create mode 100644 arch/mips/include/asm/mach-loongson/dbg.h create mode 100644 arch/mips/loongson/common/dbg.c
arch/mips/include/asm/mach-loongson/dbg.h new file +17 -0
@@ -0,0 +1,17 @@ +/* +* Copyright (C) 2009 Lemote Inc. +* +* 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_DBG_H_ +#define _ASM_MACH_LOONGSON_DBG_H_ + +/* serial port print support */ +extern void prom_putchar (char c); +extern void prom_printf (char *fmt, ...); + +#endif /* _ASM_MACH_LOONGSON_DBG_H_ */
arch/mips/loongson/common/Makefile +1 -1
@@ -8,4 +8,4 @@ obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \ # # Early printk support # -obj-$(CONFIG_EARLY_PRINTK) += early_printk.o +obj-$(CONFIG_EARLY_PRINTK) += early_printk.o dbg.o
arch/mips/loongson/common/dbg.c new file +34 -0
@@ -0,0 +1,34 @@ +/* +* Copyright (C) 2009 Lemote Inc. +* +* 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. +*/ + +#include <dbg.h> +#include <loongson.h> + +#define PROM_PRINTF_BUF_LEN 1024 + +void prom_printf (char *fmt, ...) +{ +static char buf[PROM_PRINTF_BUF_LEN ]; +va_list args; +char *ptr; + + +va_start (args, fmt); +vscnprintf (buf,sizeof (buf), fmt, args); + + ptr = buf; + +while (*ptr !=0 ) { +if (*ptr =='\n' ) +prom_putchar ('\r' ); + +prom_putchar (*ptr++); + } +va_end (args); +}
Signature · 1 line
1.6.2.1
PATCH 5/7 add serial port support
This patch add serial port support for all of the existing loongson family machines. most of the board specific part are put in serial.c, and the base address of the serial ports are defined as macros in machine.h for sharing it between serial.c and early_printk.c
--- arch/mips/loongson/common/Makefile | 5 +++ arch/mips/loongson/common/serial.c | 71 ++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 0 deletions(-) create mode 100644 arch/mips/loongson/common/serial.c
arch/mips/loongson/common/Makefile +5 -0
@@ -9,3 +9,8 @@ obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \ # Early printk support # obj-$(CONFIG_EARLY_PRINTK) += early_printk.o dbg.o + +# +# Enable serial port +# +obj-$(CONFIG_SERIAL_8250) += serial.o
arch/mips/loongson/common/serial.c new file +71 -0
71 lines not on this page · raw message
Signature · 1 line
1.6.2.1
PATCH 6/7 remove reference from bonito64
There is a built-in northbridge in loongson2e/2f, which is bonito64 compatiable, but it differs from bonito64. to avoid influencing the original bonito64 support and make the loongson support more maintainable, it's better to remove reference from bonito64.
And this patch is a very important preparation for the coming loongson2f family machines' support, all the coming patches depend on it.
--- arch/mips/include/asm/mach-loongson/loongson.h | 182 ++++++++++++++++++++++-- arch/mips/include/asm/mach-loongson/machine.h | 2 +- arch/mips/include/asm/mach-loongson/pci.h | 6 +- arch/mips/include/asm/mips-boards/bonito64.h | 5 - arch/mips/loongson/common/bonito-irq.c | 8 +- arch/mips/loongson/common/init.c | 2 +- arch/mips/loongson/common/irq.c | 12 +- arch/mips/loongson/common/pci.c | 12 +- arch/mips/loongson/common/reset.c | 2 +- arch/mips/loongson/fuloong-2e/irq.c | 4 +- arch/mips/loongson/fuloong-2e/reset.c | 4 +- arch/mips/pci/Makefile | 2 +- arch/mips/pci/fixup-fuloong2e.c | 5 +- arch/mips/pci/ops-bonito64.c | 7 - arch/mips/pci/ops-fuloong2e.c | 154 ++++++++++++++++++++ 15 files changed, 352 insertions(+), 55 deletions(-) create mode 100644 arch/mips/pci/ops-fuloong2e.c
arch/mips/include/asm/mach-loongson/loongson.h +168 -14
@@ -15,9 +15,6 @@#include <linux/io.h> #include <linux/init.h> -/* there is an internal bonito64-compatiable northbridge in loongson2e/2f */ -#include <asm/mips-boards/bonito64.h> -/* loongson internal northbridge initialization */ extern void bonito_irq_init (void );
@@ -41,24 +38,181 @@ extern void __init set_irq_trigger_mode(void);extern void __init mach_init_irq (void );extern void mach_irq_dispatch (unsigned int pending); +#define LOONGSON_REG (x) \ + (*(volatile u32 *)((char *)CKSEG1ADDR(LOONGSON_REG_BASE) + (x))) + +#define LOONGSON_IRQ_BASE 32 +#define LOONGSON2_PERFCNT_IRQ (MIPS_CPU_IRQ_BASE + 6)/* cpu perf counter */ + +#define LOONGSON_FLASH_BASE 0x1c000000 +#define LOONGSON_FLASH_SIZE 0x02000000/* 32M */ +#define LOONGSON_FLASH_TOP (LOONGSON_FLASH_BASE+LOONGSON_FLASH_SIZE-1) + +#define LOONGSON_LIO0_BASE 0x1e000000 +#define LOONGSON_LIO0_SIZE 0x01C00000/* 28M */ +#define LOONGSON_LIO0_TOP (LOONGSON_LIO0_BASE+LOONGSON_LIO0_SIZE-1) + +#define LOONGSON_BOOT_BASE 0x1fc00000 +#define LOONGSON_BOOT_SIZE 0x00100000/* 1M */ +#define LOONGSON_BOOT_TOP (LOONGSON_BOOT_BASE+LOONGSON_BOOT_SIZE-1) +#define LOONGSON_REG_BASE 0x1fe00000 +#define LOONGSON_REG_SIZE 0x00100000/* 256Bytes + 256Bytes + ??? */ +#define LOONGSON_REG_TOP (LOONGSON_REG_BASE+LOONGSON_REG_SIZE-1) + +#define LOONGSON_LIO1_BASE 0x1ff00000 +#define LOONGSON_LIO1_SIZE 0x00100000/* 1M */ +#define LOONGSON_LIO1_TOP (LOONGSON_LIO1_BASE+LOONGSON_LIO1_SIZE-1) + +#define LOONGSON_PCILO0_BASE 0x10000000 +#define LOONGSON_PCILO1_BASE 0x14000000 +#define LOONGSON_PCILO2_BASE 0x18000000 +#define LOONGSON_PCILO_BASE LOONGSON_PCILO0_BASE +#define LOONGSON_PCILO_SIZE 0x0c000000/* 64M * 3 */ +#define LOONGSON_PCILO_TOP (LOONGSON_PCILO0_BASE+LOONGSON_PCILO_SIZE-1) + +#define LOONGSON_PCICFG_BASE 0x1fe80000 +#define LOONGSON_PCICFG_SIZE 0x00000800/* 2K */ +#define LOONGSON_PCICFG_TOP (LOONGSON_PCICFG_BASE+LOONGSON_PCICFG_SIZE-1) +#define LOONGSON_PCIIO_BASE 0x1fd00000 +#define LOONGSON_PCIIO_SIZE 0x00100000/* 1M */ +#define LOONGSON_PCIIO_TOP (LOONGSON_PCIIO_BASE+LOONGSON_PCIIO_SIZE-1) + +/* Loongson Register Bases */ + +#define LOONGSON_PCICONFIGBASE 0x00 +#define LOONGSON_REGBASE 0x100 +/* PCI Configuration Registers */ -#define LOONGSON_PCI_ISR4C BONITO_PCI_REG(0x4c) + +#define LOONGSON_PCI_REG (x) LOONGSON_REG(LOONGSON_PCICONFIGBASE + (x)) +#define LOONGSON_PCIDID LOONGSON_PCI_REG(0x00) +#define LOONGSON_PCICMD LOONGSON_PCI_REG(0x04) +#define LOONGSON_PCICLASS LOONGSON_PCI_REG(0x08) +#define LOONGSON_PCILTIMER LOONGSON_PCI_REG(0x0c) +#define LOONGSON_PCIBASE0 LOONGSON_PCI_REG(0x10) +#define LOONGSON_PCIBASE1 LOONGSON_PCI_REG(0x14) +#define LOONGSON_PCIBASE2 LOONGSON_PCI_REG(0x18) +#define LOONGSON_PCIBASE3 LOONGSON_PCI_REG(0x1c) +#define LOONGSON_PCIBASE4 LOONGSON_PCI_REG(0x20) +#define LOONGSON_PCIEXPRBASE LOONGSON_PCI_REG(0x30) +#define LOONGSON_PCIINT LOONGSON_PCI_REG(0x3c) + +#define LOONGSON_PCI_ISR4C LOONGSON_PCI_REG(0x4c) + +#define LOONGSON_PCICMD_PERR_CLR 0x80000000 +#define LOONGSON_PCICMD_SERR_CLR 0x40000000 +#define LOONGSON_PCICMD_MABORT_CLR 0x20000000 +#define LOONGSON_PCICMD_MTABORT_CLR 0x10000000 +#define LOONGSON_PCICMD_TABORT_CLR 0x08000000 +#define LOONGSON_PCICMD_MPERR_CLR 0x01000000 +#define LOONGSON_PCICMD_PERRRESPEN 0x00000040 +#define LOONGSON_PCICMD_ASTEPEN 0x00000080 +#define LOONGSON_PCICMD_SERREN 0x00000100 +#define LOONGSON_PCILTIMER_BUSLATENCY 0x0000ff00 +#define LOONGSON_PCILTIMER_BUSLATENCY_SHIFT 8 + +/* Loongson h/w Configuration */ + +#define LOONGSON_GENCFG_OFFSET 0x4 +#define LOONGSON_GENCFG LOONGSON_REG(LOONGSON_REGBASE + LOONGSON_GENCFG_OFFSET) + +#define LOONGSON_GENCFG_DEBUGMODE 0x00000001 +#define LOONGSON_GENCFG_SNOOPEN 0x00000002 +#define LOONGSON_GENCFG_CPUSELFRESET 0x00000004 + +#define LOONGSON_GENCFG_FORCE_IRQA 0x00000008 +#define LOONGSON_GENCFG_IRQA_ISOUT 0x00000010 +#define LOONGSON_GENCFG_IRQA_FROM_INT1 0x00000020 +#define LOONGSON_GENCFG_BYTESWAP 0x00000040 + +#define LOONGSON_GENCFG_UNCACHED 0x00000080 +#define LOONGSON_GENCFG_PREFETCHEN 0x00000100 +#define LOONGSON_GENCFG_WBEHINDEN 0x00000200 +#define LOONGSON_GENCFG_CACHEALG 0x00000c00 +#define LOONGSON_GENCFG_CACHEALG_SHIFT 10 +#define LOONGSON_GENCFG_PCIQUEUE 0x00001000 +#define LOONGSON_GENCFG_CACHESTOP 0x00002000 +#define LOONGSON_GENCFG_MSTRBYTESWAP 0x00004000 +#define LOONGSON_GENCFG_BUSERREN 0x00008000 +#define LOONGSON_GENCFG_NORETRYTIMEOUT 0x00010000 +#define LOONGSON_GENCFG_SHORTCOPYTIMEOUT 0x00020000 + +/* PCI address map control */ + +#define LOONGSON_PCIMAP LOONGSON_REG(LOONGSON_REGBASE + 0x10) +#define LOONGSON_PCIMEMBASECFG LOONGSON_REG(LOONGSON_REGBASE + 0x14) +#define LOONGSON_PCIMAP_CFG LOONGSON_REG(LOONGSON_REGBASE + 0x18) + +/* GPIO Regs - r/w */ + +#define LOONGSON_GPIODATA LOONGSON_REG(LOONGSON_REGBASE + 0x1c) +#define LOONGSON_GPIOIE LOONGSON_REG(LOONGSON_REGBASE + 0x20) + +/* ICU Configuration Regs - r/w */ + +#define LOONGSON_INTEDGE LOONGSON_REG(LOONGSON_REGBASE + 0x24) +#define LOONGSON_INTSTEER LOONGSON_REG(LOONGSON_REGBASE + 0x28) +#define LOONGSON_INTPOL LOONGSON_REG(LOONGSON_REGBASE + 0x2c) + +/* ICU Enable Regs - IntEn & IntISR are r/o. */ + +#define LOONGSON_INTENSET LOONGSON_REG(LOONGSON_REGBASE + 0x30) +#define LOONGSON_INTENCLR LOONGSON_REG(LOONGSON_REGBASE + 0x34) +#define LOONGSON_INTEN LOONGSON_REG(LOONGSON_REGBASE + 0x38) +#define LOONGSON_INTISR LOONGSON_REG(LOONGSON_REGBASE + 0x3c) + +/* ICU */ +#define LOONGSON_ICU_MBOXES 0x0000000f +#define LOONGSON_ICU_MBOXES_SHIFT 0 +#define LOONGSON_ICU_DMARDY 0x00000010 +#define LOONGSON_ICU_DMAEMPTY 0x00000020 +#define LOONGSON_ICU_COPYRDY 0x00000040 +#define LOONGSON_ICU_COPYEMPTY 0x00000080 +#define LOONGSON_ICU_COPYERR 0x00000100 +#define LOONGSON_ICU_PCIIRQ 0x00000200 +#define LOONGSON_ICU_MASTERERR 0x00000400 +#define LOONGSON_ICU_SYSTEMERR 0x00000800 +#define LOONGSON_ICU_DRAMPERR 0x00001000 +#define LOONGSON_ICU_RETRYERR 0x00002000 +#define LOONGSON_ICU_GPIOS 0x01ff0000 +#define LOONGSON_ICU_GPIOS_SHIFT 16 +#define LOONGSON_ICU_GPINS 0x7e000000 +#define LOONGSON_ICU_GPINS_SHIFT 25 +#define LOONGSON_ICU_MBOX (N ) (1<<(LOONGSON_ICU_MBOXES_SHIFT+(N))) +#define LOONGSON_ICU_GPIO (N ) (1<<(LOONGSON_ICU_GPIOS_SHIFT+(N))) +#define LOONGSON_ICU_GPIN (N ) (1<<(LOONGSON_ICU_GPINS_SHIFT+(N))) + +/* PCI prefetch window base & mask */ + +#define LOONGSON_MEM_WIN_BASE_L LOONGSON_REG(LOONGSON_REGBASE + 0x40) +#define LOONGSON_MEM_WIN_BASE_H LOONGSON_REG(LOONGSON_REGBASE + 0x44) +#define LOONGSON_MEM_WIN_MASK_L LOONGSON_REG(LOONGSON_REGBASE + 0x48) +#define LOONGSON_MEM_WIN_MASK_H LOONGSON_REG(LOONGSON_REGBASE + 0x4c)/* PCI_Hit*_Sel_* */ -#define LOONGSON_PCI_HIT0_SEL_L BONITO(BONITO_REGBASE + 0x50) -#define LOONGSON_PCI_HIT0_SEL_H BONITO(BONITO_REGBASE + 0x54) -#define LOONGSON_PCI_HIT1_SEL_L BONITO(BONITO_REGBASE + 0x58) -#define LOONGSON_PCI_HIT1_SEL_H BONITO(BONITO_REGBASE + 0x5c) -#define LOONGSON_PCI_HIT2_SEL_L BONITO(BONITO_REGBASE + 0x60) -#define LOONGSON_PCI_HIT2_SEL_H BONITO(BONITO_REGBASE + 0x64) +#define LOONGSON_PCI_HIT0_SEL_L LOONGSON_REG(LOONGSON_REGBASE + 0x50) +#define LOONGSON_PCI_HIT0_SEL_H LOONGSON_REG(LOONGSON_REGBASE + 0x54) +#define LOONGSON_PCI_HIT1_SEL_L LOONGSON_REG(LOONGSON_REGBASE + 0x58) +#define LOONGSON_PCI_HIT1_SEL_H LOONGSON_REG(LOONGSON_REGBASE + 0x5c) +#define LOONGSON_PCI_HIT2_SEL_L LOONGSON_REG(LOONGSON_REGBASE + 0x60) +#define LOONGSON_PCI_HIT2_SEL_H LOONGSON_REG(LOONGSON_REGBASE + 0x64)/* PXArb Config & Status */ -#define LOONGSON_PXARB_CFG BONITO(BONITO_REGBASE + 0x68) -#define LOONGSON_PXARB_STATUS BONITO(BONITO_REGBASE + 0x6c) +#define LOONGSON_PXARB_CFG LOONGSON_REG(LOONGSON_REGBASE + 0x68) +#define LOONGSON_PXARB_STATUS LOONGSON_REG(LOONGSON_REGBASE + 0x6c) + +/* pcimap */ -/* loongson2-specific perf counter IRQ */ -#define LOONGSON2_PERFCNT_IRQ (MIPS_CPU_IRQ_BASE + 6) +#define LOONGSON_PCIMAP_PCIMAP_LO0 0x0000003f +#define LOONGSON_PCIMAP_PCIMAP_LO0_SHIFT 0 +#define LOONGSON_PCIMAP_PCIMAP_LO1 0x00000fc0 +#define LOONGSON_PCIMAP_PCIMAP_LO1_SHIFT 6 +#define LOONGSON_PCIMAP_PCIMAP_LO2 0x0003f000 +#define LOONGSON_PCIMAP_PCIMAP_LO2_SHIFT 12 +#define LOONGSON_PCIMAP_PCIMAP_2 0x00040000 +#define LOONGSON_PCIMAP_WIN (WIN ,ADDR ) \ + ((((ADDR)>>26) & LOONGSON_PCIMAP_PCIMAP_LO0) << ((WIN)*6))#endif /* __ASM_MACH_LOONGSON_LOONGSON_H */
arch/mips/include/asm/mach-loongson/machine.h +1 -1
@@ -13,7 +13,7 @@#ifdef CONFIG_LEMOTE_FULOONG2E -#define LOONGSON_UART_BASE (BONITO_PCIIO_BASE + 0x3f8) +#define LOONGSON_UART_BASE (LOONGSON_PCIIO_BASE + 0x3f8)#define LOONGSON_MACHTYPE MACH_LEMOTE_FL2E
arch/mips/include/asm/mach-loongson/pci.h +3 -3
@@ -22,13 +22,13 @@#ifndef __ASM_MACH_LOONGSON_PCI_H_#define __ASM_MACH_LOONGSON_PCI_H_ -extern struct pci_ops bonito64_pci_ops; +extern struct pci_ops loongson_pci_ops;#ifdef CONFIG_LEMOTE_FULOONG2E /* this pci memory space is mapped by pcimap in pci.c */ -#define LOONGSON_PCI_MEM_START BONITO_PCILO1_BASE -#define LOONGSON_PCI_MEM_END (BONITO_PCILO1_BASE + 0x04000000 * 2) +#define LOONGSON_PCI_MEM_START LOONGSON_PCILO1_BASE +#define LOONGSON_PCI_MEM_END (LOONGSON_PCILO1_BASE + 0x04000000 * 2)/* this is an offset from mips_io_port_base */ #define LOONGSON_PCI_IO_START 0x00004000UL
arch/mips/include/asm/mips-boards/bonito64.h +0 -5
@@ -26,11 +26,6 @@/* offsets from base register */ #define BONITO (x) (x) -#elif defined(CONFIG_LEMOTE_FULOONG2E ) - -#define BONITO (x) (*(volatile u32 *)((char *)CKSEG1ADDR(BONITO_REG_BASE) + (x))) -#define BONITO_IRQ_BASE 32 -#else /*
arch/mips/loongson/common/bonito-irq.c +4 -4
@@ -17,13 +17,13 @@static inline void bonito_irq_enable (unsigned int irq) { -BONITO_INTENSET = (1 << (irq -BONITO_IRQ_BASE )); +LOONGSON_INTENSET = (1 << (irq -LOONGSON_IRQ_BASE ));mmiowb (); }static inline void bonito_irq_disable (unsigned int irq) { -BONITO_INTENCLR = (1 << (irq -BONITO_IRQ_BASE )); +LOONGSON_INTENCLR = (1 << (irq -LOONGSON_IRQ_BASE ));mmiowb (); }
@@ -44,8 +44,8 @@ void bonito_irq_init(void) {u32 i; -for (i =BONITO_IRQ_BASE ; i <BONITO_IRQ_BASE +32 ; i++) +for (i =LOONGSON_IRQ_BASE ; i <LOONGSON_IRQ_BASE +32 ; i++)set_irq_chip_and_handler (i, &bonito_irq_type, handle_level_irq); -setup_irq (BONITO_IRQ_BASE +10 , &dma_timeout_irqaction); +setup_irq (LOONGSON_IRQ_BASE +10 , &dma_timeout_irqaction); }
arch/mips/loongson/common/init.c +1 -1
@@ -18,7 +18,7 @@ void __init prom_init(void) {/* init base address of io space */ set_io_port_base ((unsigned long ) -ioremap (BONITO_PCIIO_BASE ,BONITO_PCIIO_SIZE )); +ioremap (LOONGSON_PCIIO_BASE ,LOONGSON_PCIIO_SIZE ));prom_init_cmdline ();prom_init_env ();
arch/mips/loongson/common/irq.c +6 -6
@@ -20,21 +20,21 @@ void bonito_irqdispatch(void)int i;/* workaround the IO dma problem: let cpu looping to allow DMA finish */ - int_status =BONITO_INTISR ; + int_status =LOONGSON_INTISR ;if (int_status & (1 <<10 )) {while (int_status & (1 <<10 )) {udelay (1 ); - int_status =BONITO_INTISR ; + int_status =LOONGSON_INTISR ; } }/* Get pending sources, masked by current enables */ - int_status =BONITO_INTISR &BONITO_INTEN ; + int_status =LOONGSON_INTISR &LOONGSON_INTEN ;if (int_status !=0 ) { i =__ffs (int_status); int_status &= ~(1 << i); -do_IRQ (BONITO_IRQ_BASE + i); +do_IRQ (LOONGSON_IRQ_BASE + i); } }
@@ -60,13 +60,13 @@ void __init arch_init_irq(void)set_irq_trigger_mode ();/* no steer */ -BONITO_INTSTEER =0 ; +LOONGSON_INTSTEER =0 ;/* * Mask out all interrupt by writing "1" to all bit position in * the interrupt reset reg. */ -BONITO_INTENCLR = ~0 ; +LOONGSON_INTENCLR = ~0 ;/* machine specific irq init */ mach_init_irq ();
arch/mips/loongson/common/pci.c +6 -6
@@ -27,7 +27,7 @@ static struct resource loongson_pci_io_resource = { };static struct pci_controller loongson_pci_controller = { - .pci_ops = &bonito64_pci_ops, + .pci_ops = &loongson_pci_ops, .io_resource = &loongson_pci_io_resource, .mem_resource = &loongson_pci_mem_resource, .mem_offset =0x00000000UL ,
@@ -44,15 +44,15 @@ static void __init setup_pcimap(void)* pcimap: PCI_MAP2 PCI_Mem_Lo2 PCI_Mem_Lo1 PCI_Mem_Lo0 * [<2G] [384M,448M] [320M,384M] [0M,64M] */ -BONITO_PCIMAP =BONITO_PCIMAP_PCIMAP_2 | -BONITO_PCIMAP_WIN (2 ,BONITO_PCILO2_BASE ) | -BONITO_PCIMAP_WIN (1 ,BONITO_PCILO1_BASE ) | -BONITO_PCIMAP_WIN (0 ,0 ); +LOONGSON_PCIMAP =LOONGSON_PCIMAP_PCIMAP_2 | +LOONGSON_PCIMAP_WIN (2 ,LOONGSON_PCILO2_BASE ) | +LOONGSON_PCIMAP_WIN (1 ,LOONGSON_PCILO1_BASE ) | +LOONGSON_PCIMAP_WIN (0 ,0 );/* * PCI-DMA to local mapping: [2G,2G+256M] -> [0M,256M] */ -BONITO_PCIBASE0 =0x80000000ul ;/* base: 2G -> mmap: 0M */ +LOONGSON_PCIBASE0 =0x80000000ul ;/* base: 2G -> mmap: 0M */ /* size: 256M, burst transmission, pre-fetch enable, 64bit */ LOONGSON_PCI_HIT0_SEL_L =0xc000000cul ;LOONGSON_PCI_HIT0_SEL_H =0xfffffffful ;
arch/mips/loongson/common/reset.c +1 -1
@@ -22,7 +22,7 @@ static void loongson_restart(char *command)mach_prepare_reboot ();/* reboot via jumping to boot base address */ - ((void (*)(void ))ioremap_nocache (BONITO_BOOT_BASE ,4 )) (); + ((void (*)(void ))ioremap_nocache (LOONGSON_BOOT_BASE ,4 )) (); }static void loongson_halt (void )
arch/mips/loongson/fuloong-2e/irq.c +2 -2
@@ -47,8 +47,8 @@ static struct irqaction cascade_irqaction = {void __init set_irq_trigger_mode (void ) {/* most bonito irq should be level triggered */ -BONITO_INTEDGE =BONITO_ICU_SYSTEMERR |BONITO_ICU_MASTERERR | -BONITO_ICU_RETRYERR |BONITO_ICU_MBOXES ; +LOONGSON_INTEDGE =LOONGSON_ICU_SYSTEMERR |LOONGSON_ICU_MASTERERR | +LOONGSON_ICU_RETRYERR |LOONGSON_ICU_MBOXES ; }void __init mach_init_irq (void )
arch/mips/loongson/fuloong-2e/reset.c +2 -2
@@ -14,8 +14,8 @@void mach_prepare_reboot (void ) { -BONITO_BONGENCFG &= ~(1 <<2 ); -BONITO_BONGENCFG |= (1 <<2 ); +LOONGSON_GENCFG &= ~(1 <<2 ); +LOONGSON_GENCFG |= (1 <<2 ); }void mach_prepare_shutdown (void )
arch/mips/pci/Makefile +1 -1
@@ -28,7 +28,7 @@ obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o -obj-$(CONFIG_LEMOTE_FULOONG2E) += fixup-fuloong2e.o ops-bonito64.o +obj-$(CONFIG_LEMOTE_FULOONG2E) += fixup-fuloong2e.o ops-fuloong2e.o obj-$(CONFIG_MIPS_MALTA) += fixup-malta.o obj-$(CONFIG_PMC_MSP7120_GW) += fixup-pmcmsp.o ops-pmcmsp.o obj-$(CONFIG_PMC_MSP7120_EVAL) += fixup-pmcmsp.o ops-pmcmsp.o
arch/mips/pci/fixup-fuloong2e.c +3 -2
@@ -13,7 +13,8 @@*/ #include <linux/init.h> #include <linux/pci.h> -#include <asm/mips-boards/bonito64.h> + +#include <loongson.h> /* South bridge slot number is set by the pci probe process */ static u8 sb_slot =5 ;
@@ -35,7 +36,7 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)break ; } }else { - irq =BONITO_IRQ_BASE +25 + pin; + irq =LOONGSON_IRQ_BASE +25 + pin; }return irq;
arch/mips/pci/ops-bonito64.c +0 -7
@@ -29,13 +29,8 @@#define PCI_ACCESS_READ 0#define PCI_ACCESS_WRITE 1 -#ifdef CONFIG_LEMOTE_FULOONG2E -#define CFG_SPACE_REG (offset) (void *)CKSEG1ADDR(BONITO_PCICFG_BASE | (offset)) -#define ID_SEL_BEGIN 11 -#else #define CFG_SPACE_REG (offset) (void *)CKSEG1ADDR(_pcictrl_bonito_pcicfg + (offset))#define ID_SEL_BEGIN 10 -#endif #define MAX_DEV_NUM (31 - ID_SEL_BEGIN)
@@ -77,10 +72,8 @@ static int bonito64_pcibios_config_access(unsigned char access_type, addrp =CFG_SPACE_REG (addr &0xffff );if (access_type ==PCI_ACCESS_WRITE ) {writel (cpu_to_le32 (*data), addrp); -#ifndef CONFIG_LEMOTE_FULOONG2E /* Wait till done */ while (BONITO_PCIMSTAT &0xF ); -#endif }else { *data =le32_to_cpu (readl (addrp)); }
arch/mips/pci/ops-fuloong2e.c new file +154 -0
154 lines not on this page · raw message
Signature · 1 line
1.6.2.1
PATCH 7/7 fuloong2e: update config file
This patch enable Hibernation support by default, and choose SPARSEMEM memory model to avoid Hibernation failure with FLATMEM and also save memory wasted by FLATMEM.
--- arch/mips/configs/fuloong2e_defconfig | 93 +++++++++++++++++++++----------- 1 files changed, 61 insertions(+), 32 deletions(-)
arch/mips/configs/fuloong2e_defconfig +61 -32
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc1 -# Thu Jul 2 22:37:00 2009 +# Linux kernel version: 2.6.32-rc4 +# Fri Oct 16 13:18:01 2009 # CONFIG_MIPS=y
@@ -12,6 +12,7 @@ CONFIG_MIPS=y # CONFIG_AR7 is not set # CONFIG_BASLER_EXCITE is not set # CONFIG_BCM47XX is not set +# CONFIG_BCM63XX is not set # CONFIG_MIPS_COBALT is not set # CONFIG_MACH_DECSTATION is not set # CONFIG_MACH_JAZZ is not set
@@ -105,6 +106,8 @@ CONFIG_CPU_LOONGSON2E=y # CONFIG_CPU_RM9000 is not set # CONFIG_CPU_SB1 is not set # CONFIG_CPU_CAVIUM_OCTEON is not set +CONFIG_SYS_SUPPORTS_ZBOOT=y +CONFIG_SYS_SUPPORTS_ZBOOT_UART16550=y CONFIG_CPU_LOONGSON2=y CONFIG_SYS_HAS_CPU_LOONGSON2E=y CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
@@ -135,12 +138,16 @@ CONFIG_SYS_SUPPORTS_HIGHMEM=y CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y +# CONFIG_FLATMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_STATIC=y + +# +# Memory hotplug is currently incompatible with Software Suspend +# CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_PHYS_ADDR_T_64BIT=y
@@ -148,6 +155,7 @@ CONFIG_ZONE_DMA_FLAG=0 CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y
@@ -180,6 +188,12 @@ CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="-fuloong2e" # CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y
@@ -193,11 +207,12 @@ CONFIG_BSD_PROCESS_ACCT=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=64 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14
@@ -235,18 +250,16 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y -# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y -CONFIG_MARKERS=y CONFIG_OPROFILE=m CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_SYSCALL_WRAPPERS=y
@@ -255,8 +268,8 @@ CONFIG_HAVE_SYSCALL_WRAPPERS=y # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set -# CONFIG_SLOW_WORK is not set -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_SLOW_WORK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0
@@ -283,7 +296,7 @@ CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" -# CONFIG_FREEZER is not set +CONFIG_FREEZER=y # # Bus options (PCI, PCMCIA, EISA, ISA, TC)
@@ -321,9 +334,14 @@ CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_PM=y # CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP=y # CONFIG_SUSPEND is not set -# CONFIG_HIBERNATION is not set +CONFIG_HIBERNATION_NVS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="/dev/hda3" +# CONFIG_PM_RUNTIME is not set CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y # # Networking options
@@ -442,6 +460,7 @@ CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set
@@ -473,6 +492,7 @@ CONFIG_NET_CLS_ROUTE=y # CONFIG_AF_RXRPC is not set CONFIG_WIRELESS=y # CONFIG_CFG80211 is not set +CONFIG_CFG80211_DEFAULT_PS_VALUE=0 CONFIG_WIRELESS_OLD_REGULATORY=y CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS_EXT_SYSFS=y
@@ -481,7 +501,6 @@ CONFIG_WIRELESS_EXT_SYSFS=y # # CFG80211 needs to be enabled for MAC80211 # -CONFIG_MAC80211_DEFAULT_PS_VALUE=0 # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set CONFIG_NET_9P=m
@@ -495,6 +514,7 @@ CONFIG_NET_9P=m # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=m
@@ -504,9 +524,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_CONNECTOR is not set CONFIG_MTD=m # CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set # CONFIG_MTD_CONCAT is not set # CONFIG_MTD_PARTITIONS is not set -# CONFIG_MTD_TESTS is not set # # User Modules And Translation Layers
@@ -820,6 +840,7 @@ CONFIG_8139TOO=y # CONFIG_SUNDANCE is not set # CONFIG_TLAN is not set # CONFIG_KS8842 is not set +# CONFIG_KS8851_MLL is not set # CONFIG_VIA_RHINE is not set # CONFIG_SC92031 is not set # CONFIG_ATL2 is not set
@@ -867,10 +888,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y # CONFIG_SFC is not set # CONFIG_BE2NET is not set # CONFIG_TR is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_80211 is not set
@@ -886,6 +904,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y # CONFIG_USB_PEGASUS is not set # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set +# CONFIG_USB_CDC_PHONET is not set # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set
@@ -933,12 +952,16 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_QT2160 is not set # CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y
@@ -946,6 +969,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_TRACKPOINT=y # CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_SERIAL=y # CONFIG_MOUSE_APPLETOUCH is not set
@@ -1015,6 +1039,7 @@ CONFIG_RTC=y CONFIG_DEVPORT=y CONFIG_I2C=m CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_HELPER_AUTO=y
@@ -1070,9 +1095,6 @@ CONFIG_I2C_VIAPRO=m # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_PCF8575 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set
@@ -1088,7 +1110,6 @@ CONFIG_I2C_VIAPRO=m # CONFIG_POWER_SUPPLY is not set # CONFIG_HWMON is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set # CONFIG_WATCHDOG is not set CONFIG_SSB_POSSIBLE=y
@@ -1105,6 +1126,7 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_HTC_PASIC3 is not set # CONFIG_MFD_TMIO is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_AB3100_CORE is not set
@@ -1114,6 +1136,7 @@ CONFIG_SSB_POSSIBLE=y # # Graphics support # +CONFIG_VGA_ARB=y # CONFIG_DRM is not set # CONFIG_VGASTATE is not set CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1198,6 +1221,7 @@ CONFIG_FONT_8x16=y # CONFIG_LOGO is not set CONFIG_SOUND=y CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m
@@ -1304,7 +1328,6 @@ CONFIG_SND_USB=y CONFIG_AC97_BUS=m CONFIG_HID_SUPPORT=y CONFIG_HID=y -# CONFIG_HID_DEBUG is not set CONFIG_HIDRAW=y #
@@ -1356,6 +1379,7 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set CONFIG_USB_ISP1760_HCD=m +# CONFIG_USB_ISP1362_HCD is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
@@ -1453,6 +1477,7 @@ CONFIG_UIO_CIF=m # CONFIG_UIO_SMX is not set # CONFIG_UIO_AEC is not set # CONFIG_UIO_SERCOS3 is not set +# CONFIG_UIO_PCI_GENERIC is not set # # TI VLYNQ
@@ -1469,10 +1494,10 @@ CONFIG_EXT3_FS=y # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set # CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=m -CONFIG_EXT4DEV_COMPAT=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set CONFIG_FS_XIP=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set
@@ -1489,6 +1514,7 @@ CONFIG_FS_POSIX_ACL=y # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y
@@ -1557,7 +1583,6 @@ CONFIG_OMFS_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y
@@ -1666,6 +1691,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=2048 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set
@@ -1678,6 +1704,7 @@ CONFIG_NOP_TRACER=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y CONFIG_TRACING=y CONFIG_TRACING_SUPPORT=y # CONFIG_FTRACE is not set
@@ -1742,11 +1769,13 @@ CONFIG_CRYPTO_XTS=m # CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +CONFIG_CRYPTO_GHASH=m # CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=m # CONFIG_CRYPTO_MICHAEL_MIC is not set
Signature · 1 line
1.6.2.1
Re: [PATCH -queue 7/7] [loongson] fuloong2e: update config file
Quoted 3 lines · Wu Zhangjin
This patch enable Hibernation support by default, and choose SPARSEMEM memory model to avoid Hibernation failure with FLATMEM and also save memory wasted by FLATMEM.
Thanks, queued for 2.6.33.
Ralf
Re: [PATCH -queue 6/7] [loongson] remove reference from bonito64
In reply to Wu ZhangjinQuoted 7 lines · Wu Zhangjin
There is a built-in northbridge in loongson2e/2f, which is bonito64 compatiable, but it differs from bonito64. to avoid influencing the original bonito64 support and make the loongson support more maintainable, it's better to remove reference from bonito64.
And this patch is a very important preparation for the coming loongson2f family machines' support, all the coming patches depend on it.
Thanks, queued for 2.6.33.
Ralf
Re: [PATCH -queue 5/7] [loongson] add serial port support
In reply to Wu ZhangjinQuoted 4 lines · Wu Zhangjin
This patch add serial port support for all of the existing loongson family machines. most of the board specific part are put in
serial.c, and the base address of the serial ports are defined as macros inmachine.hfor sharing it betweenserial.candearly_printk.c
Thanks, queued for 2.6.33.
Ralf
Re: [PATCH -queue 4/7] [loongosn] add a new serial port debug function
In reply to Wu ZhangjinQuoted 4 lines · Wu Zhangjin
There is an existing serial port debug function:
prom_putchar(), but it can only print one char, herein add a newprom_printf(), which works like printk, but print to serial port, which is very important to kernel debugging.
Does this mean early_printk doesn't work for you? We rather get that to work for you than introducing something equivalent.
Ralf
Re: [PATCH -queue 3/7] [loongson] early_printk: fix the variable type of uart_base
In reply to Wu ZhangjinQuoted 4 lines · Wu Zhangjin
The
uart_basevariable here is not a physical address, so, we replace it by unsigned char *.Signed-off-by Wu Zhangjin <[email protected]>
Thanks, queued for 2.6.33.
Ralf
Re: [PATCH -queue 2/7] [loongson] mem.c: Register reserved memory pages
In reply to Wu ZhangjinQuoted 1 line · Wu Zhangjin
This patch registers the reserved pages for loongson family machines.
Hmm... After our recent discussion on your hibernation issues I am wondering if this patch is actually still required or useful?
Ralf
Re: [PATCH -queue 2/7] [loongson] mem.c: Register reserved memory pages
Quoted 6 lines · Ralf Baechle
Quoted 1 line · Wu Zhangjin
This patch registers the reserved pages for loongson family machines.
Hmm... After our recent discussion on your hibernation issues I am wondering if this patch is actually still required or useful?
It does not help the hibernation issue, but helps to clear the memory layout to the users(cat /proc/iomem), is this a need?
Seems some of the other architectures, including some MIPS variants have registed the reserved space, so, could you please apply it?
Thanks & Regards,
Wu Zhangjin
Re: [PATCH -queue 2/7] [loongson] mem.c: Register reserved memory pages
Quoted 8 lines · Wu Zhangjin
Quoted 2 lines
Hmm... After our recent discussion on your hibernation issues I am wondering if this patch is actually still required or useful?
It does not help the hibernation issue, but helps to clear the memory layout to the users(cat
/proc/iomem), is this a need?Seems some of the other architectures, including some MIPS variants have registed the reserved space, so, could you please apply it?
Thanks, also queued for 2.6.33.
Ralf
Re: [PATCH -queue 1/7] [loongson] fuloong2e: Cleanup the Kconfig
In reply to Wu ZhangjinQuoted 2 lines · Wu Zhangjin
This patch replace the indention from whitespace to tab in
arch/mips/loongson/Kconfig.
Thanks, queued for 2.6.33.
Ralf