MIPS: Refactoring and cleanup of CPU and SoC code
Subsystems (2)
v3 cover MIPS: Refactoring and cleanup of CPU and SoC code
All current Mips CPUs and SoCs except Purple are based on Mips32 arch. The complete code resides in the global arch/mips/cpu directory. All SoC specific code resides in this directory too. This is not suitable if other Mips architectures like Mips64 or Octeon or new SoCs should be supported in the future.
This patch series refactors the Mips CPU directory and put all current code into an own mips32 subdirectory. Furthermore the SoC specific code of IncaIP and Au1x00 is moved to separate SoC subdirectories. The support for Purple is dropped because not actively maintained anymore.
Changes since RFC/v1:
- drop Purple supported as agreed with Wolfgang Denk
- use MIPS rather than Mips in patch subject
- fixed Cc lines in all patches
Changes since v2:
- reverted patch for endianess flag setup
- always use -march=mips32r2 as default CPU optimization for all MIPS32 CPU cores
Daniel Schwierzeck (5):
MIPS: Purple: Remove Purple support
MIPS: Move content of arch/mips/cpu to arch/mips/cpu/mips32
MIPS: Optimize the setup of CPU optimization flags
MIPS: IncaIP: Move all IncaIP specific code to separate subdirectory
MIPS: Au1x00: Move all Au1x00 specific code to separate subdirectory
MAINTAINERS | 1 -
MAKEALL | 4 +-
arch/mips/cpu/asc_serial.c | 368 ------------
arch/mips/cpu/{ => mips32}/Makefile | 5 -
.../mips/cpu/mips32/au1x00}/Makefile | 15 +-
arch/mips/cpu/{ => mips32/au1x00}/au1x00_eth.c | 0
arch/mips/cpu/{ => mips32/au1x00}/au1x00_serial.c | 0
.../mips/cpu/{ => mips32/au1x00}/au1x00_usb_ohci.c | 0
.../mips/cpu/{ => mips32/au1x00}/au1x00_usb_ohci.h | 0
.../mips/cpu/mips32/au1x00}/config.mk | 12 +-
arch/mips/cpu/{ => mips32}/cache.S | 4 -
arch/mips/cpu/{ => mips32}/config.mk | 15 +-
arch/mips/cpu/{ => mips32}/cpu.c | 0
.../mips/cpu/mips32/incaip}/Makefile | 16 +-
arch/mips/cpu/mips32/incaip/asc_serial.c | 285 ++++++++++
arch/mips/cpu/{ => mips32/incaip}/asc_serial.h | 0
.../mips/cpu/mips32/incaip}/config.mk | 12 +-
arch/mips/cpu/{ => mips32/incaip}/incaip_clock.c | 0
arch/mips/cpu/{ => mips32/incaip}/incaip_wdt.S | 0
arch/mips/cpu/{ => mips32}/interrupts.c | 0
arch/mips/cpu/{ => mips32}/start.S | 32 -
arch/mips/include/asm/inca-ip.h | 10 -
arch/mips/lib/board.c | 10 -
board/purple/flash.c | 595 --------------------
board/purple/lowlevel_init.S | 36 --
board/purple/purple.c | 284 ----------
board/purple/sconsole.c | 125 ----
board/purple/sconsole.h | 46 --
board/purple/u-boot.lds | 75 ---
boards.cfg | 51 +-
doc/README.Purple | 84 ---
include/configs/purple.h | 173 ------
32 files changed, 338 insertions(+), 1920 deletions(-)
delete mode 100644 arch/mips/cpu/asc_serial.c
rename arch/mips/cpu/{ => mips32}/Makefile (87%)
copy {board/purple => arch/mips/cpu/mips32/au1x00}/Makefile (83%)
rename arch/mips/cpu/{ => mips32/au1x00}/au1x00_eth.c (100%)
rename arch/mips/cpu/{ => mips32/au1x00}/au1x00_serial.c (100%)
rename arch/mips/cpu/{ => mips32/au1x00}/au1x00_usb_ohci.c (100%)
rename arch/mips/cpu/{ => mips32/au1x00}/au1x00_usb_ohci.h (100%)
copy {board/purple => arch/mips/cpu/mips32/au1x00}/config.mk (83%)
rename arch/mips/cpu/{ => mips32}/cache.S (98%)
rename arch/mips/cpu/{ => mips32}/config.mk (83%)
rename arch/mips/cpu/{ => mips32}/cpu.c (100%)
rename {board/purple => arch/mips/cpu/mips32/incaip}/Makefile (83%)
create mode 100644 arch/mips/cpu/mips32/incaip/asc_serial.c
rename arch/mips/cpu/{ => mips32/incaip}/asc_serial.h (100%)
rename {board/purple => arch/mips/cpu/mips32/incaip}/config.mk (83%)
rename arch/mips/cpu/{ => mips32/incaip}/incaip_clock.c (100%)
rename arch/mips/cpu/{ => mips32/incaip}/incaip_wdt.S (100%)
rename arch/mips/cpu/{ => mips32}/interrupts.c (100%)
rename arch/mips/cpu/{ => mips32}/start.S (92%)
delete mode 100644 board/purple/flash.c
delete mode 100644 board/purple/lowlevel_init.S
delete mode 100644 board/purple/purple.c
delete mode 100644 board/purple/sconsole.c
delete mode 100644 board/purple/sconsole.h
delete mode 100644 board/purple/u-boot.lds
delete mode 100644 doc/README.Purple
delete mode 100644 include/configs/purple.h--
1.7.4.1
PATCH v3 1/5 MIPS: Purple: Remove Purple support
The Purple SoC and eval board are not actively maintained since years. This patch removes the support completely as aggreed with Wolfgang Denk.
--- MAINTAINERS | 1 - MAKEALL | 4 +- arch/mips/cpu/Makefile | 1 - arch/mips/cpu/asc_serial.c | 83 ------ arch/mips/cpu/cache.S | 4 - arch/mips/cpu/start.S | 32 -- arch/mips/include/asm/inca-ip.h | 10 - arch/mips/lib/board.c | 10 - board/purple/Makefile | 46 --- board/purple/config.mk | 32 -- board/purple/flash.c | 595 --------------------------------------- board/purple/lowlevel_init.S | 36 --- board/purple/purple.c | 284 ------------------- board/purple/sconsole.c | 125 -------- board/purple/sconsole.h | 46 --- board/purple/u-boot.lds | 75 ----- boards.cfg | 1 - doc/README.Purple | 84 ------ include/configs/purple.h | 173 ------------ 19 files changed, 1 insertions(+), 1641 deletions(-) delete mode 100644 board/purple/Makefile delete mode 100644 board/purple/config.mk delete mode 100644 board/purple/flash.c delete mode 100644 board/purple/lowlevel_init.S delete mode 100644 board/purple/purple.c delete mode 100644 board/purple/sconsole.c delete mode 100644 board/purple/sconsole.h delete mode 100644 board/purple/u-boot.lds delete mode 100644 doc/README.Purple delete mode 100644 include/configs/purple.h
MAINTAINERS +0 -1
@@ -919,7 +919,6 @@ Daniel Engstr Wolfgang Denk <[email protected]> incaip MIPS32 4Kc - purple MIPS64 5Kc Thomas Lange <[email protected]> dbau1x00 MIPS32 Au1000
MAKEALL +1 -3
@@ -507,9 +507,7 @@ LIST_mips4kc=" \ vct_premium_onenand_small \ " -LIST_mips5kc=" \ - purple \ -" +LIST_mips5kc="" LIST_au1xx0=" \ dbau1000 \
arch/mips/cpu/Makefile +0 -1
@@ -31,7 +31,6 @@ COBJS-y = cpu.o interrupts.o SOBJS-$(CONFIG_INCA_IP) += incaip_wdt.o COBJS-$(CONFIG_INCA_IP) += asc_serial.o incaip_clock.o -COBJS-$(CONFIG_PURPLE) += asc_serial.o COBJS-$(CONFIG_SOC_AU1X00) += au1x00_eth.o au1x00_serial.o au1x00_usb_ohci.o SRCS := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
arch/mips/cpu/asc_serial.c +0 -83
169 lines not on this page · raw message
arch/mips/cpu/cache.S +0 -4
@@ -311,11 +311,7 @@ LEAF(dcache_enable) * RETURNS: N/A * */ -#if defined(CONFIG_PURPLE) -# define CACHE_LOCK_SIZE (CONFIG_SYS_DCACHE_SIZE/2) -#else # define CACHE_LOCK_SIZE (CONFIG_SYS_DCACHE_SIZE) -#endif .globl mips_cache_lock .ent mips_cache_lock mips_cache_lock:
arch/mips/cpu/start.S +0 -32
@@ -67,9 +67,6 @@ _start: #if defined(CONFIG_INCA_IP) .word INFINEON_EBU_BOOTCFG /* EBU init code, fetched during booting */ .word 0x00000000 /* phase of the flash */ -#elif defined(CONFIG_PURPLE) - .word INFINEON_EBU_BOOTCFG /* EBU init code, fetched during booting */ - .word INFINEON_EBU_BOOTCFG /* EBU init code, fetched during booting */ #else RVECENT(romReserved,2) #endif
@@ -203,30 +200,6 @@ _start: * 128 * 8 == 1024 == 0x400 * so this is address R_VEC+0x400 == 0xbfc00400 */ -#ifdef CONFIG_PURPLE -/* 0xbfc00400 */ - .word 0xdc870000 - .word 0xfca70000 - .word 0x20840008 - .word 0x20a50008 - .word 0x20c6ffff - .word 0x14c0fffa - .word 0x00000000 - .word 0x03e00008 - .word 0x00000000 - .word 0x00000000 -/* 0xbfc00428 */ - .word 0xdc870000 - .word 0xfca70000 - .word 0x20840008 - .word 0x20a50008 - .word 0x20c6ffff - .word 0x14c0fffa - .word 0x00000000 - .word 0x03e00008 - .word 0x00000000 - .word 0x00000000 -#endif /* CONFIG_PURPLE */ .align 4 reset:
@@ -337,17 +310,12 @@ relocate_code: move a0, t1 /* a0 <-- destination addr */ sub a1, t2, t0 /* a1 <-- size */ - /* On the purple board we copy the code earlier in a special way - * in order to solve flash problems - */ -#ifndef CONFIG_PURPLE 1: lw t3, 0(t0) sw t3, 0(t1) addu t0, 4 ble t0, t2, 1b addu t1, 4 /* delay slot */ -#endif /* If caches were enabled, we would have to flush them here. */
arch/mips/include/asm/inca-ip.h +0 -10
@@ -894,12 +894,7 @@/* Module : EBU register address and bits */ /***********************************************************************/ -#if defined(CONFIG_INCA_IP )#define INCA_IP_EBU (0xB8000200) -#elif defined(CONFIG_PURPLE ) -#define INCA_IP_EBU (0xB800D800) -#endif -/***********************************************************************/
@@ -1495,12 +1490,7 @@ If set and clear bit are written concurrently with 1, the associated bit is not/* Module : ASC register address and bits */ /***********************************************************************/ -#if defined(CONFIG_INCA_IP )#define INCA_IP_ASC (0xB8000400) -#elif defined(CONFIG_PURPLE ) -#define INCA_IP_ASC (0xBE500000) -#endif -/***********************************************************************/
arch/mips/lib/board.c +0 -10
@@ -162,9 +162,6 @@ void board_init_f(ulong bootflag)init_fnc_t **init_fnc_ptr;ulong addr, addr_sp, len = (ulong )&uboot_end -CONFIG_SYS_MONITOR_BASE ;ulong *s; -#ifdef CONFIG_PURPLE -void copy_code (ulong ); -#endif /* Pointer is writable since we allocated a register for it. */
@@ -253,13 +250,6 @@ void board_init_f(ulong bootflag)memcpy (id, (void *)gd,sizeof (gd_t)); -/* On the purple board we copy the code in a special way -* in order to solve flash problems -*/ -#ifdef CONFIG_PURPLE -copy_code (addr); -#endif -relocate_code (addr_sp, id, addr);/* NOTREACHED - relocate_code() does not return */
board/purple/Makefile deleted +0 -46
46 lines not on this page · raw message
board/purple/config.mk deleted +0 -32
@@ -1,32 +0,0 @@ -# -# (C) Copyright 2003 -# Wolfgang Denk, DENX Software Engineering, wd at denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# 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. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -# -# Purple board with MIPS 5Kc CPU core -# - -# ROM version -CONFIG_SYS_TEXT_BASE = 0xB0000000 - -# RAM version -#CONFIG_SYS_TEXT_BASE = 0x80100000
board/purple/flash.c deleted +0 -595
595 lines not on this page · raw message
board/purple/lowlevel_init.S deleted +0 -36
@@ -1,36 +0,0 @@ -/* - * Memory sub-system initialization code for PURPLE development board. - * - * Copyright (c) 2003 Wolfgang Denk <[email protected]> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <config.h> -#include <asm/regdef.h> - -#define MC_IOGP 0xBF800800 - - .globl lowlevel_init -lowlevel_init: - li t0, MC_IOGP - li t1, 0xf24 - sw t1, 0(t0) - jr ra - nop
board/purple/purple.c deleted +0 -284
284 lines not on this page · raw message
board/purple/sconsole.c deleted +0 -125
125 lines not on this page · raw message
board/purple/sconsole.h deleted +0 -46
46 lines not on this page · raw message
board/purple/u-boot.lds deleted +0 -75
75 lines not on this page · raw message
boards.cfg +0 -1
@@ -228,7 +228,6 @@ incaip_100MHz mips mips incaip - incaip_133MHz mips mips incaip - - incaip:CPU_CLOCK_RATE=133000000 incaip_150MHz mips mips incaip - - incaip:CPU_CLOCK_RATE=150000000 pb1000 mips mips pb1x00 - - pb1x00:PB1000 -purple mips mips qemu_mips mips mips qemu-mips - - qemu-mips tb0229 mips mips vct_premium mips mips vct micronas - vct:VCT_PREMIUM
doc/README.Purple deleted +0 -84
84 lines not on this page · raw message
include/configs/purple.h deleted +0 -173
173 lines not on this page · raw message
--
1.7.4.1
PATCH v3 2/5 MIPS: Move content of arch/mips/cpu to arch/mips/cpu/mips32
In reply to daniel.schwierzeck at googlemail.comAll current CPUs and SoCs are based on Mips32 arch. The complete code resides in the global arch/mips/cpu directory. This is not suitable if other Mips architectures like Mips64 or Octeon should be supported in the future.
To achieve this the current CPU code is moved to its own mips32 subdirectory. All Mips32 boards have to use mips32 as config switch in board.cfg.
---
arch/mips/cpu/{ => mips32}/Makefile | 0
arch/mips/cpu/{ => mips32}/asc_serial.c | 0
arch/mips/cpu/{ => mips32}/asc_serial.h | 0
arch/mips/cpu/{ => mips32}/au1x00_eth.c | 0
arch/mips/cpu/{ => mips32}/au1x00_serial.c | 0
arch/mips/cpu/{ => mips32}/au1x00_usb_ohci.c | 0
arch/mips/cpu/{ => mips32}/au1x00_usb_ohci.h | 0
arch/mips/cpu/{ => mips32}/cache.S | 0
arch/mips/cpu/{ => mips32}/config.mk | 0
arch/mips/cpu/{ => mips32}/cpu.c | 0
arch/mips/cpu/{ => mips32}/incaip_clock.c | 0
arch/mips/cpu/{ => mips32}/incaip_wdt.S | 0
arch/mips/cpu/{ => mips32}/interrupts.c | 0
arch/mips/cpu/{ => mips32}/start.S | 0
boards.cfg | 50 +++++++++++++-------------
15 files changed, 25 insertions(+), 25 deletions(-)
rename arch/mips/cpu/{ => mips32}/Makefile (100%)
rename arch/mips/cpu/{ => mips32}/asc_serial.c (100%)
rename arch/mips/cpu/{ => mips32}/asc_serial.h (100%)
rename arch/mips/cpu/{ => mips32}/au1x00_eth.c (100%)
rename arch/mips/cpu/{ => mips32}/au1x00_serial.c (100%)
rename arch/mips/cpu/{ => mips32}/au1x00_usb_ohci.c (100%)
rename arch/mips/cpu/{ => mips32}/au1x00_usb_ohci.h (100%)
rename arch/mips/cpu/{ => mips32}/cache.S (100%)
rename arch/mips/cpu/{ => mips32}/config.mk (100%)
rename arch/mips/cpu/{ => mips32}/cpu.c (100%)
rename arch/mips/cpu/{ => mips32}/incaip_clock.c (100%)
rename arch/mips/cpu/{ => mips32}/incaip_wdt.S (100%)
rename arch/mips/cpu/{ => mips32}/interrupts.c (100%)
rename arch/mips/cpu/{ => mips32}/start.S (100%)arch/mips/cpu/mips32/Makefile renamed from arch/mips/cpu/Makefile +0 -0
arch/mips/cpu/mips32/asc_serial.c renamed from arch/mips/cpu/asc_serial.c +0 -0
arch/mips/cpu/mips32/asc_serial.h renamed from arch/mips/cpu/asc_serial.h +0 -0
arch/mips/cpu/mips32/au1x00_eth.c renamed from arch/mips/cpu/au1x00_eth.c +0 -0
arch/mips/cpu/mips32/au1x00_serial.c renamed from arch/mips/cpu/au1x00_serial.c +0 -0
arch/mips/cpu/mips32/au1x00_usb_ohci.c renamed from arch/mips/cpu/au1x00_usb_ohci.c +0 -0
arch/mips/cpu/mips32/au1x00_usb_ohci.h renamed from arch/mips/cpu/au1x00_usb_ohci.h +0 -0
arch/mips/cpu/mips32/cache.S renamed from arch/mips/cpu/cache.S +0 -0
arch/mips/cpu/mips32/config.mk renamed from arch/mips/cpu/config.mk +0 -0
arch/mips/cpu/mips32/cpu.c renamed from arch/mips/cpu/cpu.c +0 -0
arch/mips/cpu/mips32/incaip_clock.c renamed from arch/mips/cpu/incaip_clock.c +0 -0
arch/mips/cpu/mips32/incaip_wdt.S renamed from arch/mips/cpu/incaip_wdt.S +0 -0
arch/mips/cpu/mips32/interrupts.c renamed from arch/mips/cpu/interrupts.c +0 -0
arch/mips/cpu/mips32/start.S renamed from arch/mips/cpu/start.S +0 -0
boards.cfg +25 -25
56 lines not on this page · raw message
--
1.7.4.1
PATCH v3 3/5 MIPS: Optimize the setup of CPU optimization flags
In reply to daniel.schwierzeck at googlemail.comThe current MIPS CPU config.mk code always expects a Mips 4kc core. This is not appropiate for other CPUs and SoCs.
Replace the current MIPSFLAGS code by cc-option macro and use -march=mips32r2 as default optimization level for all Mips32 CPUs.
Note: Since commit f62fb99941c625605aa16a0097b396a5c16d2c88 all toolchains with binutils prior to v2.16 are not working anymore. As agreed with Shinya Kuribayashi the support for those toolchains will be dropped officially with this patch.
--- arch/mips/cpu/mips32/config.mk | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
arch/mips/cpu/mips32/config.mk +8 -7
@@ -20,13 +20,14 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # -v=$(shell $(AS) --version | grep 'GNU assembler' | egrep -o '2\.[0-9\.]+' | cut -d. -f2) -MIPSFLAGS:=$(shell \ -if [ "$v" -lt "14" ]; then \ - echo "-mcpu=4kc"; \ -else \ - echo "-march=4kc -mtune=4kc"; \ -fi) + +# +# Default optimization level for MIPS32 +# +# Note: Toolchains with binutils prior to v2.16 +# are no longer supported by U-Boot MIPS tree! +# +MIPSFLAGS = -march=mips32r2 ifneq (,$(findstring 4KCle,$(CROSS_COMPILE))) ENDIANNESS = -EL
--
1.7.4.1
PATCH v3 4/5 MIPS: IncaIP: Move all IncaIP specific code to separate subdirectory
In reply to daniel.schwierzeck at googlemail.comIncaIP is a SoC and its specific code should reside in an own SoC subdirectory. Also add -mtune=4kc flag for CPU optimization.
---
arch/mips/cpu/mips32/Makefile | 2 -
arch/mips/cpu/mips32/incaip/Makefile | 46 ++++++++++++++++++++++
arch/mips/cpu/mips32/{ => incaip}/asc_serial.c | 0
arch/mips/cpu/mips32/{ => incaip}/asc_serial.h | 0
arch/mips/cpu/mips32/incaip/config.mk | 24 +++++++++++
arch/mips/cpu/mips32/{ => incaip}/incaip_clock.c | 0
arch/mips/cpu/mips32/{ => incaip}/incaip_wdt.S | 0
boards.cfg | 8 ++--
8 files changed, 74 insertions(+), 6 deletions(-)
create mode 100644 arch/mips/cpu/mips32/incaip/Makefile
rename arch/mips/cpu/mips32/{ => incaip}/asc_serial.c (100%)
rename arch/mips/cpu/mips32/{ => incaip}/asc_serial.h (100%)
create mode 100644 arch/mips/cpu/mips32/incaip/config.mk
rename arch/mips/cpu/mips32/{ => incaip}/incaip_clock.c (100%)
rename arch/mips/cpu/mips32/{ => incaip}/incaip_wdt.S (100%)arch/mips/cpu/mips32/Makefile +0 -2
@@ -29,8 +29,6 @@ START = start.o SOBJS-y = cache.o COBJS-y = cpu.o interrupts.o -SOBJS-$(CONFIG_INCA_IP) += incaip_wdt.o -COBJS-$(CONFIG_INCA_IP) += asc_serial.o incaip_clock.o COBJS-$(CONFIG_SOC_AU1X00) += au1x00_eth.o au1x00_serial.o au1x00_usb_ohci.o SRCS := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
arch/mips/cpu/mips32/incaip/Makefile new file +46 -0
46 lines not on this page · raw message
arch/mips/cpu/mips32/incaip/asc_serial.c renamed from arch/mips/cpu/mips32/asc_serial.c +0 -0
arch/mips/cpu/mips32/incaip/asc_serial.h renamed from arch/mips/cpu/mips32/asc_serial.h +0 -0
arch/mips/cpu/mips32/incaip/config.mk new file +24 -0
@@ -0,0 +1,24 @@ +# +# (C) Copyright 2011 +# Wolfgang Denk, DENX Software Engineering, wd at denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +PLATFORM_CPPFLAGS += -mtune=4kc
arch/mips/cpu/mips32/incaip/incaip_clock.c renamed from arch/mips/cpu/mips32/incaip_clock.c +0 -0
arch/mips/cpu/mips32/incaip/incaip_wdt.S renamed from arch/mips/cpu/mips32/incaip_wdt.S +0 -0
boards.cfg +4 -4
@@ -223,10 +223,10 @@ dbau1500 mips mips32 dbau1x00 - dbau1550 mips mips32 dbau1x00 - - dbau1x00:DBAU1550 dbau1550_el mips mips32 dbau1x00 - - dbau1x00:DBAU1550 gth2 mips mips32 -incaip mips mips32 -incaip_100MHz mips mips32 incaip - - incaip:CPU_CLOCK_RATE=100000000 -incaip_133MHz mips mips32 incaip - - incaip:CPU_CLOCK_RATE=133000000 -incaip_150MHz mips mips32 incaip - - incaip:CPU_CLOCK_RATE=150000000 +incaip mips mips32 incaip - incaip +incaip_100MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=100000000 +incaip_133MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=133000000 +incaip_150MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=150000000 pb1000 mips mips32 pb1x00 - - pb1x00:PB1000 qemu_mips mips mips32 qemu-mips - - qemu-mips tb0229 mips mips32
--
1.7.4.1
PATCH v3 5/5 MIPS: Au1x00: Move all Au1x00 specific code to separate subdirectory
In reply to daniel.schwierzeck at googlemail.comAu1x00 is a SoC and its specific code should reside in an own SoC subdirectory. Also add -mtune=4kc flag for CPU optimization.
---
arch/mips/cpu/mips32/Makefile | 2 -
arch/mips/cpu/mips32/au1x00/Makefile | 45 ++++++++++++++++++++
arch/mips/cpu/mips32/{ => au1x00}/au1x00_eth.c | 0
arch/mips/cpu/mips32/{ => au1x00}/au1x00_serial.c | 0
.../mips/cpu/mips32/{ => au1x00}/au1x00_usb_ohci.c | 0
.../mips/cpu/mips32/{ => au1x00}/au1x00_usb_ohci.h | 0
arch/mips/cpu/mips32/au1x00/config.mk | 24 ++++++++++
boards.cfg | 14 +++---
8 files changed, 76 insertions(+), 9 deletions(-)
create mode 100644 arch/mips/cpu/mips32/au1x00/Makefile
rename arch/mips/cpu/mips32/{ => au1x00}/au1x00_eth.c (100%)
rename arch/mips/cpu/mips32/{ => au1x00}/au1x00_serial.c (100%)
rename arch/mips/cpu/mips32/{ => au1x00}/au1x00_usb_ohci.c (100%)
rename arch/mips/cpu/mips32/{ => au1x00}/au1x00_usb_ohci.h (100%)
create mode 100644 arch/mips/cpu/mips32/au1x00/config.mkarch/mips/cpu/mips32/Makefile +0 -2
@@ -29,8 +29,6 @@ START = start.o SOBJS-y = cache.o COBJS-y = cpu.o interrupts.o -COBJS-$(CONFIG_SOC_AU1X00) += au1x00_eth.o au1x00_serial.o au1x00_usb_ohci.o - SRCS := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) START := $(addprefix $(obj),$(START))
arch/mips/cpu/mips32/au1x00/Makefile new file +45 -0
45 lines not on this page · raw message
arch/mips/cpu/mips32/au1x00/au1x00_eth.c renamed from arch/mips/cpu/mips32/au1x00_eth.c +0 -0
arch/mips/cpu/mips32/au1x00/au1x00_serial.c renamed from arch/mips/cpu/mips32/au1x00_serial.c +0 -0
arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c renamed from arch/mips/cpu/mips32/au1x00_usb_ohci.c +0 -0
arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.h renamed from arch/mips/cpu/mips32/au1x00_usb_ohci.h +0 -0
arch/mips/cpu/mips32/au1x00/config.mk new file +24 -0
@@ -0,0 +1,24 @@ +# +# (C) Copyright 2011 +# Wolfgang Denk, DENX Software Engineering, wd at denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +PLATFORM_CPPFLAGS += -mtune=4kc
boards.cfg +7 -7
@@ -217,17 +217,17 @@ M5282EVB m68k mcf52x2 m5282evb freesca M53017EVB m68k mcf52x2 m53017evb freescale EP2500 m68k mcf52x2 ep2500 Mercury microblaze-generic microblaze microblaze microblaze-generic xilinx -dbau1000 mips mips32 dbau1x00 - - dbau1x00:DBAU1000 -dbau1100 mips mips32 dbau1x00 - - dbau1x00:DBAU1100 -dbau1500 mips mips32 dbau1x00 - - dbau1x00:DBAU1500 -dbau1550 mips mips32 dbau1x00 - - dbau1x00:DBAU1550 -dbau1550_el mips mips32 dbau1x00 - - dbau1x00:DBAU1550 -gth2 mips mips32 +dbau1000 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1000 +dbau1100 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1100 +dbau1500 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1500 +dbau1550 mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550 +dbau1550_el mips mips32 dbau1x00 - au1x00 dbau1x00:DBAU1550 +gth2 mips mips32 - - au1x00 incaip mips mips32 incaip - incaip incaip_100MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=100000000 incaip_133MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=133000000 incaip_150MHz mips mips32 incaip - incaip incaip:CPU_CLOCK_RATE=150000000 -pb1000 mips mips32 pb1x00 - - pb1x00:PB1000 +pb1000 mips mips32 pb1x00 - au1x00 pb1x00:PB1000 qemu_mips mips mips32 qemu-mips - - qemu-mips tb0229 mips mips32 vct_premium mips mips32 vct micronas - vct:VCT_PREMIUM
--
1.7.4.1
v3 cover MIPS: Refactoring and cleanup of CPU and SoC code
In reply to daniel.schwierzeck at googlemail.comQuoted 16 lines · daniel.schwierzeck at googlemail.com
This patch series refactors the Mips CPU directory and put all current code into an own mips32 subdirectory. Furthermore the SoC specific code of IncaIP and Au1x00 is moved to separate SoC subdirectories. The support for Purple is dropped because not actively maintained anymore.
Changes since RFC/v1:
- drop Purple supported as agreed with Wolfgang Denk
- use MIPS rather than Mips in patch subject
- fixed Cc lines in all patchesChanges since v2:
- reverted patch for endianess flag setup
- always use -march=mips32r2 as default CPU optimization for all MIPS32 CPU cores
Quoted 6 lines
Daniel Schwierzeck (5):
MIPS: Purple: Remove Purple support
MIPS: Move content ofarch/mips/cputoarch/mips/cpu/mips32
MIPS: Optimize the setup of CPU optimization flags
MIPS: IncaIP: Move all IncaIP specific code to separate subdirectory
MIPS: Au1x00: Move all Au1x00 specific code to separate subdirectory
I've reviewed and build tested, all patches look good.
Applied and queued to u-boot-mips tree along with several s/Mips/MIPS/ keyword cleanups in the git commitlogs. Will make a pull-request once v2011.03 gets released.