[U-Boot] {Spam?} skip relocation

Marcel korgull at home.nl
Sun Jan 2 20:00:38 CET 2011


On Sunday, January 02, 2011 07:35:50 pm Marcel wrote:
> On Sunday, January 02, 2011 10:07:44 am Marcel wrote:
> > On Saturday, January 01, 2011 11:52:21 pm Albert ARIBAUD wrote:
> > > Le 01/01/2011 16:31, Marcel a écrit :
> > > > Hi,
> > > > 
> > > > In my previous working version of U-boot I used
> > > > CONFIG_SKIP_RELOCATION but this doesn't seem to work any more.
> > > > 
> > > > Any reason why it doesn't work any more ?
> > > > Is there another way to skip relocation ?
> > > 
> > > It actually has no sense any more. The current code skips the
> > > relocation if, and only if, U-boot is already running at its final
> > > destination.
> > > 
> > > Trying to run U-boot without relocating and without being at the
> > > link-time address would not work.
> > 
> > OK, that does make sense.
> > 
> > In my case u-boot is in NOR.
> > What do I need to boot from NOR ?
> 
> Is there any example that boots from NOR ?

Below is the config I used about 2-3 month ago. Perhaps anyone has a hint how 
to make it work with the current relocation code ?

#define CONFIG_ARM926EJS	1	/* This is an ARM926EJS Core */
#define CONFIG_ICNOVA_ARM9	1	/* It's an  ICnova SAM9G45 OEM boardR */
#define CONFIG_AT91SAM9G45	1	/* It's an Atmel AT91SAM9G45 SoC */
#define CONFIG_AT91_LEGACY      1       /* needed for some defines */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/

/* USB Host */
#define CONFIG_USB_ATMEL		1
//#define CONFIG_USB_EHCI			1
#define CONFIG_USB_OHCI_NEW		1
#define CONFIG_SYS_USB_OHCI_CPU_INIT	1
#define CONFIG_SYS_USB_OHCI_REGS_BASE	0x00700000 
#define CONFIG_SYS_USB_OHCI_SLOT_NAME	"at91sam9g45"
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	1
#define CONFIG_DOS_PARTITION		1
#define CONFIG_USB_STORAGE		1

/* USB gadget support for Ethernet over USB */
#define CONFIG_USB_GADGET_ATMEL_USBA  1
#define CONFIG_ARCH_AT91	      1  
#define CONFIG_USB_GADGET	      1
#define CONFIG_USB_ETHER	      1
#define CONFIG_USBNET_MANUFACTURER      "Atmel AT91SAM9G45"
#define CONFIG_USBNET_DEV_ADDR		"8e:28:0f:fa:3c:39"
#define CONFIG_USBNET_HOST_ADDR		"0a:fa:63:8b:e8:0a"
#define CONFIG_USB_CDC_VENDOR_ID        0x0525
#define CONFIG_USB_CDC_PRODUCT_ID       0xa4a1
#define CONFIG_USB_RNDIS_VENDOR_ID      0x0525
#define CONFIG_USB_RNDIS_PRODUCT_ID     0xa4a2


#include <asm/arch/memory-map.h>
/* ARM asynchronous clock */
#define CONFIG_SYS_AT91_MAIN_CLOCK	12000000 /* from 12 MHz crystal */
#define CONFIG_SYS_HZ			1000

#define CONFIG_ARCH_CPU_INIT

#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs */
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG	1

#define CONFIG_SKIP_LOWLEVEL_INIT
#define CONFIG_SKIP_RELOCATE_UBOOT

/*
 * Hardware drivers
 */
#define CONFIG_AT91_GPIO	1
#define CONFIG_ATMEL_USART	1
#undef CONFIG_USART0
#undef CONFIG_USART1
#undef CONFIG_USART2
#define CONFIG_USART3		1	/* USART 3 is DBGU */

#define CONFIG_SYS_USE_NANDFLASH	1

/* LED */
#define CONFIG_AT91_LED
#define	CONFIG_RED_LED		AT91_PIN_PD31	/* this is the user1 led */
#define	CONFIG_GREEN_LED	AT91_PIN_PD0	/* this is the user2 led */

#define CONFIG_BOOTDELAY	3

/*
 * Command line configuration.
 */
#include <config_cmd_default.h>
#define CONFIG_CMD_ASKENV
#undef CONFIG_CMD_FPGA
#undef CONFIG_CMD_IMLS

#define CONFIG_CMD_NAND		1
#define CONFIG_CMD_USB		1

/* SDRAM */
#define CONFIG_NR_DRAM_BANKS		1
#define PHYS_SDRAM			0x70000000
#define PHYS_SDRAM_SIZE			0x08000000	/* 128 megs */
#define CONFIG_SYS_GBL_DATA_SIZE	128
#define INTERNAL_SRAM_BASE		0x00300000
#define INTERNAL_SRAM_SIZE		0x00010000
#define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM
#define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 
PHYS_SDRAM_SIZE)
#define CONFIG_SYS_INTRAM_BASE		INTERNAL_SRAM_BASE
#define CONFIG_SYS_INTRAM_SIZE		INTERNAL_SRAM_SIZE
#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_INTRAM_BASE + 
CONFIG_SYS_INTRAM_SIZE)
#define CONFIG_SYS_MALLOC_LEN		(256*1024)
#define CONFIG_SYS_DMA_ALLOC_LEN	(16384)
/* Allow 4MB for the kernel run-time image */
#define CONFIG_SYS_LOAD_ADDR			(PHYS_SDRAM + 0x00400000)
#define CONFIG_SYS_BOOTPARAMS_LEN		(16 * 1024)

/* NAND flash */
#define CONFIG_CMD_MTDPARTS             1
#define CONFIG_MTD_DEVICE		1
#define CONFIG_NAND_MAX_CHIPS		1
//#define CONFIG_NAND_ATMEL
#define CONFIG_SYS_MAX_NAND_DEVICE	1
#define CONFIG_SYS_NAND_BASE		0x40000000
#define CONFIG_SYS_NAND_DBW_8		1
/* our ALE is AD21 */
#define CONFIG_SYS_NAND_MASK_ALE	(1 << 21)
/* our CLE is AD22 */
#define CONFIG_SYS_NAND_MASK_CLE	(1 << 22)
#define CONFIG_SYS_NAND_ENABLE_PIN	AT91_PIO_PORTC, 8
#define CONFIG_SYS_NAND_READY_PIN	AT91_PIO_PORTD, 11


/* Ethernet */
#define CONFIG_MACB			1
#define CONFIG_RMII			1
#define CONFIG_NET_MULTI		1
#define CONFIG_NET_RETRY_COUNT		20
#define CONFIG_RESET_PHY_R		1
#define CONFIG_NET_DO_NOT_TRY_ANOTHER	1
#define CONFIG_OVERWRITE_ETHADDR_ONCE	1
#define CONFIG_CMD_DHCP                 1 
#define CONFIG_CMD_PING		        1
#define CONFIG_MACB_SEARCH_PHY          1
/*
 * BOOTP options
 */
#define CONFIG_BOOTP_BOOTFILESIZE	1
#define CONFIG_BOOTP_BOOTPATH		1
#define CONFIG_BOOTP_GATEWAY		1
#define CONFIG_BOOTP_HOSTNAME		1
#define CONFIG_BOOTP_SUBNETMASK

/* NOR flash */
#define CONFIG_CMD_JFFS2                1
#define CONFIG_SYS_FLASH_SIZE		0x00100000
#define CONFIG_SYS_FLASH_SECT		8
#define CONFIG_SYS_FLASH_CFI			1
#define CONFIG_FLASH_CFI_DRIVER			1
#define PHYS_FLASH_1				0x10000000
#define CONFIG_SYS_FLASH_BASE			PHYS_FLASH_1
#define CONFIG_SYS_MAX_FLASH_SECT		8
#define CONFIG_SYS_MAX_FLASH_BANKS		1

#define CONFIG_SYS_MONITOR_SEC	1:0-7
#define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_FLASH_BASE
#define CONFIG_SYS_MONITOR_LEN	(256 << 10)
#define CONFIG_ENV_IS_IN_FLASH	1
#define CONFIG_ENV_SIZE		0x20000
#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x000E0000)

#define MTDIDS_DEFAULT		"nand0=nand.0"
#define MTDPARTS_DEFAULT        "mtdparts=nand.0:2M(kernel),16M(root),-(Data)"
#undef CONFIG_BOOTARGS
#undef CONFIG_BOOTCOMMAND

#define CONFIG_BOOTARGS		"root=1F01 rootfstype=jffs2"
#define CONFIG_BOOTCOMMAND	\
	"mtdparts default; nand read 0x71000000 nand0,0; bootm 0x71000000"

#define CONFIG_BAUDRATE			115200
#define CONFIG_SYS_BAUDRATE_TABLE	{115200 , 19200, 38400, 57600, 9600  }

#define CONFIG_SYS_PROMPT		"Sam9> "
#define CONFIG_SYS_CBSIZE		256
#define CONFIG_SYS_MAXARGS		16
#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + 
sizeof(CONFIG_SYS_PROMPT) + 16)
#define CONFIG_SYS_LONGHELP		1
#define CONFIG_CMDLINE_EDITING		1
#define CONFIG_AUTO_COMPLETE		1
#define CONFIG_SYS_HUSH_PARSER
#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "

/*
 * Size of malloc() pool
 */
#define CONFIG_SYS_GBL_DATA_SIZE	128 /* 128 bytes for initial data */

#define CONFIG_STACKSIZE		(16*2048)	/* regular stack */

#ifdef CONFIG_USE_IRQ
#error CONFIG_USE_IRQ not supported
#endif

#endif

Best regards,
Marcel







More information about the U-Boot mailing list