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>
2017-07-06 08:23:22 +00:00
|
|
|
menu "mpc8xx CPU"
|
2018-03-16 16:20:41 +00:00
|
|
|
depends on MPC8xx
|
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>
2017-07-06 08:23:22 +00:00
|
|
|
|
|
|
|
config SYS_CPU
|
|
|
|
default "mpc8xx"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Target select"
|
|
|
|
optional
|
|
|
|
|
2017-07-07 08:16:42 +00:00
|
|
|
config TARGET_MCR3000
|
|
|
|
bool "Support MCR3000 board from CSSI"
|
|
|
|
|
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>
2017-07-06 08:23:22 +00:00
|
|
|
endchoice
|
|
|
|
|
2017-07-06 08:33:21 +00:00
|
|
|
choice
|
|
|
|
prompt "CPU select"
|
|
|
|
default MPC866
|
|
|
|
|
|
|
|
config MPC866
|
|
|
|
bool "MPC866"
|
|
|
|
|
|
|
|
config MPC885
|
|
|
|
bool "MPC885"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2019-04-11 13:58:46 +00:00
|
|
|
#config MPC8xx_WATCHDOG
|
|
|
|
# bool "Watchdog"
|
|
|
|
# select HW_WATCHDOG
|
2018-03-16 16:21:01 +00:00
|
|
|
|
2017-07-06 08:33:21 +00:00
|
|
|
config 8xx_GCLK_FREQ
|
|
|
|
int "CPU GCLK Frequency"
|
|
|
|
|
2017-07-06 08:33:09 +00:00
|
|
|
comment "Specific commands"
|
|
|
|
|
|
|
|
config CMD_IMMAP
|
|
|
|
bool "Enable various commands to dump IMMR information"
|
|
|
|
help
|
|
|
|
This enables various commands such as:
|
|
|
|
|
|
|
|
siuinfo - print System Interface Unit (SIU) registers
|
|
|
|
memcinfo - print Memory Controller registers
|
2017-07-06 08:33:21 +00:00
|
|
|
|
|
|
|
comment "Configuration Registers"
|
|
|
|
|
|
|
|
config SYS_SIUMCR
|
|
|
|
hex "SIUMCR register"
|
|
|
|
help
|
|
|
|
SIU Module Configuration (11-6)
|
|
|
|
|
|
|
|
config SYS_SYPCR
|
|
|
|
hex "SYPCR register"
|
|
|
|
help
|
|
|
|
System Protection Control (11-9)
|
|
|
|
|
|
|
|
config SYS_TBSCR
|
|
|
|
hex "TBSCR register"
|
|
|
|
help
|
|
|
|
Time Base Status and Control (11-26)
|
|
|
|
|
|
|
|
config SYS_PISCR
|
|
|
|
hex "PISCR register"
|
|
|
|
help
|
|
|
|
Periodic Interrupt Status and Control (11-31)
|
|
|
|
|
|
|
|
config SYS_PLPRCR_BOOL
|
|
|
|
bool "Customise PLPRCR"
|
|
|
|
|
|
|
|
config SYS_PLPRCR
|
|
|
|
hex "PLPRCR register"
|
|
|
|
depends on SYS_PLPRCR_BOOL
|
|
|
|
help
|
|
|
|
PLL, Low-Power, and Reset Control Register (15-30)
|
|
|
|
|
|
|
|
config SYS_SCCR
|
|
|
|
hex "SCCR register"
|
|
|
|
help
|
|
|
|
System Clock and reset Control Register (15-27)
|
|
|
|
|
|
|
|
config SYS_SCCR_MASK
|
|
|
|
hex "MASK for setting SCCR register"
|
|
|
|
|
|
|
|
config SYS_DER
|
|
|
|
hex "DER register"
|
|
|
|
help
|
|
|
|
Debug Event Register (37-47)
|
|
|
|
|
|
|
|
comment "Memory mapping"
|
|
|
|
|
|
|
|
config SYS_BR0_PRELIM
|
|
|
|
hex "Preliminary value for BR0"
|
|
|
|
|
|
|
|
config SYS_OR0_PRELIM
|
|
|
|
hex "Preliminary value for OR0"
|
|
|
|
|
|
|
|
config SYS_BR1_PRELIM_BOOL
|
|
|
|
bool "Define Bank 1"
|
|
|
|
|
|
|
|
config SYS_BR1_PRELIM
|
|
|
|
hex "Preliminary value for BR1"
|
|
|
|
depends on SYS_BR1_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR1_PRELIM
|
|
|
|
hex "Preliminary value for OR1"
|
|
|
|
depends on SYS_BR1_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR2_PRELIM_BOOL
|
|
|
|
bool "Define Bank 2"
|
|
|
|
|
|
|
|
config SYS_BR2_PRELIM
|
|
|
|
hex "Preliminary value for BR2"
|
|
|
|
depends on SYS_BR2_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR2_PRELIM
|
|
|
|
hex "Preliminary value for OR2"
|
|
|
|
depends on SYS_BR2_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR3_PRELIM_BOOL
|
|
|
|
bool "Define Bank 3"
|
|
|
|
|
|
|
|
config SYS_BR3_PRELIM
|
|
|
|
hex "Preliminary value for BR3"
|
|
|
|
depends on SYS_BR3_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR3_PRELIM
|
|
|
|
hex "Preliminary value for OR3"
|
|
|
|
depends on SYS_BR3_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR4_PRELIM_BOOL
|
|
|
|
bool "Define Bank 4"
|
|
|
|
|
|
|
|
config SYS_BR4_PRELIM
|
|
|
|
hex "Preliminary value for BR4"
|
|
|
|
depends on SYS_BR4_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR4_PRELIM
|
|
|
|
hex "Preliminary value for OR4"
|
|
|
|
depends on SYS_BR4_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR5_PRELIM_BOOL
|
|
|
|
bool "Define Bank 5"
|
|
|
|
|
|
|
|
config SYS_BR5_PRELIM
|
|
|
|
hex "Preliminary value for BR5"
|
|
|
|
depends on SYS_BR5_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR5_PRELIM
|
|
|
|
hex "Preliminary value for OR5"
|
|
|
|
depends on SYS_BR5_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR6_PRELIM_BOOL
|
|
|
|
bool "Define Bank 6"
|
|
|
|
|
|
|
|
config SYS_BR6_PRELIM
|
|
|
|
hex "Preliminary value for BR6"
|
|
|
|
depends on SYS_BR6_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR6_PRELIM
|
|
|
|
hex "Preliminary value for OR6"
|
|
|
|
depends on SYS_BR6_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_BR7_PRELIM_BOOL
|
|
|
|
bool "Define Bank 7"
|
|
|
|
|
|
|
|
config SYS_BR7_PRELIM
|
|
|
|
hex "Preliminary value for BR7"
|
|
|
|
depends on SYS_BR7_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_OR7_PRELIM
|
|
|
|
hex "Preliminary value for OR7"
|
|
|
|
depends on SYS_BR7_PRELIM_BOOL
|
|
|
|
|
|
|
|
config SYS_IMMR
|
|
|
|
hex "Value for IMMR"
|
|
|
|
|
2017-07-07 08:16:42 +00:00
|
|
|
source "board/cssi/MCR3000/Kconfig"
|
|
|
|
|
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>
2017-07-06 08:23:22 +00:00
|
|
|
endmenu
|