mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	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>
		
	
			
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2011 The Chromium OS Authors.
 | |
|  *
 | |
|  * (C) Copyright 2000 - 2002
 | |
|  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  ********************************************************************
 | |
|  * NOTE: This header file defines an interface to U-Boot. Including
 | |
|  * this (unmodified) header file in another file is considered normal
 | |
|  * use of U-Boot, and does *not* fall under the heading of "derived
 | |
|  * work".
 | |
|  ********************************************************************
 | |
|  */
 | |
| 
 | |
| #ifndef __ASM_GENERIC_U_BOOT_H__
 | |
| #define __ASM_GENERIC_U_BOOT_H__
 | |
| 
 | |
| /*
 | |
|  * Board information passed to Linux kernel from U-Boot
 | |
|  *
 | |
|  * include/asm-ppc/u-boot.h
 | |
|  */
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| typedef struct bd_info {
 | |
| 	unsigned long	bi_memstart;	/* start of DRAM memory */
 | |
| 	phys_size_t	bi_memsize;	/* size	 of DRAM memory in bytes */
 | |
| 	unsigned long	bi_flashstart;	/* start of FLASH memory */
 | |
| 	unsigned long	bi_flashsize;	/* size	 of FLASH memory */
 | |
| 	unsigned long	bi_flashoffset; /* reserved area for startup monitor */
 | |
| 	unsigned long	bi_sramstart;	/* start of SRAM memory */
 | |
| 	unsigned long	bi_sramsize;	/* size	 of SRAM memory */
 | |
| #ifdef CONFIG_ARM
 | |
| 	unsigned long	bi_arm_freq; /* arm frequency */
 | |
| 	unsigned long	bi_dsp_freq; /* dsp core frequency */
 | |
| 	unsigned long	bi_ddr_freq; /* ddr frequency */
 | |
| #endif
 | |
| #if defined(CONFIG_8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
 | |
| 	unsigned long	bi_immr_base;	/* base of IMMR register */
 | |
| #endif
 | |
| #if defined(CONFIG_M68K)
 | |
| 	unsigned long	bi_mbar_base;	/* base of internal registers */
 | |
| #endif
 | |
| #if defined(CONFIG_MPC83xx)
 | |
| 	unsigned long	bi_immrbar;
 | |
| #endif
 | |
| 	unsigned long	bi_bootflags;	/* boot / reboot flag (Unused) */
 | |
| 	unsigned long	bi_ip_addr;	/* IP Address */
 | |
| 	unsigned char	bi_enetaddr[6];	/* OLD: see README.enetaddr */
 | |
| 	unsigned short	bi_ethspeed;	/* Ethernet speed in Mbps */
 | |
| 	unsigned long	bi_intfreq;	/* Internal Freq, in MHz */
 | |
| 	unsigned long	bi_busfreq;	/* Bus Freq, in MHz */
 | |
| #if defined(CONFIG_CPM2)
 | |
| 	unsigned long	bi_cpmfreq;	/* CPM_CLK Freq, in MHz */
 | |
| 	unsigned long	bi_brgfreq;	/* BRG_CLK Freq, in MHz */
 | |
| 	unsigned long	bi_sccfreq;	/* SCC_CLK Freq, in MHz */
 | |
| 	unsigned long	bi_vco;		/* VCO Out from PLL, in MHz */
 | |
| #endif
 | |
| #if defined(CONFIG_M68K)
 | |
| 	unsigned long	bi_ipbfreq;	/* IPB Bus Freq, in MHz */
 | |
| 	unsigned long	bi_pcifreq;	/* PCI Bus Freq, in MHz */
 | |
| #endif
 | |
| #if defined(CONFIG_EXTRA_CLOCK)
 | |
| 	unsigned long bi_inpfreq;	/* input Freq in MHz */
 | |
| 	unsigned long bi_vcofreq;	/* vco Freq in MHz */
 | |
| 	unsigned long bi_flbfreq;	/* Flexbus Freq in MHz */
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_HAS_ETH1
 | |
| 	unsigned char   bi_enet1addr[6];	/* OLD: see README.enetaddr */
 | |
| #endif
 | |
| #ifdef CONFIG_HAS_ETH2
 | |
| 	unsigned char	bi_enet2addr[6];	/* OLD: see README.enetaddr */
 | |
| #endif
 | |
| #ifdef CONFIG_HAS_ETH3
 | |
| 	unsigned char   bi_enet3addr[6];	/* OLD: see README.enetaddr */
 | |
| #endif
 | |
| #ifdef CONFIG_HAS_ETH4
 | |
| 	unsigned char   bi_enet4addr[6];	/* OLD: see README.enetaddr */
 | |
| #endif
 | |
| #ifdef CONFIG_HAS_ETH5
 | |
| 	unsigned char   bi_enet5addr[6];	/* OLD: see README.enetaddr */
 | |
| #endif
 | |
| 
 | |
| 	ulong	        bi_arch_number;	/* unique id for this board */
 | |
| 	ulong	        bi_boot_params;	/* where this board expects params */
 | |
| #ifdef CONFIG_NR_DRAM_BANKS
 | |
| 	struct {			/* RAM configuration */
 | |
| 		phys_addr_t start;
 | |
| 		phys_size_t size;
 | |
| 	} bi_dram[CONFIG_NR_DRAM_BANKS];
 | |
| #endif /* CONFIG_NR_DRAM_BANKS */
 | |
| } bd_t;
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 | |
| 
 | |
| #endif	/* __ASM_GENERIC_U_BOOT_H__ */
 |