diff options
| author | Becky Bruce <beckyb@kernel.crashing.org> | 2009-02-03 18:10:51 -0600 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-02-10 00:27:40 +0100 | 
| commit | d35ae5a938679bd7e18167faf79d0fb3c6639b51 (patch) | |
| tree | f19b433e6645157d2ddc4e6c843c72a3c6bbfd80 | |
| parent | 6e61fae4d360a1380b63e7d007b31477e366bcce (diff) | |
| download | olio-uboot-2014.01-d35ae5a938679bd7e18167faf79d0fb3c6639b51.tar.xz olio-uboot-2014.01-d35ae5a938679bd7e18167faf79d0fb3c6639b51.zip | |
powerpc: Move duplicated BAT defines to mmu.h
The BAT fields are architected; there's no need for these to be in
cpu-specific files.  Drop the duplication and move these to
include/asm-ppc/mmu.h.  Also, remove the BL_xxx defines that were only
used by the alaska board, and switch to using the BATU_BL_xxx defines
used by all the other boards.  The BL_ defines previously in use
had to be shifted into the proper position for use, which was inefficient.
Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
| -rw-r--r-- | board/alaska/alaska.c | 36 | ||||
| -rw-r--r-- | board/etin/debris/flash.c | 1 | ||||
| -rw-r--r-- | board/etin/kvme080/kvme080.c | 1 | ||||
| -rw-r--r-- | include/74xx_7xx.h | 37 | ||||
| -rw-r--r-- | include/asm-ppc/e300.h | 35 | ||||
| -rw-r--r-- | include/asm-ppc/mmu.h | 57 | ||||
| -rw-r--r-- | include/mpc824x.h | 39 | ||||
| -rw-r--r-- | include/mpc86xx.h | 41 | 
8 files changed, 64 insertions, 183 deletions
| diff --git a/board/alaska/alaska.c b/board/alaska/alaska.c index 33b4a6ee4..89c1abd23 100644 --- a/board/alaska/alaska.c +++ b/board/alaska/alaska.c @@ -33,9 +33,9 @@ void setupBat (ulong size)  	/* Flash 0 */  #if defined (CONFIG_SYS_AMD_BOOT) -	batu = CONFIG_SYS_FLASH0_BASE | (BL_512K << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_FLASH0_BASE | BATU_BL_512K | BPP_RW | BPP_RX;  #else -	batu = CONFIG_SYS_FLASH0_BASE | (BL_16M << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_FLASH0_BASE | BATU_BL_16M | BPP_RW | BPP_RX;  #endif  	batl = CONFIG_SYS_FLASH0_BASE | 0x22;  	write_bat (IBAT0, batu, batl); @@ -43,22 +43,22 @@ void setupBat (ulong size)  	/* Flash 1 */  #if defined (CONFIG_SYS_AMD_BOOT) -	batu = CONFIG_SYS_FLASH1_BASE | (BL_16M << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_FLASH1_BASE | BATU_BL_16M | BPP_RW | BPP_RX;  #else -	batu = CONFIG_SYS_FLASH1_BASE | (BL_512K << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_FLASH1_BASE | BATU_BL_512K | BPP_RW | BPP_RX;  #endif  	batl = CONFIG_SYS_FLASH1_BASE | 0x22;  	write_bat (IBAT1, batu, batl);  	write_bat (DBAT1, batu, batl);  	/* CPLD */ -	batu = CONFIG_SYS_CPLD_BASE | (BL_512K << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_CPLD_BASE | BATU_BL_512K | BPP_RW | BPP_RX;  	batl = CONFIG_SYS_CPLD_BASE | 0x22;  	write_bat (IBAT2, 0, 0);  	write_bat (DBAT2, batu, batl);  	/* FPGA */ -	batu = CONFIG_SYS_FPGA_BASE | (BL_512K << 2) | BPP_RW | BPP_RX; +	batu = CONFIG_SYS_FPGA_BASE | BATU_BL_512K | BPP_RW | BPP_RX;  	batl = CONFIG_SYS_FPGA_BASE | 0x22;  	write_bat (IBAT3, 0, 0);  	write_bat (DBAT3, batu, batl); @@ -80,17 +80,17 @@ void setupBat (ulong size)  	mtspr (DBAT5U, batu);  	if (size <= 0x800000)	/* 8MB */ -		blocksize = BL_8M << 2; +		blocksize = BATU_BL_8M;  	else if (size <= 0x1000000)	/* 16MB */ -		blocksize = BL_16M << 2; +		blocksize = BATU_BL_16M;  	else if (size <= 0x2000000)	/* 32MB */ -		blocksize = BL_32M << 2; +		blocksize = BATU_BL_32M;  	else if (size <= 0x4000000)	/* 64MB */ -		blocksize = BL_64M << 2; +		blocksize = BATU_BL_64M;  	else if (size <= 0x8000000)	/* 128MB */ -		blocksize = BL_128M << 2; +		blocksize = BATU_BL_128M;  	else if (size <= 0x10000000)	/* 256MB */ -		blocksize = BL_256M << 2; +		blocksize = BATU_BL_256M;  	/* Memory */  	batu = CONFIG_SYS_SDRAM_BASE | blocksize | BPP_RW | BPP_RX; @@ -108,17 +108,17 @@ void setupBat (ulong size)  	} else {  		size -= 0x10000000;  		if (size <= 0x800000)	/* 8MB */ -			blocksize = BL_8M << 2; +			blocksize = BATU_BL_8M;  		else if (size <= 0x1000000)	/* 16MB */ -			blocksize = BL_16M << 2; +			blocksize = BATU_BL_16M;  		else if (size <= 0x2000000)	/* 32MB */ -			blocksize = BL_32M << 2; +			blocksize = BATU_BL_32M;  		else if (size <= 0x4000000)	/* 64MB */ -			blocksize = BL_64M << 2; +			blocksize = BATU_BL_64M;  		else if (size <= 0x8000000)	/* 128MB */ -			blocksize = BL_128M << 2; +			blocksize = BATU_BL_128M;  		else if (size <= 0x10000000)	/* 256MB */ -			blocksize = BL_256M << 2; +			blocksize = BATU_BL_256M;  		batu = (CONFIG_SYS_SDRAM_BASE +  			0x10000000) | blocksize | BPP_RW | BPP_RX; diff --git a/board/etin/debris/flash.c b/board/etin/debris/flash.c index a3c813884..f9e861942 100644 --- a/board/etin/debris/flash.c +++ b/board/etin/debris/flash.c @@ -27,6 +27,7 @@  #include <asm/processor.h>  #include <asm/pci_io.h>  #include <mpc824x.h> +#include <asm/mmu.h>  int (*do_flash_erase)(flash_info_t*, uint32_t, uint32_t);  int (*write_dword)(flash_info_t*, ulong, uint64_t); diff --git a/board/etin/kvme080/kvme080.c b/board/etin/kvme080/kvme080.c index 8c6afc9ca..21616f540 100644 --- a/board/etin/kvme080/kvme080.c +++ b/board/etin/kvme080/kvme080.c @@ -27,6 +27,7 @@  #include <i2c.h>  #include <netdev.h>  #include <asm/processor.h> +#include <asm/mmu.h>  int checkboard(void)  { diff --git a/include/74xx_7xx.h b/include/74xx_7xx.h index 4a03cecb5..69a217487 100644 --- a/include/74xx_7xx.h +++ b/include/74xx_7xx.h @@ -66,43 +66,6 @@  #define L2CR_L2OH_INV    0x00020000 /* bits 14-15 - output hold time = long */  #define L2CR_L2IP        0x00000001 /* global invalidate in progress */ -/*---------------------------------------------------------------- - * BAT settings.  Look in config_<BOARD>.h for the actual setup - */ - -#define BATU_BL_128K            0x00000000 -#define BATU_BL_256K            0x00000004 -#define BATU_BL_512K            0x0000000c -#define BATU_BL_1M              0x0000001c -#define BATU_BL_2M              0x0000003c -#define BATU_BL_4M              0x0000007c -#define BATU_BL_8M              0x000000fc -#define BATU_BL_16M             0x000001fc -#define BATU_BL_32M             0x000003fc -#define BATU_BL_64M             0x000007fc -#define BATU_BL_128M            0x00000ffc -#define BATU_BL_256M            0x00001ffc - -#define BATU_VS                 0x00000002 -#define BATU_VP                 0x00000001 -#define BATU_INVALID            0x00000000 - -#define BATL_WRITETHROUGH       0x00000040 -#define BATL_CACHEINHIBIT       0x00000020 -#define BATL_MEMCOHERENCE	0x00000010 -#define BATL_GUARDEDSTORAGE     0x00000008 -#define BATL_NO_ACCESS		0x00000000 - -#define BATL_PP_MSK		0x00000003 -#define BATL_PP_00		0x00000000 /* No access */ -#define BATL_PP_01		0x00000001 /* Read-only */ -#define BATL_PP_10		0x00000002 /* Read-write */ -#define BATL_PP_11		0x00000003 - -#define BATL_PP_NO_ACCESS	BATL_PP_00 -#define BATL_PP_RO		BATL_PP_01 -#define BATL_PP_RW		BATL_PP_10 -  #ifndef __ASSEMBLY__  /* cpu ids we detect */  typedef enum __cpu_t { diff --git a/include/asm-ppc/e300.h b/include/asm-ppc/e300.h index 05db0de8f..bfef4dfd6 100644 --- a/include/asm-ppc/e300.h +++ b/include/asm-ppc/e300.h @@ -88,39 +88,4 @@  #define HID2_IWLCK_101 0x0000A000 /* way 0 through way 4 locked */  #define HID2_IWLCK_110 0x0000C000 /* way 0 through way 5 locked */ - -/* BAT (block address translation */ -#define BATU_BEPI_MSK		0xfffe0000 -#define BATU_BL_MSK		0x00001ffc - -#define BATU_BL_128K		0x00000000 -#define BATU_BL_256K		0x00000004 -#define BATU_BL_512K		0x0000000c -#define BATU_BL_1M		0x0000001c -#define BATU_BL_2M		0x0000003c -#define BATU_BL_4M		0x0000007c -#define BATU_BL_8M		0x000000fc -#define BATU_BL_16M		0x000001fc -#define BATU_BL_32M		0x000003fc -#define BATU_BL_64M		0x000007fc -#define BATU_BL_128M		0x00000ffc -#define BATU_BL_256M		0x00001ffc - -#define BATU_VS			0x00000002 -#define BATU_VP			0x00000001 - -#define BATL_BRPN_MSK		0xfffe0000 -#define BATL_WIMG_MSK		0x00000078 - -#define BATL_WRITETHROUGH	0x00000040 -#define BATL_CACHEINHIBIT	0x00000020 -#define BATL_MEMCOHERENCE	0x00000010 -#define BATL_GUARDEDSTORAGE	0x00000008 - -#define BATL_PP_MSK		0x00000003 -#define BATL_PP_00		0x00000000 /* No access */ -#define BATL_PP_01		0x00000001 /* Read-only */ -#define BATL_PP_10		0x00000002 /* Read-write */ -#define BATL_PP_11		0x00000003 -  #endif	/* __E300_H__ */ diff --git a/include/asm-ppc/mmu.h b/include/asm-ppc/mmu.h index 6d942d083..ce04e624d 100644 --- a/include/asm-ppc/mmu.h +++ b/include/asm-ppc/mmu.h @@ -153,19 +153,50 @@ extern void print_bats(void);  #endif /* __ASSEMBLY__ */ -/* Block size masks */ -#define BL_128K	0x000 -#define BL_256K 0x001 -#define BL_512K 0x003 -#define BL_1M   0x007 -#define BL_2M   0x00F -#define BL_4M   0x01F -#define BL_8M   0x03F -#define BL_16M  0x07F -#define BL_32M  0x0FF -#define BL_64M  0x1FF -#define BL_128M 0x3FF -#define BL_256M 0x7FF +#define BATU_VS                 0x00000002 +#define BATU_VP                 0x00000001 +#define BATU_INVALID            0x00000000 + +#define BATL_WRITETHROUGH       0x00000040 +#define BATL_CACHEINHIBIT       0x00000020 +#define BATL_MEMCOHERENCE	0x00000010 +#define BATL_GUARDEDSTORAGE     0x00000008 +#define BATL_NO_ACCESS		0x00000000 + +#define BATL_PP_MSK		0x00000003 +#define BATL_PP_00		0x00000000 /* No access */ +#define BATL_PP_01		0x00000001 /* Read-only */ +#define BATL_PP_10		0x00000002 /* Read-write */ +#define BATL_PP_11		0x00000003 + +#define BATL_PP_NO_ACCESS	BATL_PP_00 +#define BATL_PP_RO		BATL_PP_01 +#define BATL_PP_RW		BATL_PP_10 + +/* BAT Block size values */ +#define BATU_BL_128K            0x00000000 +#define BATU_BL_256K            0x00000004 +#define BATU_BL_512K            0x0000000c +#define BATU_BL_1M              0x0000001c +#define BATU_BL_2M              0x0000003c +#define BATU_BL_4M              0x0000007c +#define BATU_BL_8M              0x000000fc +#define BATU_BL_16M             0x000001fc +#define BATU_BL_32M             0x000003fc +#define BATU_BL_64M             0x000007fc +#define BATU_BL_128M            0x00000ffc +#define BATU_BL_256M            0x00001ffc + +/* Block lengths for processors that support extended block length */ +#ifdef HID0_XBSEN +#define BATU_BL_512M            0x00003ffc +#define BATU_BL_1G              0x00007ffc +#define BATU_BL_2G              0x0000fffc +#define BATU_BL_4G              0x0001fffc +#define BATU_BL_MAX		BATU_BL_4G +#else +#define BATU_BL_MAX		BATU_BL_256M +#endif  /* BAT Access Protection */  #define BPP_XX	0x00		/* No access */ diff --git a/include/mpc824x.h b/include/mpc824x.h index 5aa9370b1..fca9371bd 100644 --- a/include/mpc824x.h +++ b/include/mpc824x.h @@ -451,45 +451,6 @@  #define MICR_EADDR_MASK		0x30000000  #define MICR_EADDR_SHIFT	28 -#define BATU_BEPI_MSK		0xfffe0000 -#define BATU_BL_MSK		0x00001ffc - -#define BATU_BL_128K		0x00000000 -#define BATU_BL_256K		0x00000004 -#define BATU_BL_512K		0x0000000c -#define BATU_BL_1M		0x0000001c -#define BATU_BL_2M		0x0000003c -#define BATU_BL_4M		0x0000007c -#define BATU_BL_8M		0x000000fc -#define BATU_BL_16M		0x000001fc -#define BATU_BL_32M		0x000003fc -#define BATU_BL_64M		0x000007fc -#define BATU_BL_128M		0x00000ffc -#define BATU_BL_256M		0x00001ffc - -#define BATU_VS			0x00000002 -#define BATU_VP			0x00000001 - -#define BATL_BRPN_MSK		0xfffe0000 -#define BATL_WIMG_MSK		0x00000078 - -#define BATL_WRITETHROUGH	0x00000040 -#define BATL_CACHEINHIBIT	0x00000020 -#define BATL_MEMCOHERENCE	0x00000010 -#define BATL_GUARDEDSTORAGE	0x00000008 - -#define BATL_PP_MSK		0x00000003 -#define BATL_PP_00		0x00000000 /* No access */ -#define BATL_PP_01		0x00000001 /* Read-only */ -#define BATL_PP_10		0x00000002 /* Read-write */ -#define BATL_PP_11		0x00000003 - -/* - * I'd attempt to do defines for the PP bits, but it's use is a bit - * too complex, see the PowerPC Operating Environment Architecture - * section in the PowerPc arch book, chapter 4. - */ -  /*eumb and epic config*/  #define EPIC_FPR		0x00041000 diff --git a/include/mpc86xx.h b/include/mpc86xx.h index a6fdea352..c6f30f9fd 100644 --- a/include/mpc86xx.h +++ b/include/mpc86xx.h @@ -34,47 +34,6 @@  #define L2CR_HWF         0x00000800 /* bit 20 - hardware flush */  #define L2CR_L2IP        0x00000001 /* global invalidate in progress */ -/* - * BAT settings.  Look in config_<BOARD>.h for the actual setup - */ - -#define BATU_BL_128K            0x00000000 -#define BATU_BL_256K            0x00000004 -#define BATU_BL_512K            0x0000000c -#define BATU_BL_1M              0x0000001c -#define BATU_BL_2M              0x0000003c -#define BATU_BL_4M              0x0000007c -#define BATU_BL_8M              0x000000fc -#define BATU_BL_16M             0x000001fc -#define BATU_BL_32M             0x000003fc -#define BATU_BL_64M             0x000007fc -#define BATU_BL_128M            0x00000ffc -#define BATU_BL_256M            0x00001ffc -#define BATU_BL_512M            0x00003ffc -#define BATU_BL_1G              0x00007ffc -#define BATU_BL_2G              0x0000fffc -#define BATU_BL_4G              0x0001fffc - -#define BATU_VS                 0x00000002 -#define BATU_VP                 0x00000001 -#define BATU_INVALID            0x00000000 - -#define BATL_WRITETHROUGH       0x00000040 -#define BATL_CACHEINHIBIT       0x00000020 -#define BATL_MEMCOHERENCE	0x00000010 -#define BATL_GUARDEDSTORAGE     0x00000008 -#define BATL_NO_ACCESS		0x00000000 - -#define BATL_PP_MSK		0x00000003 -#define BATL_PP_00		0x00000000 /* No access */ -#define BATL_PP_01		0x00000001 /* Read-only */ -#define BATL_PP_10		0x00000002 /* Read-write */ -#define BATL_PP_11		0x00000003 - -#define BATL_PP_NO_ACCESS	BATL_PP_00 -#define BATL_PP_RO		BATL_PP_01 -#define BATL_PP_RW		BATL_PP_10 -  #define HID0_XBSEN              0x00000100  #define HID0_HIGH_BAT_EN        0x00800000  #define HID0_XAEN               0x00020000 |