powerpc: Partialy restore core of mpc8xx
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 6 Jul 2017 08:23:22 +0000 (10:23 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 8 Jul 2017 19:55:26 +0000 (15:55 -0400)
commit907208c452999427cb2f43450308045bf8b42958
tree2a821dd7bb6f07627a9d307baf04c2e9ad36a006
parent7f1380e835568440e1ae511b7a6311f657ecf2de
powerpc: Partialy restore core of mpc8xx

CS Systemes d'Information (CSSI) manufactures 8xx boards for
critical communication systems. Those boards have been
running U-Boot since 2010 and will have to be maintained
until at least 2027.

commit 5b8e76c35ec312a3f73126bd1a2d2c0965b98a9f
("powerpc, 8xx: remove support for 8xx") orphaned those boards
by removing support for the mpc8xx CPU.

This commit partially restores support for the 8xx, with the
following limitations:
- Restores support for MPC866 and MPC885 only
- Does not restore IDE, PCMCIA, I2C, USB
- Does not restore examples
- Does not restore POST
- Does not restore Ethernet on SCC
- Does not restore console on SCC
- Does not restore bedbug and kgdb support

As the 866 and 885 do not support the following features,
they are not restored either:
- VIDEO / LCD
- RTC clock

The CPM uCODE patch is not restored either, because:
- 866 and 885 already have support for I2C and SPI relocation
without a uCODE patch
- relocation of SMC, I2C or SPI is only needed for using SCCs
for Ethernet or QMC

The dynamic setup/calculation of clocks is removed, we
expect the target being use with the clock and PLPRCR register
defined in the configuration.
All the clock settings for 8xx prior to 866 is removed as
well as we now only support 866 and 885.

This code is mature and addresses mature boards. Therefore
all code enclosed in '#if 0/#endif' and '#if XX_DEBUG/#endif'
is unneeded.

The following files are not restored by this patch:

- arch/powerpc/cpu/mpc8xx/bedbug_860.c
- arch/powerpc/cpu/mpc8xx/fec.h
- arch/powerpc/cpu/mpc8xx/kgdb.S
- arch/powerpc/cpu/mpc8xx/plprcr_write.S
- arch/powerpc/cpu/mpc8xx/scc.c
- arch/powerpc/cpu/mpc8xx/upatch.c
- arch/powerpc/cpu/mpc8xx/video.c
- arch/powerpc/include/asm/status_led.h
- arch/powerpc/lib/ide.c
- arch/powerpc/lib/ide.h
- doc/README.MPC866
- drivers/pcmcia/mpc8xx_pcmcia.c
- drivers/rtc/mpc8xx.c
- drivers/usb/gadget/mpc8xx_udc.c
- drivers/video/mpc8xx_lcd.c
- examples/standalone/test_burst.c
- examples/standalone/test_burst.h
- examples/standalone/test_burst_lib.S
- examples/standalone/timer.c
- include/mpc823_lcd.h
- include/usb/mpc8xx_udc.h
- post/cpu/mpc8xx/Makefile
- post/cpu/mpc8xx/cache.c
- post/cpu/mpc8xx/cache_8xx.S
- post/cpu/mpc8xx/ether.c
- post/cpu/mpc8xx/spr.c
- post/cpu/mpc8xx/uart.c
- post/cpu/mpc8xx/usb.c
- post/cpu/mpc8xx/watchdog.c

Some of the restored files are not located in a proper location.
In order to keep traceability of the changes, they will be
moved to their correct location and moved to Kconfig in a
followup patch.

This patch also declares CSSI as point of contact for the update
of the 8xx platform, as those boards are the only ones still
being maintained on the 8xx area. A later patch will add
those boards to the tree.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
34 files changed:
MAINTAINERS
README
api/api_platform-powerpc.c
arch/powerpc/Kconfig
arch/powerpc/cpu/mpc8xx/Kconfig [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/Makefile [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/config.mk [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/cpu.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/cpu_init.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/fdt.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/fec.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/interrupts.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/serial.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/speed.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/spi.c [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/start.S [new file with mode: 0644]
arch/powerpc/cpu/mpc8xx/traps.c [new file with mode: 0644]
arch/powerpc/include/asm/8xx_immap.h [new file with mode: 0644]
arch/powerpc/include/asm/cache.h
arch/powerpc/include/asm/global_data.h
arch/powerpc/include/asm/iopin_8xx.h [new file with mode: 0644]
arch/powerpc/include/asm/ppc.h
arch/powerpc/lib/Kconfig [new file with mode: 0644]
arch/powerpc/lib/Makefile
arch/powerpc/lib/immap.c [new file with mode: 0644]
arch/powerpc/lib/time.c
cmd/bdinfo.c
cmd/reginfo.c
include/asm-generic/u-boot.h
include/commproc.h [new file with mode: 0644]
include/mpc8xx.h
include/ppc_asm.tmpl
include/watchdog.h
scripts/config_whitelist.txt