diff options
Diffstat (limited to 'include')
31 files changed, 247 insertions, 685 deletions
| diff --git a/include/common.h b/include/common.h index 409515f49..8ca67f64f 100644 --- a/include/common.h +++ b/include/common.h @@ -923,7 +923,7 @@ static inline void unmap_sysmem(const void *vaddr)  {  } -static inline phys_addr_t map_to_sysmem(void *ptr) +static inline phys_addr_t map_to_sysmem(const void *ptr)  {  	return (phys_addr_t)(uintptr_t)ptr;  } diff --git a/include/configs/ASH405.h b/include/configs/ASH405.h index 9460be3b5..2f5340723 100644 --- a/include/configs/ASH405.h +++ b/include/configs/ASH405.h @@ -143,6 +143,8 @@  #define CONFIG_SYS_NAND_SKIP_BAD_DOT_I	1	/* ".i" read skips bad blocks   */  #define CONFIG_SYS_NAND_QUIET		1 +#define CONFIG_SYS_NAND_MAX_OOBFREE	2 +#define CONFIG_SYS_NAND_MAX_ECCPOS	56  /*-----------------------------------------------------------------------   * PCI stuff diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h index f173b07b4..1cfb2c227 100644 --- a/include/configs/C29XPCIE.h +++ b/include/configs/C29XPCIE.h @@ -191,13 +191,14 @@  				| CSPR_MSEL_NAND \  				| CSPR_V)  #define CONFIG_SYS_NAND_AMASK	IFC_AMASK(64*1024) +#define CONFIG_SYS_NAND_OOBSIZE	0x00000280	/* 640b */  #define CONFIG_SYS_NAND_CSOR	(CSOR_NAND_ECC_ENC_EN	/* ECC on encode */ \  				| CSOR_NAND_ECC_DEC_EN	/* ECC on decode */ \  				| CSOR_NAND_ECC_MODE_4	/* 4-bit ECC */ \ -				| CSOR_NAND_RAL_2	/* RAL = 2 Bytes */ \ -				| CSOR_NAND_PGS_2K	/* Page Size = 2k */ \ -				| CSOR_NAND_SPRZ_64	/* Spare size = 64 */ \ -				| CSOR_NAND_PB(64))	/* 64 Pages Per Block */ +				| CSOR_NAND_RAL_3	/* RAL = 3 Bytes */ \ +				| CSOR_NAND_PGS_8K	/* Page Size = 8K */ \ +				| CSOR_NAND_SPRZ_CSOR_EXT /*oob in csor_ext*/\ +				| CSOR_NAND_PB(128))	/*128 Pages Per Block*/  #define CONFIG_SYS_NAND_FTIM0	(FTIM0_NAND_TCCST(0x01) | \  				FTIM0_NAND_TWP(0x0c)   | \  				FTIM0_NAND_TWCHT(0x08) | \ @@ -224,6 +225,7 @@  #define CONFIG_SYS_CSPR1		CONFIG_SYS_NAND_CSPR  #define CONFIG_SYS_AMASK1		CONFIG_SYS_NAND_AMASK  #define CONFIG_SYS_CSOR1		CONFIG_SYS_NAND_CSOR +#define CONFIG_SYS_CSOR1_EXT		CONFIG_SYS_NAND_OOBSIZE  #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NAND_FTIM0  #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NAND_FTIM1  #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NAND_FTIM2 diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index afb195fe4..63480ecb0 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -322,6 +322,8 @@  #define CONFIG_CMD_NAND		1  #define CONFIG_NAND_FSL_ELBC	1  #define CONFIG_SYS_NAND_BLOCK_SIZE    (128 * 1024) +#define CONFIG_SYS_NAND_MAX_OOBFREE	5 +#define CONFIG_SYS_NAND_MAX_ECCPOS	56  /* NAND boot: 4K NAND loader config */  #define CONFIG_SYS_NAND_SPL_SIZE	0x1000 diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h index 3777ccb83..c96df54d9 100644 --- a/include/configs/T4240QDS.h +++ b/include/configs/T4240QDS.h @@ -229,6 +229,8 @@ unsigned long get_board_ddr_clk(void);  #define CONFIG_CMD_NAND  #define CONFIG_SYS_NAND_BLOCK_SIZE	(128 * 1024) +#define CONFIG_SYS_NAND_MAX_OOBFREE	2 +#define CONFIG_SYS_NAND_MAX_ECCPOS	256  #if defined(CONFIG_NAND)  #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NAND_CSPR_EXT diff --git a/include/configs/alpr.h b/include/configs/alpr.h index 2bf1986e3..61fdebac3 100644 --- a/include/configs/alpr.h +++ b/include/configs/alpr.h @@ -324,6 +324,8 @@  #define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE + 0, CONFIG_SYS_NAND_BASE + 2,	\  				  CONFIG_SYS_NAND_BASE + 4, CONFIG_SYS_NAND_BASE + 6 }  #define CONFIG_SYS_NAND_QUIET_TEST	1	/* don't warn upon unknown NAND flash	*/ +#define CONFIG_SYS_NAND_MAX_OOBFREE	2 +#define CONFIG_SYS_NAND_MAX_ECCPOS	56  /*-----------------------------------------------------------------------   * External Bus Controller (EBC) Setup diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index f35ed6fba..d75df9279 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -220,6 +220,8 @@  #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"  #ifdef CONFIG_NAND +#define CONFIG_NAND_OMAP_GPMC +#define CONFIG_NAND_OMAP_ELM  #define CONFIG_SYS_NAND_5_ADDR_CYCLE  #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \  					 CONFIG_SYS_NAND_PAGE_SIZE) @@ -237,7 +239,8 @@  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	14 - +#define CONFIG_SYS_NAND_ONFI_DETECTION +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000  #endif diff --git a/include/configs/am335x_igep0033.h b/include/configs/am335x_igep0033.h index 2c69d4e30..115d1b37c 100644 --- a/include/configs/am335x_igep0033.h +++ b/include/configs/am335x_igep0033.h @@ -187,6 +187,7 @@  /* NAND support */  #define CONFIG_NAND  #define CONFIG_NAND_OMAP_GPMC +#define CONFIG_NAND_OMAP_ELM  #define GPMC_NAND_ECC_LP_x16_LAYOUT	1  #define CONFIG_SYS_NAND_BASE		(0x08000000)	/* phys address CS0 */  #define CONFIG_SYS_MAX_NAND_DEVICE	1 @@ -263,6 +264,7 @@  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	14 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW  #define	CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h index 6fd3fb904..468fb43ea 100644 --- a/include/configs/am3517_crane.h +++ b/include/configs/am3517_crane.h @@ -340,6 +340,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 7e9c55edf..a3473b51b 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -334,6 +334,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h index 474a5687a..4f43ba988 100644 --- a/include/configs/devkit8000.h +++ b/include/configs/devkit8000.h @@ -327,6 +327,7 @@  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE diff --git a/include/configs/mcx.h b/include/configs/mcx.h index a2f7cf711..dcd29ce7c 100644 --- a/include/configs/mcx.h +++ b/include/configs/mcx.h @@ -353,7 +353,6 @@  #define CONFIG_SPL_FRAMEWORK  #define CONFIG_SPL_BOARD_INIT  #define CONFIG_SPL_NAND_SIMPLE -#define CONFIG_SPL_NAND_SOFTECC  #define CONFIG_SPL_LIBCOMMON_SUPPORT  #define CONFIG_SPL_LIBDISK_SUPPORT @@ -395,6 +394,7 @@  					 56, 57, 58, 59, 60, 61, 62, 63}  #define CONFIG_SYS_NAND_ECCSIZE		256  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_SW  #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h index bba39d428..9eab1903f 100644 --- a/include/configs/omap3_beagle.h +++ b/include/configs/omap3_beagle.h @@ -431,6 +431,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index 3ace8bb6e..b7638fb8a 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -107,6 +107,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/omap3_evm_quick_nand.h b/include/configs/omap3_evm_quick_nand.h index 9ecd70d55..4427e88b7 100644 --- a/include/configs/omap3_evm_quick_nand.h +++ b/include/configs/omap3_evm_quick_nand.h @@ -86,6 +86,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h index 75d7d70d2..71062a601 100644 --- a/include/configs/omap3_igep00x0.h +++ b/include/configs/omap3_igep00x0.h @@ -362,6 +362,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000  #endif diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h index 84b4aeee2..e0f026269 100644 --- a/include/configs/omap3_overo.h +++ b/include/configs/omap3_overo.h @@ -324,6 +324,7 @@  						10, 11, 12, 13}  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_HW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE  #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000 diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 0884ad3a0..a4edc624b 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -75,7 +75,6 @@  #define CONFIG_SYS_LOAD_ADDR		0x00000000  #define CONFIG_SYS_MEMTEST_START	0x00100000  #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x1000) -#define CONFIG_PHYS_64BIT  #define CONFIG_SYS_FDT_LOAD_ADDR	0x1000000  /* Size of our emulated memory */ diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h index 745e3bea5..f37653fea 100644 --- a/include/configs/siemens-am33x-common.h +++ b/include/configs/siemens-am33x-common.h @@ -195,6 +195,7 @@  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	14 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW  #define CONFIG_SYS_NAND_ECCSTEPS	4  #define	CONFIG_SYS_NAND_ECCTOTAL	(CONFIG_SYS_NAND_ECCBYTES * \ @@ -430,6 +431,7 @@  		"\0"  #define CONFIG_NAND_OMAP_GPMC +#define CONFIG_NAND_OMAP_ELM  #define GPMC_NAND_ECC_LP_x16_LAYOUT	1  #define CONFIG_SYS_NAND_BASE		(0x08000000)	/* physical address */  							/* to access nand at */ diff --git a/include/configs/spieval.h b/include/configs/spieval.h deleted file mode 100644 index 07668de4d..000000000 --- a/include/configs/spieval.h +++ /dev/null @@ -1,494 +0,0 @@ -/* - * (C) Copyright 2003-2005 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * (C) Copyright 2004-2005 - * Martin Krause, TQ-Systems GmbH, martin.krause@tqs.de - * - * SPDX-License-Identifier:	GPL-2.0+ - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -/* - * High Level Configuration Options - * (easy to change) - */ - -#define CONFIG_MPC5xxx		1	/* This is an MPC5xxx CPU */ -#define CONFIG_MPC5200		1	/* (more precisely an MPC5200 CPU) */ -#define CONFIG_TQM5200		1	/* ... on TQM5200 module */ -#undef CONFIG_TQM5200_REV100		/*  define for revision 100 modules */ -#define CONFIG_STK52XX		1	/* ... on a STK52XX base board */ -#define CONFIG_STK52XX_REV100	1	/*  define for revision 100 baseboards */ - -#define CONFIG_SYS_MPC5XXX_CLKIN	33000000 /* ... running at 33.000000MHz */ - -#define CONFIG_HIGH_BATS	1	/* High BATs supported */ - -/* - * Serial console configuration - */ -#define CONFIG_PSC_CONSOLE	6	/* console is on PSC6 */ -#define CONFIG_BAUDRATE		115200	/* ... at 115200 bps */ -#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200, 230400 } - -#ifdef CONFIG_STK52XX -#undef CONFIG_PS2KBD			/* AT-PS/2 Keyboard		*/ -#define CONFIG_PS2MULT			/* .. on PS/2 Multiplexer	*/ -#define CONFIG_PS2SERIAL	6	/* .. on PSC6			*/ -#define CONFIG_PS2MULT_DELAY	(CONFIG_SYS_HZ/2)	/* Initial delay	*/ -#define CONFIG_BOARD_EARLY_INIT_R -#endif /* CONFIG_STK52XX */ - -/* - * PCI Mapping: - * 0x40000000 - 0x4fffffff - PCI Memory - * 0x50000000 - 0x50ffffff - PCI IO Space - */ -#ifdef CONFIG_STK52XX -#define CONFIG_PCI		1 -#define CONFIG_PCI_PNP		1 -/* #define CONFIG_PCI_SCAN_SHOW	1 */ - -#define CONFIG_PCI_MEM_BUS	0x40000000 -#define CONFIG_PCI_MEM_PHYS	CONFIG_PCI_MEM_BUS -#define CONFIG_PCI_MEM_SIZE	0x10000000 - -#define CONFIG_PCI_IO_BUS	0x50000000 -#define CONFIG_PCI_IO_PHYS	CONFIG_PCI_IO_BUS -#define CONFIG_PCI_IO_SIZE	0x01000000 - -#define CONFIG_EEPRO100		1 -#define CONFIG_SYS_RX_ETH_BUFFER	8  /* use 8 rx buffer on eepro100  */ -#define CONFIG_NS8382X		1 -#endif	/* CONFIG_STK52XX */ - -/* - * Video console - */ -#if 1 -#define CONFIG_VIDEO -#define CONFIG_VIDEO_SM501 -#define CONFIG_VIDEO_SM501_32BPP -#define CONFIG_CFB_CONSOLE -#define CONFIG_VIDEO_LOGO -#define CONFIG_VGA_AS_SINGLE_DEVICE -#define CONFIG_CONSOLE_EXTRA_INFO -#define CONFIG_VIDEO_SW_CURSOR -#define CONFIG_SPLASH_SCREEN -#define CONFIG_SYS_CONSOLE_IS_IN_ENV -#endif - -/* Partitions */ -#define CONFIG_MAC_PARTITION -#define CONFIG_DOS_PARTITION -#define CONFIG_ISO_PARTITION - -/* USB */ -#ifdef CONFIG_STK52XX -#define CONFIG_USB_OHCI -#define CONFIG_USB_STORAGE -#endif - -/* POST support */ -#define CONFIG_POST		(CONFIG_SYS_POST_MEMORY   | \ -				 CONFIG_SYS_POST_CPU	   | \ -				 CONFIG_SYS_POST_I2C) - -#ifdef CONFIG_POST -/* preserve space for the post_word at end of on-chip SRAM */ -#define MPC5XXX_SRAM_POST_SIZE MPC5XXX_SRAM_SIZE-4 -#endif - - -/* - * BOOTP options - */ -#define CONFIG_BOOTP_BOOTFILESIZE -#define CONFIG_BOOTP_BOOTPATH -#define CONFIG_BOOTP_GATEWAY -#define CONFIG_BOOTP_HOSTNAME - - -/* - * Command line configuration. - */ -#include <config_cmd_default.h> - -#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_DATE -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_ECHO -#define CONFIG_CMD_EEPROM -#define CONFIG_CMD_I2C -#define CONFIG_CMD_MII -#define CONFIG_CMD_NFS -#define CONFIG_CMD_PING -#define CONFIG_CMD_REGINFO -#define CONFIG_CMD_SNTP - -#if defined(CONFIG_MINIFAP) || defined(CONFIG_STK52XX) -    #define CONFIG_CMD_IDE -    #define CONFIG_CMD_FAT -    #define CONFIG_CMD_EXT2 -#endif - -#ifdef CONFIG_STK52XX -    #define CONFIG_CMD_USB -    #define CONFIG_CMD_FAT -#endif - -#ifdef CONFIG_VIDEO -    #define CONFIG_CMD_BMP -#endif - -#ifdef CONFIG_PCI -    #define CONFIG_CMD_PCI -    #define CONFIG_PCIAUTO_SKIP_HOST_BRIDGE	1 -#endif - -#ifdef CONFIG_POST -#define CONFIG_CMD_DIAG -#endif - - -#define	CONFIG_TIMESTAMP		/* display image timestamps */ - -#if (CONFIG_SYS_TEXT_BASE == 0xFC000000)		/* Boot low */ -#   define CONFIG_SYS_LOWBOOT		1 -#endif - -/* - * Autobooting - */ -#define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds */ - -#define CONFIG_PREBOOT	"echo;" \ -	"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \ -	"echo" - -#undef	CONFIG_BOOTARGS - -#define CONFIG_EXTRA_ENV_SETTINGS					\ -	"netdev=eth0\0"							\ -	"rootpath=/opt/eldk/ppc_6xx\0"					\ -	"ramargs=setenv bootargs root=/dev/ram rw\0"			\ -	"nfsargs=setenv bootargs root=/dev/nfs rw "			\ -		"nfsroot=${serverip}:${rootpath}\0"			\ -	"addip=setenv bootargs ${bootargs} "				\ -		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\ -		":${hostname}:${netdev}:off panic=1\0"			\ -	"flash_self=run ramargs addip;"					\ -		"bootm ${kernel_addr} ${ramdisk_addr}\0"		\ -	"flash_nfs=run nfsargs addip;"					\ -		"bootm ${kernel_addr}\0"				\ -	"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0"	\ -	"bootfile=/tftpboot/tqm5200/uImage\0"				\ -	"load=tftp 200000 ${u-boot}\0"					\ -	"u-boot=/tftpboot/tqm5200/u-boot.bin\0"				\ -	"update=protect off FC000000 FC05FFFF;"				\ -		"erase FC000000 FC05FFFF;"				\ -		"cp.b 200000 FC000000 ${filesize};"			\ -		"protect on FC000000 FC05FFFF\0"			\ -	"" - -#define CONFIG_BOOTCOMMAND	"run net_nfs" - -/* - * IPB Bus clocking configuration. - */ -#define CONFIG_SYS_IPBCLK_EQUALS_XLBCLK		/* define for 133MHz speed */ - -#if defined(CONFIG_SYS_IPBCLK_EQUALS_XLBCLK) -/* - * PCI Bus clocking configuration - * - * Actually a PCI Clock of 66 MHz is only set (in cpu_init.c) if - * CONFIG_SYS_IPBCLK_EQUALS_XLBCLK is defined. This is because a PCI Clock - * of 66 MHz yet hasn't been tested with a IPB Bus Clock of 66 MHz. - */ -#define CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2	/* define for 66MHz speed */ -#endif - -/* - * I2C configuration - */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support */ -#ifdef CONFIG_TQM5200_REV100 -#define CONFIG_SYS_I2C_MODULE		1	/* Select I2C module #1 for rev. 100 board */ -#else -#define CONFIG_SYS_I2C_MODULE		2	/* Select I2C module #2 for all other revs */ -#endif - -/* - * I2C clock frequency - * - * Please notice, that the resulting clock frequency could differ from the - * configured value. This is because the I2C clock is derived from system - * clock over a frequency divider with only a few divider values. U-boot - * calculates the best approximation for CONFIG_SYS_I2C_SPEED. However the calculated - * approximation allways lies below the configured value, never above. - */ -#define CONFIG_SYS_I2C_SPEED		100000 /* 100 kHz */ -#define CONFIG_SYS_I2C_SLAVE		0x7F - -/* - * EEPROM configuration for onboard EEPROM M24C32 (M24C64 should work - * also). For other EEPROMs configuration should be verified. On Mini-FAP the - * EEPROM (24C64) is on the same I2C address (but on other I2C bus), so the - * same configuration could be used. - */ -#define CONFIG_SYS_I2C_EEPROM_ADDR		0x50	/* 1010000x */ -#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		2 -#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	5	/* =32 Bytes per write */ -#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	20 - -/* - * HW-Monitor configuration on Mini-FAP - */ -#if defined (CONFIG_MINIFAP) -#define CONFIG_SYS_I2C_HWMON_ADDR		0x2C -#endif - -/* List of I2C addresses to be verified by POST */ -#if defined (CONFIG_MINIFAP) -#undef CONFIG_SYS_POST_I2C_ADDRS -#define CONFIG_SYS_POST_I2C_ADDRS	{CONFIG_SYS_I2C_EEPROM_ADDR,	\ -					 CONFIG_SYS_I2C_HWMON_ADDR,	\ -					 CONFIG_SYS_I2C_SLAVE} -#endif - -/* - * Flash configuration - */ -#define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_TEXT_BASE /* 0xFC000000 */ - -/* use CFI flash driver if no module variant is spezified */ -#define CONFIG_SYS_FLASH_CFI		1	/* Flash is CFI conformant */ -#define CONFIG_FLASH_CFI_DRIVER	1	/* Use the common driver */ -#define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_BOOTCS_START } -#define CONFIG_SYS_FLASH_EMPTY_INFO -#define CONFIG_SYS_FLASH_SIZE		0x04000000 /* 64 MByte */ -#define CONFIG_SYS_MAX_FLASH_SECT	512	/* max num of sects on one chip */ -#undef CONFIG_SYS_FLASH_USE_BUFFER_WRITE	/* not supported yet for AMD */ - -#if !defined(CONFIG_SYS_LOWBOOT) -#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x00760000 + 0x00800000) -#else	/* CONFIG_SYS_LOWBOOT */ -#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x00060000) -#endif	/* CONFIG_SYS_LOWBOOT */ -#define CONFIG_SYS_MAX_FLASH_BANKS	1	/* max num of flash banks -					   (= chip selects) */ -#define CONFIG_SYS_FLASH_ERASE_TOUT	240000	/* Flash Erase Timeout (in ms)	*/ -#define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (in ms)	*/ - - -/* - * Environment settings - */ -#define CONFIG_ENV_IS_IN_FLASH	1 -#define CONFIG_ENV_SIZE		0x10000 -#define CONFIG_ENV_SECT_SIZE	0x20000 -#define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) -#define	CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE) - -/* - * Memory map - */ -#define CONFIG_SYS_MBAR		0xF0000000 -#define CONFIG_SYS_SDRAM_BASE		0x00000000 -#define CONFIG_SYS_DEFAULT_MBAR	0x80000000 - -/* Use ON-Chip SRAM until RAM will be available */ -#define CONFIG_SYS_INIT_RAM_ADDR	MPC5XXX_SRAM -#ifdef CONFIG_POST -/* preserve space for the post_word at end of on-chip SRAM */ -#define CONFIG_SYS_INIT_RAM_SIZE	MPC5XXX_SRAM_POST_SIZE -#else -#define CONFIG_SYS_INIT_RAM_SIZE	MPC5XXX_SRAM_SIZE -#endif - - -#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET - -#define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE -#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) -#   define CONFIG_SYS_RAMBOOT		1 -#endif - -#define CONFIG_SYS_MONITOR_LEN		(384 << 10)	/* Reserve 384 kB for Monitor	*/ -#define CONFIG_SYS_MALLOC_LEN		(128 << 10)	/* Reserve 128 kB for malloc()	*/ -#define CONFIG_SYS_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux */ - -/* - * Ethernet configuration - */ -#define CONFIG_MPC5xxx_FEC	1 -/* - * Define CONFIG_FEC_10MBIT to force FEC at 10Mb - */ -/* #define CONFIG_FEC_10MBIT 1 */ -#define CONFIG_PHY_ADDR		0x00 - -/* - * GPIO configuration - * - * use pin gpio_wkup_6 as second SDRAM chip select (mem_cs1): - *	Bit 0 (mask: 0x80000000): 1 - * use ALT CAN position: Bits 2-3 (mask: 0x30000000): - *	00 -> No Alternatives, CAN1/2 on PSC2 according to PSC2 setting. - *	01 -> CAN1 on I2C1, CAN2 on Tmr0/1. - *	      Use for REV200 STK52XX boards. Do not use with REV100 modules - *	      (because, there I2C1 is used as I2C bus) - * use PSC1 as UART: Bits 28-31 (mask: 0x00000007): 0100 - * use PSC2 as CAN: Bits 25:27 (mask: 0x00000030) - *	000 -> All PSC2 pins are GIOPs - *	001 -> CAN1/2 on PSC2 pins - *	       Use for REV100 STK52xx boards - * use PSC6: - *   on STK52xx: - *	use as UART. Pins PSC6_0 to PSC6_3 are used. - *	Bits 9:11 (mask: 0x00700000): - *	   101 -> PSC6 : Extended POST test is not available - *   on MINI-FAP and TQM5200_IB: - *	use PSC6_0 to PSC6_3 as GPIO: Bits 9:11 (mask: 0x00700000): - *	   000 -> PSC6 could not be used as UART, CODEC or IrDA - *   GPIO on PSC6_3 is used in post_hotkeys_pressed() to enable extended POST - *   tests. - */ -#if defined (CONFIG_MINIFAP) -# define CONFIG_SYS_GPS_PORT_CONFIG	0x91000004 -#elif defined (CONFIG_STK52XX) -# if defined (CONFIG_STK52XX_REV100) -#  define CONFIG_SYS_GPS_PORT_CONFIG	0x81500014 -# else /* STK52xx REV200 and above */ -#  if defined (CONFIG_TQM5200_REV100) -#   error TQM5200 REV100 not supported on STK52XX REV200 or above -#  else/* TQM5200 REV200 and above */ -#   define CONFIG_SYS_GPS_PORT_CONFIG	0x91500004 -#  endif -# endif -#else  /* TMQ5200 Inbetriebnahme-Board */ -# define CONFIG_SYS_GPS_PORT_CONFIG	0x81000004 -#endif - -/* - * RTC configuration - */ -#define CONFIG_RTC_MPC5200	1	/* use internal MPC5200 RTC */ - -/* - * Miscellaneous configurable options - */ -#define CONFIG_SYS_LONGHELP			/* undef to save memory	    */ -#if defined(CONFIG_CMD_KGDB) -#define CONFIG_SYS_CBSIZE		1024	/* Console I/O Buffer Size  */ -#else -#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size  */ -#endif -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ -#define CONFIG_SYS_MAXARGS		16	/* max number of command args	*/ -#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/ - -/* Enable an alternate, more extensive memory test */ -#define CONFIG_SYS_ALT_MEMTEST - -#define CONFIG_SYS_MEMTEST_START	0x00100000	/* memtest works on */ -#define CONFIG_SYS_MEMTEST_END		0x00f00000	/* 1 ... 15 MB in DRAM	*/ - -#define CONFIG_SYS_LOAD_ADDR		0x100000	/* default load address */ - -#define CONFIG_SYS_CACHELINE_SIZE	32	/* For MPC5xxx CPUs */ -#if defined(CONFIG_CMD_KGDB) -#  define CONFIG_SYS_CACHELINE_SHIFT	5	/* log base 2 of the above value */ -#endif - -/* - * Enable loopw command. - */ -#define CONFIG_LOOPW - -/* - * Various low-level settings - */ -#define CONFIG_SYS_HID0_INIT		HID0_ICE | HID0_ICFI -#define CONFIG_SYS_HID0_FINAL		HID0_ICE - -#define CONFIG_SYS_BOOTCS_START	CONFIG_SYS_FLASH_BASE -#define CONFIG_SYS_BOOTCS_SIZE		CONFIG_SYS_FLASH_SIZE -#ifdef CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2 -#define CONFIG_SYS_BOOTCS_CFG		0x0008DF30 /* for pci_clk  = 66 MHz */ -#else -#define CONFIG_SYS_BOOTCS_CFG		0x0004DF30 /* for pci_clk = 33 MHz */ -#endif -#define CONFIG_SYS_CS0_START		CONFIG_SYS_FLASH_BASE -#define CONFIG_SYS_CS0_SIZE		CONFIG_SYS_FLASH_SIZE - -#define CONFIG_LAST_STAGE_INIT - -/* - * SRAM - Do not map below 2 GB in address space, because this area is used - * for SDRAM autosizing. - */ -#define CONFIG_SYS_CS2_START		0xE5000000 -#define CONFIG_SYS_CS2_SIZE		0x100000	/* 1 MByte */ -#define CONFIG_SYS_CS2_CFG		0x0004D930 - -/* - * Grafic controller - Do not map below 2 GB in address space, because this - * area is used for SDRAM autosizing. - */ -#define SM501_FB_BASE		0xE0000000 -#define CONFIG_SYS_CS1_START		(SM501_FB_BASE) -#define CONFIG_SYS_CS1_SIZE		0x4000000	/* 64 MByte */ -#define CONFIG_SYS_CS1_CFG		0x8F48FF70 -#define SM501_MMIO_BASE		CONFIG_SYS_CS1_START + 0x03E00000 - -#define CONFIG_SYS_CS_BURST		0x00000000 -#define CONFIG_SYS_CS_DEADCYCLE	0x33333311	/* 1 dead cycle for flash and SM501 */ - -#define CONFIG_SYS_RESET_ADDRESS	0xff000000 - -/*----------------------------------------------------------------------- - * USB stuff - *----------------------------------------------------------------------- - */ -#define CONFIG_USB_CLOCK	0x0001BBBB -#define CONFIG_USB_CONFIG	0x00001000 - -/*----------------------------------------------------------------------- - * IDE/ATA stuff Supports IDE harddisk - *----------------------------------------------------------------------- - */ - -#undef	CONFIG_IDE_8xx_PCCARD		/* Use IDE with PC Card Adapter */ - -#undef	CONFIG_IDE_8xx_DIRECT		/* Direct IDE	 not supported	*/ -#undef	CONFIG_IDE_LED			/* LED	 for ide not supported	*/ - -#define CONFIG_IDE_RESET		/* reset for ide supported	*/ -#define CONFIG_IDE_PREINIT - -#define CONFIG_SYS_IDE_MAXBUS		1	/* max. 1 IDE bus		*/ -#define CONFIG_SYS_IDE_MAXDEVICE	2	/* max. 2 drives per IDE bus	*/ - -#define CONFIG_SYS_ATA_IDE0_OFFSET	0x0000 - -#define CONFIG_SYS_ATA_BASE_ADDR	MPC5XXX_ATA - -/* Offset for data I/O			*/ -#define CONFIG_SYS_ATA_DATA_OFFSET	(0x0060) - -/* Offset for normal register accesses	*/ -#define CONFIG_SYS_ATA_REG_OFFSET	(CONFIG_SYS_ATA_DATA_OFFSET) - -/* Offset for alternate registers	*/ -#define CONFIG_SYS_ATA_ALT_OFFSET	(0x005C) - -/* Interval between registers						     */ -#define CONFIG_SYS_ATA_STRIDE		4 - -#endif /* __CONFIG_H */ diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h index 6112c1b7a..439fc47eb 100644 --- a/include/configs/tam3517-common.h +++ b/include/configs/tam3517-common.h @@ -224,7 +224,6 @@  #define CONFIG_SPL_BOARD_INIT  #define CONFIG_SPL_CONSOLE  #define CONFIG_SPL_NAND_SIMPLE -#define CONFIG_SPL_NAND_SOFTECC  #define CONFIG_SPL_NAND_WORKSPACE	0x8f07f000 /* below BSS */  #define CONFIG_SPL_LIBCOMMON_SUPPORT @@ -261,6 +260,7 @@  					 56, 57, 58, 59, 60, 61, 62, 63}  #define CONFIG_SYS_NAND_ECCSIZE		256  #define CONFIG_SYS_NAND_ECCBYTES	3 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_HAM1_CODE_SW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h index afd870762..cc4001fcd 100644 --- a/include/configs/tricorder.h +++ b/include/configs/tricorder.h @@ -138,8 +138,9 @@  #define CONFIG_SYS_MAX_NAND_DEVICE	1		/* Max number of NAND */  							/* devices */ -#define CONFIG_NAND_OMAP_BCH8  #define CONFIG_BCH +#define CONFIG_SYS_NAND_MAX_OOBFREE	2 +#define CONFIG_SYS_NAND_MAX_ECCPOS	56  /* commands to include */  #include <config_cmd_default.h> @@ -374,6 +375,7 @@  #define CONFIG_SYS_NAND_ECCSIZE		512  #define CONFIG_SYS_NAND_ECCBYTES	13 +#define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW_DETECTION_SW  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h index 3e9b01b3b..be6c10715 100644 --- a/include/fsl_ifc.h +++ b/include/fsl_ifc.h @@ -77,6 +77,7 @@  #define CSOR_NAND_PGS_512		0x00000000  #define CSOR_NAND_PGS_2K		0x00080000  #define CSOR_NAND_PGS_4K		0x00100000 +#define CSOR_NAND_PGS_8K		0x00180000  /* Spare region Size */  #define CSOR_NAND_SPRZ_MASK		0x0000E000  #define CSOR_NAND_SPRZ_SHIFT		13 @@ -86,6 +87,7 @@  #define CSOR_NAND_SPRZ_210		0x00006000  #define CSOR_NAND_SPRZ_218		0x00008000  #define CSOR_NAND_SPRZ_224		0x0000A000 +#define CSOR_NAND_SPRZ_CSOR_EXT	0x0000C000  /* Pages Per Block */  #define CSOR_NAND_PB_MASK		0x00000700  #define CSOR_NAND_PB_SHIFT		8 diff --git a/include/fsl_mdio.h b/include/fsl_mdio.h index 9c0b76277..b58713d89 100644 --- a/include/fsl_mdio.h +++ b/include/fsl_mdio.h @@ -1,5 +1,5 @@  /* - * Copyright 2009-2012 Freescale Semiconductor, Inc. + * Copyright 2009-2012, 2013 Freescale Semiconductor, Inc.   *	Jun-jie Zhang <b18070@freescale.com>   *	Mingkai Hu <Mingkai.hu@freescale.com>   * @@ -31,9 +31,9 @@  #define MIIMIND_BUSY		0x00000001  #define MIIMIND_NOTVALID	0x00000004 -void tsec_local_mdio_write(struct tsec_mii_mng *phyregs, int port_addr, +void tsec_local_mdio_write(struct tsec_mii_mng __iomem *phyregs, int port_addr,  		int dev_addr, int reg, int value); -int tsec_local_mdio_read(struct tsec_mii_mng *phyregs, int port_addr, +int tsec_local_mdio_read(struct tsec_mii_mng __iomem *phyregs, int port_addr,  		int dev_addr, int regnum);  int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum);  int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum, @@ -44,7 +44,7 @@ int memac_mdio_read(struct mii_dev *bus, int port_addr, int dev_addr,  		int regnum);  struct fsl_pq_mdio_info { -	struct tsec_mii_mng *regs; +	struct tsec_mii_mng __iomem *regs;  	char *name;  };  int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info); diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 6f44abdc1..a65b68155 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -96,6 +96,29 @@ struct mtd_oob_ops {  	uint8_t		*oobbuf;  }; +#ifdef CONFIG_SYS_NAND_MAX_OOBFREE +#define MTD_MAX_OOBFREE_ENTRIES_LARGE	CONFIG_SYS_NAND_MAX_OOBFREE +#else +#define MTD_MAX_OOBFREE_ENTRIES_LARGE	32 +#endif + +#ifdef CONFIG_SYS_NAND_MAX_ECCPOS +#define MTD_MAX_ECCPOS_ENTRIES_LARGE	CONFIG_SYS_NAND_MAX_ECCPOS +#else +#define MTD_MAX_ECCPOS_ENTRIES_LARGE	640 +#endif + +/* + * ECC layout control structure. Exported to userspace for + * diagnosis and to allow creation of raw images + */ +struct nand_ecclayout { +	uint32_t eccbytes; +	uint32_t eccpos[MTD_MAX_ECCPOS_ENTRIES_LARGE]; +	uint32_t oobavail; +	struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES_LARGE]; +}; +  struct mtd_info {  	u_char type;  	u_int32_t flags; diff --git a/include/micrel.h b/include/micrel.h index e1c62d83c..04c9ecf3b 100644 --- a/include/micrel.h +++ b/include/micrel.h @@ -15,6 +15,11 @@  #define MII_KSZ9031_MOD_DATA_POST_INC_RW	0x8000  #define MII_KSZ9031_MOD_DATA_POST_INC_W		0xC000 +#define MII_KSZ9031_EXT_RGMII_CTRL_SIG_SKEW	0x4 +#define MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW	0x5 +#define MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW	0x6 +#define MII_KSZ9031_EXT_RGMII_CLOCK_SKEW	0x8 +  struct phy_device;  int ksz9021_phy_extended_write(struct phy_device *phydev, int regnum, u16 val);  int ksz9021_phy_extended_read(struct phy_device *phydev, int regnum); diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h index d51c1abd1..ac3c29876 100644 --- a/include/mtd/mtd-abi.h +++ b/include/mtd/mtd-abi.h @@ -155,18 +155,6 @@ struct nand_oobfree {  	uint32_t length;  }; -#define MTD_MAX_OOBFREE_ENTRIES	8 -/* - * ECC layout control structure. Exported to userspace for - * diagnosis and to allow creation of raw images - */ -struct nand_ecclayout { -	uint32_t eccbytes; -	uint32_t eccpos[128]; -	uint32_t oobavail; -	struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES]; -}; -  /**   * struct mtd_ecc_stats - error correction stats   * diff --git a/include/net.h b/include/net.h index 5aedc17aa..0802fad87 100644 --- a/include/net.h +++ b/include/net.h @@ -89,7 +89,7 @@ struct eth_device {  	int  (*recv) (struct eth_device *);  	void (*halt) (struct eth_device *);  #ifdef CONFIG_MCAST_TFTP -	int (*mcast) (struct eth_device *, u32 ip, u8 set); +	int (*mcast) (struct eth_device *, const u8 *enetaddr, u8 set);  #endif  	int  (*write_hwaddr) (struct eth_device *);  	struct eth_device *next; diff --git a/include/os.h b/include/os.h index 8665f70ed..950433daa 100644 --- a/include/os.h +++ b/include/os.h @@ -11,6 +11,8 @@  #ifndef __OS_H__  #define __OS_H__ +#include <linux/types.h> +  struct sandbox_state;  /** @@ -116,7 +118,7 @@ void os_usleep(unsigned long usec);   *   * \return A monotonic increasing time scaled in nano seconds   */ -u64 os_get_nsec(void); +uint64_t os_get_nsec(void);  /**   * Parse arguments and update sandbox state. diff --git a/include/phy.h b/include/phy.h index f86ffb920..1f22fa180 100644 --- a/include/phy.h +++ b/include/phy.h @@ -125,6 +125,9 @@ struct phy_driver {  	/* Called when bringing down the controller */  	int (*shutdown)(struct phy_device *phydev); +	int (*readext)(struct phy_device *phydev, int addr, int devad, int reg); +	int (*writeext)(struct phy_device *phydev, int addr, int devad, int reg, +			u16 val);  	struct list_head list;  }; diff --git a/include/tsec.h b/include/tsec.h index f0f3d4d59..1046426c5 100644 --- a/include/tsec.h +++ b/include/tsec.h @@ -7,7 +7,7 @@   *  terms of the GNU Public License, Version 2, incorporated   *  herein by reference.   * - * Copyright 2004, 2007, 2009, 2011  Freescale Semiconductor, Inc. + * Copyright 2004, 2007, 2009, 2011, 2013 Freescale Semiconductor, Inc.   * (C) Copyright 2003, Motorola, Inc.   * maintained by Xianghua Xiao (x.xiao@motorola.com)   * author Andy Fleming @@ -27,13 +27,26 @@  #define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520) +#define TSEC_GET_REGS(num, offset) \ +	(struct tsec __iomem *)\ +	(TSEC_BASE_ADDR + (((num) - 1) * (offset))) + +#define TSEC_GET_REGS_BASE(num) \ +	TSEC_GET_REGS((num), TSEC_SIZE) + +#define TSEC_GET_MDIO_REGS(num, offset) \ +	(struct tsec_mii_mng __iomem *)\ +	(CONFIG_SYS_MDIO_BASE_ADDR  + ((num) - 1) * (offset)) + +#define TSEC_GET_MDIO_REGS_BASE(num) \ +	TSEC_GET_MDIO_REGS((num), TSEC_MDIO_OFFSET) +  #define DEFAULT_MII_NAME "FSL_MDIO"  #define STD_TSEC_INFO(num) \  {			\ -	.regs = (tsec_t *)(TSEC_BASE_ADDR + ((num - 1) * TSEC_SIZE)), \ -	.miiregs_sgmii = (struct tsec_mii_mng *)(CONFIG_SYS_MDIO_BASE_ADDR \ -					 + (num - 1) * TSEC_MDIO_OFFSET), \ +	.regs = TSEC_GET_REGS_BASE(num), \ +	.miiregs_sgmii = TSEC_GET_MDIO_REGS_BASE(num), \  	.devname = CONFIG_TSEC##num##_NAME, \  	.phyaddr = TSEC##num##_PHY_ADDR, \  	.flags = TSEC##num##_FLAGS, \ @@ -42,9 +55,8 @@  #define SET_STD_TSEC_INFO(x, num) \  {			\ -	x.regs = (tsec_t *)(TSEC_BASE_ADDR + ((num - 1) * TSEC_SIZE)); \ -	x.miiregs_sgmii = (struct tsec_mii_mng *)(CONFIG_SYS_MDIO_BASE_ADDR \ -					  + (num - 1) * TSEC_MDIO_OFFSET); \ +	x.regs = TSEC_GET_REGS_BASE(num); \ +	x.miiregs_sgmii = TSEC_GET_MDIO_REGS_BASE(num); \  	x.devname = CONFIG_TSEC##num##_NAME; \  	x.phyaddr = TSEC##num##_PHY_ADDR; \  	x.flags = TSEC##num##_FLAGS;\ @@ -186,195 +198,190 @@  #define RXBD_TRUNCATED		0x0001  #define RXBD_STATS		0x003f -typedef struct txbd8 -{ -	ushort	     status;	     /* Status Fields */ -	ushort	     length;	     /* Buffer length */ -	uint	     bufPtr;	     /* Buffer Pointer */ -} txbd8_t; +struct txbd8 { +	uint16_t     status;	     /* Status Fields */ +	uint16_t     length;	     /* Buffer length */ +	uint32_t     bufptr;	     /* Buffer Pointer */ +}; -typedef struct rxbd8 -{ -	ushort	     status;	     /* Status Fields */ -	ushort	     length;	     /* Buffer Length */ -	uint	     bufPtr;	     /* Buffer Pointer */ -} rxbd8_t; +struct rxbd8 { +	uint16_t     status;	     /* Status Fields */ +	uint16_t     length;	     /* Buffer Length */ +	uint32_t     bufptr;	     /* Buffer Pointer */ +}; -typedef struct rmon_mib -{ +struct tsec_rmon_mib {  	/* Transmit and Receive Counters */ -	uint	tr64;		/* Transmit and Receive 64-byte Frame Counter */ -	uint	tr127;		/* Transmit and Receive 65-127 byte Frame Counter */ -	uint	tr255;		/* Transmit and Receive 128-255 byte Frame Counter */ -	uint	tr511;		/* Transmit and Receive 256-511 byte Frame Counter */ -	uint	tr1k;		/* Transmit and Receive 512-1023 byte Frame Counter */ -	uint	trmax;		/* Transmit and Receive 1024-1518 byte Frame Counter */ -	uint	trmgv;		/* Transmit and Receive 1519-1522 byte Good VLAN Frame */ +	u32	tr64;		/* Tx/Rx 64-byte Frame Counter */ +	u32	tr127;		/* Tx/Rx 65-127 byte Frame Counter */ +	u32	tr255;		/* Tx/Rx 128-255 byte Frame Counter */ +	u32	tr511;		/* Tx/Rx 256-511 byte Frame Counter */ +	u32	tr1k;		/* Tx/Rx 512-1023 byte Frame Counter */ +	u32	trmax;		/* Tx/Rx 1024-1518 byte Frame Counter */ +	u32	trmgv;		/* Tx/Rx 1519-1522 byte Good VLAN Frame */  	/* Receive Counters */ -	uint	rbyt;		/* Receive Byte Counter */ -	uint	rpkt;		/* Receive Packet Counter */ -	uint	rfcs;		/* Receive FCS Error Counter */ -	uint	rmca;		/* Receive Multicast Packet (Counter) */ -	uint	rbca;		/* Receive Broadcast Packet */ -	uint	rxcf;		/* Receive Control Frame Packet */ -	uint	rxpf;		/* Receive Pause Frame Packet */ -	uint	rxuo;		/* Receive Unknown OP Code */ -	uint	raln;		/* Receive Alignment Error */ -	uint	rflr;		/* Receive Frame Length Error */ -	uint	rcde;		/* Receive Code Error */ -	uint	rcse;		/* Receive Carrier Sense Error */ -	uint	rund;		/* Receive Undersize Packet */ -	uint	rovr;		/* Receive Oversize Packet */ -	uint	rfrg;		/* Receive Fragments */ -	uint	rjbr;		/* Receive Jabber */ -	uint	rdrp;		/* Receive Drop */ +	u32	rbyt;		/* Receive Byte Counter */ +	u32	rpkt;		/* Receive Packet Counter */ +	u32	rfcs;		/* Receive FCS Error Counter */ +	u32	rmca;		/* Receive Multicast Packet (Counter) */ +	u32	rbca;		/* Receive Broadcast Packet */ +	u32	rxcf;		/* Receive Control Frame Packet */ +	u32	rxpf;		/* Receive Pause Frame Packet */ +	u32	rxuo;		/* Receive Unknown OP Code */ +	u32	raln;		/* Receive Alignment Error */ +	u32	rflr;		/* Receive Frame Length Error */ +	u32	rcde;		/* Receive Code Error */ +	u32	rcse;		/* Receive Carrier Sense Error */ +	u32	rund;		/* Receive Undersize Packet */ +	u32	rovr;		/* Receive Oversize Packet */ +	u32	rfrg;		/* Receive Fragments */ +	u32	rjbr;		/* Receive Jabber */ +	u32	rdrp;		/* Receive Drop */  	/* Transmit Counters */ -	uint	tbyt;		/* Transmit Byte Counter */ -	uint	tpkt;		/* Transmit Packet */ -	uint	tmca;		/* Transmit Multicast Packet */ -	uint	tbca;		/* Transmit Broadcast Packet */ -	uint	txpf;		/* Transmit Pause Control Frame */ -	uint	tdfr;		/* Transmit Deferral Packet */ -	uint	tedf;		/* Transmit Excessive Deferral Packet */ -	uint	tscl;		/* Transmit Single Collision Packet */ +	u32	tbyt;		/* Transmit Byte Counter */ +	u32	tpkt;		/* Transmit Packet */ +	u32	tmca;		/* Transmit Multicast Packet */ +	u32	tbca;		/* Transmit Broadcast Packet */ +	u32	txpf;		/* Transmit Pause Control Frame */ +	u32	tdfr;		/* Transmit Deferral Packet */ +	u32	tedf;		/* Transmit Excessive Deferral Packet */ +	u32	tscl;		/* Transmit Single Collision Packet */  	/* (0x2_n700) */ -	uint	tmcl;		/* Transmit Multiple Collision Packet */ -	uint	tlcl;		/* Transmit Late Collision Packet */ -	uint	txcl;		/* Transmit Excessive Collision Packet */ -	uint	tncl;		/* Transmit Total Collision */ +	u32	tmcl;		/* Transmit Multiple Collision Packet */ +	u32	tlcl;		/* Transmit Late Collision Packet */ +	u32	txcl;		/* Transmit Excessive Collision Packet */ +	u32	tncl;		/* Transmit Total Collision */ -	uint	res2; +	u32	res2; -	uint	tdrp;		/* Transmit Drop Frame */ -	uint	tjbr;		/* Transmit Jabber Frame */ -	uint	tfcs;		/* Transmit FCS Error */ -	uint	txcf;		/* Transmit Control Frame */ -	uint	tovr;		/* Transmit Oversize Frame */ -	uint	tund;		/* Transmit Undersize Frame */ -	uint	tfrg;		/* Transmit Fragments Frame */ +	u32	tdrp;		/* Transmit Drop Frame */ +	u32	tjbr;		/* Transmit Jabber Frame */ +	u32	tfcs;		/* Transmit FCS Error */ +	u32	txcf;		/* Transmit Control Frame */ +	u32	tovr;		/* Transmit Oversize Frame */ +	u32	tund;		/* Transmit Undersize Frame */ +	u32	tfrg;		/* Transmit Fragments Frame */  	/* General Registers */ -	uint	car1;		/* Carry Register One */ -	uint	car2;		/* Carry Register Two */ -	uint	cam1;		/* Carry Register One Mask */ -	uint	cam2;		/* Carry Register Two Mask */ -} rmon_mib_t; +	u32	car1;		/* Carry Register One */ +	u32	car2;		/* Carry Register Two */ +	u32	cam1;		/* Carry Register One Mask */ +	u32	cam2;		/* Carry Register Two Mask */ +}; -typedef struct tsec_hash_regs -{ -	uint	iaddr0;		/* Individual Address Register 0 */ -	uint	iaddr1;		/* Individual Address Register 1 */ -	uint	iaddr2;		/* Individual Address Register 2 */ -	uint	iaddr3;		/* Individual Address Register 3 */ -	uint	iaddr4;		/* Individual Address Register 4 */ -	uint	iaddr5;		/* Individual Address Register 5 */ -	uint	iaddr6;		/* Individual Address Register 6 */ -	uint	iaddr7;		/* Individual Address Register 7 */ -	uint	res1[24]; -	uint	gaddr0;		/* Group Address Register 0 */ -	uint	gaddr1;		/* Group Address Register 1 */ -	uint	gaddr2;		/* Group Address Register 2 */ -	uint	gaddr3;		/* Group Address Register 3 */ -	uint	gaddr4;		/* Group Address Register 4 */ -	uint	gaddr5;		/* Group Address Register 5 */ -	uint	gaddr6;		/* Group Address Register 6 */ -	uint	gaddr7;		/* Group Address Register 7 */ -	uint	res2[24]; -} tsec_hash_t; +struct tsec_hash_regs { +	u32	iaddr0;		/* Individual Address Register 0 */ +	u32	iaddr1;		/* Individual Address Register 1 */ +	u32	iaddr2;		/* Individual Address Register 2 */ +	u32	iaddr3;		/* Individual Address Register 3 */ +	u32	iaddr4;		/* Individual Address Register 4 */ +	u32	iaddr5;		/* Individual Address Register 5 */ +	u32	iaddr6;		/* Individual Address Register 6 */ +	u32	iaddr7;		/* Individual Address Register 7 */ +	u32	res1[24]; +	u32	gaddr0;		/* Group Address Register 0 */ +	u32	gaddr1;		/* Group Address Register 1 */ +	u32	gaddr2;		/* Group Address Register 2 */ +	u32	gaddr3;		/* Group Address Register 3 */ +	u32	gaddr4;		/* Group Address Register 4 */ +	u32	gaddr5;		/* Group Address Register 5 */ +	u32	gaddr6;		/* Group Address Register 6 */ +	u32	gaddr7;		/* Group Address Register 7 */ +	u32	res2[24]; +}; -typedef struct tsec -{ +struct tsec {  	/* General Control and Status Registers (0x2_n000) */ -	uint	res000[4]; +	u32	res000[4]; -	uint	ievent;		/* Interrupt Event */ -	uint	imask;		/* Interrupt Mask */ -	uint	edis;		/* Error Disabled */ -	uint	res01c; -	uint	ecntrl;		/* Ethernet Control */ -	uint	minflr;		/* Minimum Frame Length */ -	uint	ptv;		/* Pause Time Value */ -	uint	dmactrl;	/* DMA Control */ -	uint	tbipa;		/* TBI PHY Address */ +	u32	ievent;		/* Interrupt Event */ +	u32	imask;		/* Interrupt Mask */ +	u32	edis;		/* Error Disabled */ +	u32	res01c; +	u32	ecntrl;		/* Ethernet Control */ +	u32	minflr;		/* Minimum Frame Length */ +	u32	ptv;		/* Pause Time Value */ +	u32	dmactrl;	/* DMA Control */ +	u32	tbipa;		/* TBI PHY Address */ -	uint	res034[3]; -	uint	res040[48]; +	u32	res034[3]; +	u32	res040[48];  	/* Transmit Control and Status Registers (0x2_n100) */ -	uint	tctrl;		/* Transmit Control */ -	uint	tstat;		/* Transmit Status */ -	uint	res108; -	uint	tbdlen;		/* Tx BD Data Length */ -	uint	res110[5]; -	uint	ctbptr;		/* Current TxBD Pointer */ -	uint	res128[23]; -	uint	tbptr;		/* TxBD Pointer */ -	uint	res188[30]; +	u32	tctrl;		/* Transmit Control */ +	u32	tstat;		/* Transmit Status */ +	u32	res108; +	u32	tbdlen;		/* Tx BD Data Length */ +	u32	res110[5]; +	u32	ctbptr;		/* Current TxBD Pointer */ +	u32	res128[23]; +	u32	tbptr;		/* TxBD Pointer */ +	u32	res188[30];  	/* (0x2_n200) */ -	uint	res200; -	uint	tbase;		/* TxBD Base Address */ -	uint	res208[42]; -	uint	ostbd;		/* Out of Sequence TxBD */ -	uint	ostbdp;		/* Out of Sequence Tx Data Buffer Pointer */ -	uint	res2b8[18]; +	u32	res200; +	u32	tbase;		/* TxBD Base Address */ +	u32	res208[42]; +	u32	ostbd;		/* Out of Sequence TxBD */ +	u32	ostbdp;		/* Out of Sequence Tx Data Buffer Pointer */ +	u32	res2b8[18];  	/* Receive Control and Status Registers (0x2_n300) */ -	uint	rctrl;		/* Receive Control */ -	uint	rstat;		/* Receive Status */ -	uint	res308; -	uint	rbdlen;		/* RxBD Data Length */ -	uint	res310[4]; -	uint	res320; -	uint	crbptr;	/* Current Receive Buffer Pointer */ -	uint	res328[6]; -	uint	mrblr;	/* Maximum Receive Buffer Length */ -	uint	res344[16]; -	uint	rbptr;	/* RxBD Pointer */ -	uint	res388[30]; +	u32	rctrl;		/* Receive Control */ +	u32	rstat;		/* Receive Status */ +	u32	res308; +	u32	rbdlen;		/* RxBD Data Length */ +	u32	res310[4]; +	u32	res320; +	u32	crbptr;	/* Current Receive Buffer Pointer */ +	u32	res328[6]; +	u32	mrblr;	/* Maximum Receive Buffer Length */ +	u32	res344[16]; +	u32	rbptr;	/* RxBD Pointer */ +	u32	res388[30];  	/* (0x2_n400) */ -	uint	res400; -	uint	rbase;	/* RxBD Base Address */ -	uint	res408[62]; +	u32	res400; +	u32	rbase;	/* RxBD Base Address */ +	u32	res408[62];  	/* MAC Registers (0x2_n500) */ -	uint	maccfg1;	/* MAC Configuration #1 */ -	uint	maccfg2;	/* MAC Configuration #2 */ -	uint	ipgifg;		/* Inter Packet Gap/Inter Frame Gap */ -	uint	hafdup;		/* Half-duplex */ -	uint	maxfrm;		/* Maximum Frame */ -	uint	res514; -	uint	res518; +	u32	maccfg1;	/* MAC Configuration #1 */ +	u32	maccfg2;	/* MAC Configuration #2 */ +	u32	ipgifg;		/* Inter Packet Gap/Inter Frame Gap */ +	u32	hafdup;		/* Half-duplex */ +	u32	maxfrm;		/* Maximum Frame */ +	u32	res514; +	u32	res518; -	uint	res51c; +	u32	res51c; -	uint	resmdio[6]; +	u32	resmdio[6]; -	uint	res538; +	u32	res538; -	uint	ifstat;		/* Interface Status */ -	uint	macstnaddr1;	/* Station Address, part 1 */ -	uint	macstnaddr2;	/* Station Address, part 2 */ -	uint	res548[46]; +	u32	ifstat;		/* Interface Status */ +	u32	macstnaddr1;	/* Station Address, part 1 */ +	u32	macstnaddr2;	/* Station Address, part 2 */ +	u32	res548[46];  	/* (0x2_n600) */ -	uint	res600[32]; +	u32	res600[32];  	/* RMON MIB Registers (0x2_n680-0x2_n73c) */ -	rmon_mib_t	rmon; -	uint	res740[48]; +	struct tsec_rmon_mib	rmon; +	u32	res740[48];  	/* Hash Function Registers (0x2_n800) */ -	tsec_hash_t	hash; +	struct tsec_hash_regs	hash; -	uint	res900[128]; +	u32	res900[128];  	/* Pattern Registers (0x2_nb00) */ -	uint	resb00[62]; -	uint	attr;	   /* Default Attribute Register */ -	uint	attreli;	   /* Default Attribute Extract Length and Index */ +	u32	resb00[62]; +	u32	attr; /* Default Attribute Register */ +	u32	attreli; /* Default Attribute Extract Length and Index */  	/* TSEC Future Expansion Space (0x2_nc00-0x2_nffc) */ -	uint	resc00[256]; -} tsec_t; +	u32	resc00[256]; +};  #define TSEC_GIGABIT (1 << 0) @@ -383,8 +390,8 @@ typedef struct tsec  #define TSEC_SGMII	(1 << 2)	/* MAC-PHY interface uses SGMII */  struct tsec_private { -	tsec_t *regs; -	struct tsec_mii_mng *phyregs_sgmii; +	struct tsec __iomem *regs; +	struct tsec_mii_mng __iomem *phyregs_sgmii;  	struct phy_device *phydev;  	phy_interface_t interface;  	struct mii_dev *bus; @@ -394,8 +401,8 @@ struct tsec_private {  };  struct tsec_info_struct { -	tsec_t *regs; -	struct tsec_mii_mng *miiregs_sgmii; +	struct tsec __iomem *regs; +	struct tsec_mii_mng __iomem *miiregs_sgmii;  	char *devname;  	char *mii_devname;  	phy_interface_t interface; |