diff options
| -rw-r--r-- | board/pxa255_idp/Makefile | 2 | ||||
| -rw-r--r-- | board/pxa255_idp/config.mk | 2 | ||||
| -rw-r--r-- | board/pxa255_idp/lowlevel_init.S (renamed from board/pxa255_idp/memsetup.S) | 10 | ||||
| -rw-r--r-- | board/pxa255_idp/u-boot.lds | 1 | ||||
| -rw-r--r-- | cpu/pxa/config.mk | 3 | ||||
| -rw-r--r-- | cpu/pxa/serial.c | 72 | ||||
| -rw-r--r-- | cpu/pxa/start.S | 6 | ||||
| -rw-r--r-- | include/configs/pxa255_idp.h | 13 | ||||
| -rw-r--r-- | include/part.h | 6 | 
9 files changed, 60 insertions, 55 deletions
| diff --git a/board/pxa255_idp/Makefile b/board/pxa255_idp/Makefile index a957dd396..32399f0e9 100644 --- a/board/pxa255_idp/Makefile +++ b/board/pxa255_idp/Makefile @@ -27,7 +27,7 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)lib$(BOARD).a  COBJS	:= pxa_idp.o -SOBJS	:= memsetup.o +SOBJS	:= lowlevel_init.o  SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)  OBJS	:= $(addprefix $(obj),$(COBJS)) diff --git a/board/pxa255_idp/config.mk b/board/pxa255_idp/config.mk index d2a2040e6..55c8b270a 100644 --- a/board/pxa255_idp/config.mk +++ b/board/pxa255_idp/config.mk @@ -1,3 +1,3 @@  #TEXT_BASE = 0xa1700000 -TEXT_BASE = 0xa3000000 +TEXT_BASE = 0xa3080000  #TEXT_BASE = 0 diff --git a/board/pxa255_idp/memsetup.S b/board/pxa255_idp/lowlevel_init.S index 7e485a28a..aaa4d8eb9 100644 --- a/board/pxa255_idp/memsetup.S +++ b/board/pxa255_idp/lowlevel_init.S @@ -3,7 +3,7 @@   *   * NOTE: I haven't clean this up considerably, just enough to get it   * running. See hal_platform_setup.h for the source. See - * board/cradle/memsetup.S for another PXA250 setup that is + * board/cradle/lowlevel_init.S for another PXA250 setup that is   * much cleaner.   *   * See file CREDITS for list of people who contributed to this @@ -41,8 +41,8 @@ DRAM_SIZE:  .long   CFG_DRAM_SIZE  /*   * 	Memory setup   */ -.globl memsetup -memsetup: +.globl lowlevel_init +lowlevel_init:  	mov      r10, lr @@ -395,7 +395,7 @@ initclks:  	/* Save SDRAM size */  	ldr     r1, =DRAM_SIZE -	 str	   r8, [r1] +	str     r8, [r1]  	/* Interrupt init: Mask all interrupts                              */  	ldr	r0, =ICMR /* enable no sources */ @@ -426,7 +426,7 @@ initclks:  	bl 	blink  #endif -endmemsetup: +endlowlevel_init:  	mov     pc, r10 diff --git a/board/pxa255_idp/u-boot.lds b/board/pxa255_idp/u-boot.lds index 20ce10893..2facd832e 100644 --- a/board/pxa255_idp/u-boot.lds +++ b/board/pxa255_idp/u-boot.lds @@ -44,6 +44,7 @@ SECTIONS  	. = ALIGN(4);  	.got : { *(.got) } +	. = .;  	__u_boot_cmd_start = .;  	.u_boot_cmd : { *(.u_boot_cmd) }  	__u_boot_cmd_end = .; diff --git a/cpu/pxa/config.mk b/cpu/pxa/config.mk index fb810ca7c..f0b86b7dc 100644 --- a/cpu/pxa/config.mk +++ b/cpu/pxa/config.mk @@ -25,8 +25,7 @@  PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \  	-msoft-float -#PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100 -PLATFORM_CPPFLAGS += -march=armv5 -mtune=xscale +PLATFORM_CPPFLAGS += -march=armv5te -mtune=xscale  # =========================================================================  #  # Supply options according to compiler version diff --git a/cpu/pxa/serial.c b/cpu/pxa/serial.c index 51e7f6588..9ba457e75 100644 --- a/cpu/pxa/serial.c +++ b/cpu/pxa/serial.c @@ -35,17 +35,17 @@  DECLARE_GLOBAL_DATA_PTR; -#define FFUART	0 -#define BTUART	1 -#define STUART	2 +#define FFUART_INDEX	0 +#define BTUART_INDEX	1 +#define STUART_INDEX	2  #ifndef CONFIG_SERIAL_MULTI  #if defined (CONFIG_FFUART) -#define UART_INDEX	FFUART +#define UART_INDEX	FFUART_INDEX  #elif defined (CONFIG_BTUART) -#define UART_INDEX	BTUART +#define UART_INDEX	BTUART_INDEX  #elif defined (CONFIG_STUART) -#define UART_INDEX	STUART +#define UART_INDEX	STUART_INDEX  #else  #error "Bad: you didn't configure serial ..."  #endif @@ -71,7 +71,7 @@ void pxa_setbrg_dev (unsigned int uart_index)  		hang ();  	switch (uart_index) { -		case FFUART: +		case FFUART_INDEX:  #ifdef CONFIG_CPU_MONAHANS  			CKENA |= CKENA_22_FFUART;  #else @@ -90,7 +90,7 @@ void pxa_setbrg_dev (unsigned int uart_index)  			FFIER = IER_UUE;	/* Enable FFUART */  		break; -		case BTUART: +		case BTUART_INDEX:  #ifdef CONFIG_CPU_MONAHANS  			CKENA |= CKENA_21_BTUART;  #else @@ -110,7 +110,7 @@ void pxa_setbrg_dev (unsigned int uart_index)  		break; -		case STUART: +		case STUART_INDEX:  #ifdef CONFIG_CPU_MONAHANS  			CKENA |= CKENA_23_STUART;  #else @@ -154,20 +154,20 @@ int pxa_init_dev (unsigned int uart_index)  void pxa_putc_dev (unsigned int uart_index,const char c)  {  	switch (uart_index) { -		case FFUART: +		case FFUART_INDEX:  		/* wait for room in the tx FIFO on FFUART */  			while ((FFLSR & LSR_TEMT) == 0)  				WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			FFTHR = c;  			break; -		case BTUART: +		case BTUART_INDEX:  			while ((BTLSR & LSR_TEMT ) == 0 )  				WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			BTTHR = c;  			break; -		case STUART: +		case STUART_INDEX:  			while ((STLSR & LSR_TEMT ) == 0 )  				WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			STTHR = c; @@ -187,11 +187,11 @@ void pxa_putc_dev (unsigned int uart_index,const char c)  int pxa_tstc_dev (unsigned int uart_index)  {  	switch (uart_index) { -		case FFUART: +		case FFUART_INDEX:  			return FFLSR & LSR_DR; -		case BTUART: +		case BTUART_INDEX:  			return BTLSR & LSR_DR; -		case STUART: +		case STUART_INDEX:  			return STLSR & LSR_DR;  	}  	return -1; @@ -205,16 +205,16 @@ int pxa_tstc_dev (unsigned int uart_index)  int pxa_getc_dev (unsigned int uart_index)  {  	switch (uart_index) { -		case FFUART: +		case FFUART_INDEX:  			while (!(FFLSR & LSR_DR))  			WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			return (char) FFRBR & 0xff; -		case BTUART: +		case BTUART_INDEX:  			while (!(BTLSR & LSR_DR))  			WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			return (char) BTRBR & 0xff; -		case STUART: +		case STUART_INDEX:  			while (!(STLSR & LSR_DR))  			WATCHDOG_RESET ();	/* Reset HW Watchdog, if needed */  			return (char) STRBR & 0xff; @@ -233,32 +233,32 @@ pxa_puts_dev (unsigned int uart_index,const char *s)  #if defined (CONFIG_FFUART)  static int ffuart_init(void)  { -	return pxa_init_dev(FFUART); +	return pxa_init_dev(FFUART_INDEX);  }  static void ffuart_setbrg(void)  { -	return pxa_setbrg_dev(FFUART); +	return pxa_setbrg_dev(FFUART_INDEX);  }  static void ffuart_putc(const char c)  { -	return pxa_putc_dev(FFUART,c); +	return pxa_putc_dev(FFUART_INDEX,c);  }  static void ffuart_puts(const char *s)  { -	return pxa_puts_dev(FFUART,s); +	return pxa_puts_dev(FFUART_INDEX,s);  }  static int ffuart_getc(void)  { -	return pxa_getc_dev(FFUART); +	return pxa_getc_dev(FFUART_INDEX);  }  static int ffuart_tstc(void)  { -	return pxa_tstc_dev(FFUART); +	return pxa_tstc_dev(FFUART_INDEX);  }  struct serial_device serial_ffuart_device = @@ -277,32 +277,32 @@ struct serial_device serial_ffuart_device =  #if defined (CONFIG_BTUART)  static int btuart_init(void)  { -	return pxa_init_dev(BTUART); +	return pxa_init_dev(BTUART_INDEX);  }  static void btuart_setbrg(void)  { -	return pxa_setbrg_dev(BTUART); +	return pxa_setbrg_dev(BTUART_INDEX);  }  static void btuart_putc(const char c)  { -	return pxa_putc_dev(BTUART,c); +	return pxa_putc_dev(BTUART_INDEX,c);  }  static void btuart_puts(const char *s)  { -	return pxa_puts_dev(BTUART,s); +	return pxa_puts_dev(BTUART_INDEX,s);  }  static int btuart_getc(void)  { -	return pxa_getc_dev(BTUART); +	return pxa_getc_dev(BTUART_INDEX);  }  static int btuart_tstc(void)  { -	return pxa_tstc_dev(BTUART); +	return pxa_tstc_dev(BTUART_INDEX);  }  struct serial_device serial_btuart_device = @@ -321,32 +321,32 @@ struct serial_device serial_btuart_device =  #if defined (CONFIG_STUART)  static int stuart_init(void)  { -	return pxa_init_dev(STUART); +	return pxa_init_dev(STUART_INDEX);  }  static void stuart_setbrg(void)  { -	return pxa_setbrg_dev(STUART); +	return pxa_setbrg_dev(STUART_INDEX);  }  static void stuart_putc(const char c)  { -	return pxa_putc_dev(STUART,c); +	return pxa_putc_dev(STUART_INDEX,c);  }  static void stuart_puts(const char *s)  { -	return pxa_puts_dev(STUART,s); +	return pxa_puts_dev(STUART_INDEX,s);  }  static int stuart_getc(void)  { -	return pxa_getc_dev(STUART); +	return pxa_getc_dev(STUART_INDEX);  }  static int stuart_tstc(void)  { -	return pxa_tstc_dev(STUART); +	return pxa_tstc_dev(STUART_INDEX);  }  struct serial_device serial_stuart_device = diff --git a/cpu/pxa/start.S b/cpu/pxa/start.S index ffaa30fdc..b922485ed 100644 --- a/cpu/pxa/start.S +++ b/cpu/pxa/start.S @@ -166,13 +166,17 @@ _start_armboot: .word start_armboot  /*									    */  /****************************************************************************/  /* mk@tbd: Fix this! */ -#ifdef CONFIG_CPU_MONAHANS +#if defined(CONFIG_PXA250) || defined(CONFIG_CPU_MONAHANS)  #undef ICMR  #undef OSMR3  #undef OSCR  #undef OWER  #undef OIER  #endif +#ifdef CONFIG_PXA250 +#undef RCSR +#undef CCCR +#endif  /* Interrupt-Controller base address					    */  IC_BASE:	   .word	   0x40d00000 diff --git a/include/configs/pxa255_idp.h b/include/configs/pxa255_idp.h index 0e884fc11..4a9cadbc7 100644 --- a/include/configs/pxa255_idp.h +++ b/include/configs/pxa255_idp.h @@ -38,10 +38,11 @@  #include <asm/arch/pxa-regs.h>  /* - * If we are developing, we might want to start armboot from ram + * If we are developing, we might want to start U-Boot from RAM   * so we MUST NOT initialize critical regs like mem-timing ...   */ -#define CONFIG_INIT_CRITICAL			/* undef for developing */ +#undef CONFIG_SKIP_LOWLEVEL_INIT			/* define for developing */ +#undef CONFIG_SKIP_RELOCATE_UBOOT			/* define for developing */  /*   * define the following to enable debug blinks.  A debug blink function @@ -62,6 +63,7 @@  #endif  #define CONFIG_MMC		1 +#define CONFIG_DOS_PARTITION	1  #define BOARD_LATE_INIT		1  #undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff */ @@ -121,7 +123,6 @@  #define CONFIG_CMD_FAT  #define CONFIG_CMD_DHCP -  #define CONFIG_BOOTDELAY	3  #define CONFIG_BOOTCOMMAND	"bootm 40000"  #define CONFIG_BOOTARGS		"root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200" @@ -332,7 +333,7 @@  #define CFG_FLASH_CFI_DRIVER	1  #define CFG_MONITOR_BASE	0 -#define CFG_MONITOR_LEN		0x40000 +#define CFG_MONITOR_LEN		PHYS_FLASH_SECT_SIZE  #define CFG_MAX_FLASH_BANKS	1	/* max number of memory banks		*/  #define CFG_MAX_FLASH_SECT	128  /* max number of sectors on one chip    */ @@ -347,7 +348,7 @@  #define CFG_ENV_IS_IN_FLASH	1   /* Addr of Environment Sector	*/  #define CFG_ENV_ADDR		(PHYS_FLASH_1 + PHYS_FLASH_SIZE - 0x40000) -#define CFG_ENV_SIZE		0x40000	/* Total Size of Environment Sector	*/ -#define	CFG_ENV_SECT_SIZE	0x40000 +#define CFG_ENV_SIZE		PHYS_FLASH_SECT_SIZE	/* Total Size of Environment Sector	*/ +#define	CFG_ENV_SECT_SIZE	(PHYS_FLASH_SECT_SIZE / 16)  #endif	/* __CONFIG_H */ diff --git a/include/part.h b/include/part.h index 29c03205f..37b2b6845 100644 --- a/include/part.h +++ b/include/part.h @@ -38,9 +38,9 @@ typedef struct block_dev_desc {  #endif  	lbaint_t		lba;	  	/* number of blocks */  	unsigned long	blksz;		/* block size */ -	unsigned char	vendor [40+1]; 	/* IDE model, SCSI Vendor */ -	unsigned char	product[20+1];	/* IDE Serial no, SCSI product */ -	unsigned char	revision[8+1];	/* firmware revision */ +	char		vendor [40+1]; 	/* IDE model, SCSI Vendor */ +	char		product[20+1];	/* IDE Serial no, SCSI product */ +	char		revision[8+1];	/* firmware revision */  	unsigned long	(*block_read)(int dev,  				      unsigned long start,  				      lbaint_t blkcnt, |