[U-Boot] Seperating MIPS processors

Aaron Williams Aaron.Williams at caviumnetworks.com
Sat Feb 12 07:19:07 CET 2011


Hi,

One thing that I have had to do in our Octeon port of U-Boot is to seperate 
out the MIPS processors under /arch/mips/cpu much like has been done for ARM 
and PowerPC.

I have no way of testing the other MIPS platforms, but I've seperated things 
out as follows:

arch/mips/cpu/au1x00
arch/mips/cpu/incaip
arch/mips/cpu/mips32
arch/mips/cpu/octeon
arch/mips/cpu/purple

All of the code that's common between various 32-bit mips processors I put 
under mips32 with only the processor specific files in the appropriate 
directories.  Is this how I should do it?

Right now I can't really use any of the other MIPS files for our Octeon 
processor. There's just too many differences for this to make sense.

I basically have the following directory structure:

arch/mips/cpu/au1x00/au1x00_eth.c
arch/mips/cpu/au1x00/au1x00_serial.c
arch/mips/cpu/au1x00/au1x00_usb_ohci.c
arch/mips/cpu/au1x00/au1x00_usb_ohci.h
arch/mips/cpu/au1x00/config.mk
arch/mips/cpu/au1x00/Makefile
arch/mips/cpu/incaip
arch/mips/cpu/incaip/config.mk
arch/mips/cpu/incaip/incaip_clock.c
arch/mips/cpu/incaip/incaip_wdt.S
arch/mips/cpu/incaip/Makefile
arch/mips/cpu/mips32
arch/mips/cpu/mips32/asc_serial.c
arch/mips/cpu/mips32/asc_serial.h
arch/mips/cpu/mips32/cache.S
arch/mips/cpu/mips32/cpu.c
arch/mips/cpu/mips32/interrupts.c
arch/mips/cpu/mips32/start.S
arch/mips/cpu/octeon
arch/mips/cpu/octeon/asc_serial.c
arch/mips/cpu/octeon/asc_serial.h
arch/mips/cpu/octeon/au1x00_eth.c
arch/mips/cpu/octeon/au1x00_serial.c
arch/mips/cpu/octeon/commands
arch/mips/cpu/octeon/commands/cmd_ddr.c
arch/mips/cpu/octeon/commands/cmd_eeprom.c
arch/mips/cpu/octeon/commands/cmd_elf64.c
arch/mips/cpu/octeon/commands/cmd_octeon_bootloader.c
arch/mips/cpu/octeon/commands/cmd_octeon.c
arch/mips/cpu/octeon/commands/cmd_octeon_linux.c
arch/mips/cpu/octeon/commands/cmd_octeon_mem.c
arch/mips/cpu/octeon/commands/cmd_octeon_nand.c
arch/mips/cpu/octeon/commands/cmd_octeon_tlveeprom.c
arch/mips/cpu/octeon/commands/cmd_qlm.c
arch/mips/cpu/octeon/config.mk
arch/mips/cpu/octeon/cpu.c
arch/mips/cpu/octeon/cvmx
arch/mips/cpu/octeon/cvmx/Makefile
arch/mips/cpu/octeon/dfm.c
arch/mips/cpu/octeon/incaip_clock.c
arch/mips/cpu/octeon/incaip_wdt.S
arch/mips/cpu/octeon/interrupts.c
arch/mips/cpu/octeon/lib_octeon.c
arch/mips/cpu/octeon/lib_octeon_shared.c
arch/mips/cpu/octeon/Makefile
arch/mips/cpu/octeon/memcpy.c
arch/mips/cpu/octeon/memset.c
arch/mips/cpu/octeon/mips_linux.c
arch/mips/cpu/octeon/octeon_boot.c
arch/mips/cpu/octeon/octeon_cf.c
arch/mips/cpu/octeon/octeon_dram.c
arch/mips/cpu/octeon/octeon_eth.c
arch/mips/cpu/octeon/octeon_io.c
arch/mips/cpu/octeon/octeon_ipd_bp_enable.S
arch/mips/cpu/octeon/octeon_ipd_bp_verify.c
arch/mips/cpu/octeon/octeon_nand.c
arch/mips/cpu/octeon/octeon_pci.c
arch/mips/cpu/octeon/octeon_pcie.c
arch/mips/cpu/octeon/octeon_serial.c
arch/mips/cpu/octeon/start.S
arch/mips/cpu/purple
arch/mips/cpu/purple/config.mk
arch/mips/cpu/purple/Makefile


While it might be quite a while until I can get our stuff into the mainline, 
it would certainly make things easier for me not to have to place our stuff in 
the same directory as the other processors.

-Aaron


More information about the U-Boot mailing list