Re: [U-Boot-Users] [PATCH] fix non-working mvBL-M7
Kim, thanks - ok. Switching to U_BOOT_VERSION should be no problem. regards, André Kim Phillips schrieb: On Mon, 23 Jun 2008 13:25:34 +0200 Andre Schwarz [EMAIL PROTECTED] wrote: Hello Andre, diff --git a/include/configs/MVBLM7.h b/include/configs/MVBLM7.h index 349ca14..8c0e8b6 100644 --- a/include/configs/MVBLM7.h +++ b/include/configs/MVBLM7.h @@ -27,7 +27,7 @@ #ifndef __CONFIG_H #define __CONFIG_H -#define MV_VERSION v1.0.1 +#define MV_VERSION v1.0.2 instead of incrementing this for each patch, can we just use U_BOOT_VERSION instead? #define CONFIG_HAS_ETH0 +#define CONFIG_ETHADDR b6:b4:45:eb:fb:c0 #define CONFIG_TSEC1_NAME TSEC0 #define CONFIG_FEC1_PHY_NORXERR #define CFG_TSEC1_OFFSET0x24000 @@ -224,6 +225,7 @@ #define TSEC1_FLAGS (TSEC_GIGABIT|TSEC_REDUCED) #define CONFIG_HAS_ETH1 +#define CONFIG_ETH1ADDR b6:b4:45:eb:fb:c2 #define CONFIG_TSEC2_NAME TSEC1 I had removed this from your original board port because this goes against recommended practice; see: http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/41178 +#define CONFIG_HIGH_BATS 1 this line applied. Kim MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] at91sam9260-ek intermittenly fails at u-boot init
Le mercredi 25 juin 2008 à 01:36 +, Norman Cheung a écrit : I am struggling with this problem for a week now and not making any progress. So any suggestions, ideas or pointer will be greatly appreciated. [...] The board works with u-boot 1.3.2 and at91bootstrap(1.5 I only have the binary) booting from NAND. The source (for the latest version) is freely available on the Atmel site: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4093 If you really need the source for an older version, I'm sure the Atmel support will send it to you upon request. U-boot fails intermittently at the start. When it fails, it didn't make it to my first printf statement. When I use JTAG to debug it, it always works. If the board has been let without power for 1+ hour, it will also boot up when I apply power to it(something to do with the battery perhaps). Did you try disconnecting the battery ? Or replacing the battery with a new one ? [...] We had at91bootstrap 1.5 working well in 32-bit mode with u-boot 1.3.2. But I don't have the source. See above. I wonder what is the current stable version of u-boot and at91bootstrap? AT91Bootstrap seems to be at v1.9. As for U-Boot, try the latest git (which will soon be u-boot v1.3.4). (BTW, if Wolfgang is listening, it would be nice to have proper tags in git as well as releases on the ftp server for the -pre version. Since the merge window is closed, I guess we're up to v1.3.4-pre1 now, but this version tag cannot be found anywhere...) Stelian. -- Stelian Pop [EMAIL PROTECTED] - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] mtd: CONFIG_NAND_LAZY_SCAN option support
With this option set, the nand_init() doesn't scan NAND for bad blocks. This allows one to avoid boot delays caused by the scanning procedure for the boards which do not need NAND for booting. To work with NAND having this option set, one should explicitely call nand_lazy_scan_finish() before using the NAND chip. This function automatically called at the first access to NAND chip from the U-Boot command line. Signed-off-by: Ilya Yanok [EMAIL PROTECTED] Signed-off-by: Yuri Tikhonov [EMAIL PROTECTED] --- common/cmd_nand.c|2 ++ drivers/mtd/nand/nand_base.c |5 + include/linux/mtd/nand.h |4 include/nand.h | 14 ++ 4 files changed, 25 insertions(+), 0 deletions(-) diff --git a/common/cmd_nand.c b/common/cmd_nand.c index 37eb41b..6f5d13d 100644 --- a/common/cmd_nand.c +++ b/common/cmd_nand.c @@ -236,6 +236,8 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) } nand = nand_info[nand_curr_device]; +nand_lazy_scan_finish(nand); + if (strcmp(cmd, bad) == 0) { printf(\nDevice %d bad blocks:\n, nand_curr_device); for (off = 0; off nand-size; off += nand-erasesize) diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 740d3fc..f3ee705 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2652,8 +2652,13 @@ int nand_scan (struct mtd_info *mtd, int maxchips) #if 0 mtd-owner = THIS_MODULE; #endif +#ifdef CONFIG_NAND_LAZY_SCAN +this-options = ~NAND_BBT_SCANNED; +return 0; +#else /* Build bad block table */ return this-scan_bbt (mtd); +#endif } /** diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 4cc4a7d..8a6d69e 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -450,6 +450,10 @@ struct nand_bbt_descr { #define NAND_BBT_SAVECONTENT0x2000 /* Search good / bad pattern on the first and the second page */ #define NAND_BBT_SCAN2NDPAGE0x4000 +#ifdef CONFIG_NAND_LAZY_SCAN +/* bbt is already read */ +#define NAND_BBT_SCANNED0x8000 +#endif /* The maximum number of blocks to scan for a bbt */ #define NAND_BBT_SCAN_MAXBLOCKS 4 diff --git a/include/nand.h b/include/nand.h index 247d346..6d3e91a 100644 --- a/include/nand.h +++ b/include/nand.h @@ -122,4 +122,18 @@ int nand_get_lock_status(nand_info_t *meminfo, ulong offset); void board_nand_select_device(struct nand_chip *nand, int chip); #endif +#ifdef CONFIG_NAND_LAZY_SCAN +static inline void nand_lazy_scan_finish(nand_info_t *info) +{ +struct nand_chip *chip = info-priv; + +if (!(chip-options NAND_BBT_SCANNED)) { +chip-scan_bbt(info); +chip-options |= NAND_BBT_SCANNED; +} +} +#else +#define nand_lazy_scan_finish(info)do {} while(0) +#endif + #endif -- 1.5.4.2 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH][AT91][Re-submit] DataFlash AT45DB021 support
On 17:21 Tue 17 Jun , Sergey Lapin wrote: Hi, all! On 11:06 Thu 05 Jun , Sergey Lapin wrote: Some boards based on AT91SAM926X-EK use smaller DF chips to keep bootstrap, u-boot and its environment, using NAND or other external storage for kernel and rootfs. This patch adds support for small 1024x263 chip. Signed-off-by: Sergey Lapin [EMAIL PROTECTED] Scott will you handle this patch or I will do? Best Regards, J. It's not NAND; go ahead and take it. -Scott Any updates about this? Thanks a lot, S. I'll take care of this patch during the next week, sorry for the delay. Best Regards, J. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] at91sam9260-ek intermittenly fails at u-boot init
(BTW, if Wolfgang is listening, it would be nice to have proper tags in git as well as releases on the ftp server for the -pre version. Since the merge window is closed, I guess we're up to v1.3.4-pre1 now, but this version tag cannot be found anywhere...) good idea Best Regards, J. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] fs: make the static array to dynamic allocation
Current fat.c have three 64KB static array, it makes the BSS section larger. Change the static to dynamic allocation. Signed-off-by: Dave Liu [EMAIL PROTECTED] --- fs/fat/fat.c | 38 +++--- 1 files changed, 35 insertions(+), 3 deletions(-) diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 49c78ed..8e054a6 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -28,6 +28,7 @@ #include common.h #include config.h #include fat.h +#include malloc.h #include asm/byteorder.h #include part.h @@ -65,6 +66,37 @@ int disk_read (__u32 startblock, __u32 getsize, __u8 * bufptr) return -1; } +__u8 *get_vfatname_block; +__u8 *get_dentfromdir_block; +__u8 *do_fat_read_block; +static int fat_mem_done = 0; +static int fat_memory_alloc(void) +{ + if (fat_mem_done) + return 0; + + get_vfatname_block = (__u8 *)malloc(MAX_CLUSTSIZE); + if (!get_vfatname_block) { + printf(alloc get_vfatname_block failed\n\r); + return -1; + } + + get_dentfromdir_block = (__u8 *)malloc(MAX_CLUSTSIZE); + if (!get_dentfromdir_block) { + printf(alloc get_dentfromdir_block failed\n\r); + return -1; + } + + do_fat_read_block = (__u8 *)malloc(MAX_CLUSTSIZE); + if (!do_fat_read_block) { + printf(alloc do_fat_read_block failed\n\r); + return -1; + } + + fat_mem_done = 1; + + return 0; +} int fat_register_device(block_dev_desc_t *dev_desc, int part_no) @@ -72,6 +104,9 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) unsigned char buffer[SECTOR_SIZE]; disk_partition_t info; + if (fat_memory_alloc()) + printf(fat memory alloc failed\n\r); + if (!dev_desc-block_read) return -1; cur_dev = dev_desc; @@ -435,7 +470,6 @@ slot2str(dir_slot *slotptr, char *l_name, int *idx) * into 'retdent' * Return 0 on success, -1 otherwise. */ -__u8get_vfatname_block[MAX_CLUSTSIZE]; static int get_vfatname(fsdata *mydata, int curclust, __u8 *cluster, dir_entry *retdent, char *l_name) @@ -521,7 +555,6 @@ mkcksum(const char *str) * Get the directory entry associated with 'filename' from the directory * starting at 'startsect' */ -__u8 get_dentfromdir_block[MAX_CLUSTSIZE]; static dir_entry *get_dentfromdir (fsdata * mydata, int startsect, char *filename, dir_entry * retdent, int dols) @@ -727,7 +760,6 @@ read_bootsectandvi(boot_sector *bs, volume_info *volinfo, int *fatsize) } -__u8 do_fat_read_block[MAX_CLUSTSIZE]; /* Block buffer */ long do_fat_read (const char *filename, void *buffer, unsigned long maxsize, int dols) -- 1.5.4.1 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] at91sam9260-ek intermittenly fails at u-boot init
Many thanks Stelian for the replies. My comments inline. Norman Stelian Pop wrote: Le mercredi 25 juin 2008 à 01:36 +, Norman Cheung a écrit : I am struggling with this problem for a week now and not making any progress. So any suggestions, ideas or pointer will be greatly appreciated. [...] Since the post earlier, I have narrowed the problem to the bootstrap during the copy from NAND to SDRAM, memories are corrupted. I think I have a marginal NAND chip. I played around the SMC cycle timing in bootstrap, I have a setting that I can boot u-boot with power cycle 6 out of 10 times. So I am convinced that it is not an u-boot issue, Thanks! The board works with u-boot 1.3.2 and at91bootstrap(1.5 I only have the binary) booting from NAND. The source (for the latest version) is freely available on the Atmel site: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4093 If you really need the source for an older version, I'm sure the Atmel support will send it to you upon request. U-boot fails intermittently at the start. When it fails, it didn't make it to my first printf statement. When I use JTAG to debug it, it always works. If the board has been let without power for 1+ hour, it will also boot up when I apply power to it(something to do with the battery perhaps). Did you try disconnecting the battery ? Or replacing the battery with a new one ? [...] I tried disconnecting the battery and with the new SMC timing changes, I can boot up only one time after disconnecting the battery. I will go and get a new battery. We had at91bootstrap 1.5 working well in 32-bit mode with u-boot 1.3.2. But I don't have the source. See above. I wonder what is the current stable version of u-boot and at91bootstrap? AT91Bootstrap seems to be at v1.9. As for U-Boot, try the latest git (which will soon be u-boot v1.3.4). (BTW, if Wolfgang is listening, it would be nice to have proper tags in git as well as releases on the ftp server for the -pre version. Since the merge window is closed, I guess we're up to v1.3.4-pre1 now, but this version tag cannot be found anywhere...) Stelian. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] fs: make the static array to dynamic allocation
On Jun 26, 2008, at 9:50 AM, Dave Liu wrote: Current fat.c have three 64KB static array, it makes the BSS section larger. Change the static to dynamic allocation. Signed-off-by: Dave Liu [EMAIL PROTECTED] --- fs/fat/fat.c | 38 +++--- 1 files changed, 35 insertions(+), 3 deletions(-) diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 49c78ed..8e054a6 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -28,6 +28,7 @@ #include common.h #include config.h #include fat.h +#include malloc.h #include asm/byteorder.h #include part.h @@ -65,6 +66,37 @@ int disk_read (__u32 startblock, __u32 getsize, __u8 * bufptr) return -1; } +__u8 *get_vfatname_block; +__u8 *get_dentfromdir_block; +__u8 *do_fat_read_block; +static int fat_mem_done = 0; +static int fat_memory_alloc(void) +{ + if (fat_mem_done) + return 0; + + get_vfatname_block = (__u8 *)malloc(MAX_CLUSTSIZE); do you really need the cast? + if (!get_vfatname_block) { + printf(alloc get_vfatname_block failed\n\r); + return -1; + } + + get_dentfromdir_block = (__u8 *)malloc(MAX_CLUSTSIZE); ditto. + if (!get_dentfromdir_block) { + printf(alloc get_dentfromdir_block failed\n\r); + return -1; + } + + do_fat_read_block = (__u8 *)malloc(MAX_CLUSTSIZE); ditto + if (!do_fat_read_block) { + printf(alloc do_fat_read_block failed\n\r); + return -1; + } + + fat_mem_done = 1; + + return 0; +} - k - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Performance in Booting Linux w/ Device Tree via U-Boot out of JFFS2 on NAND
Hi Grant, I have a custom board that only has NAND flash, so my JFFS2 file systems are in NAND. You say in your mail item of Fri, 07 Mar 2008 17:09:42 -0800 that you are using u-boot/fs/jffs2/jffs2_nand_1pass.c from u-boot (1.3.2-rc3). However, when I change the u-boot/fs/jffs2/Makefile to build jffs2_nand_1pass.o instead of jffs2_1pass.o it does not build. Have you modified jffs2_nand_1pass.c from the version in 1.3.2-rc3? Regards, Mark - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH V8] ARM: Add support for Lyrtech SFF-SDRboard (ARM926EJS)
On 11:53 Wed 25 Jun , Hugo Villeneuve wrote: Hugo Villeneuve wrote: [EMAIL PROTECTED] wrote: ARM: This patch adds support for the Lyrtech SFF-SDR board, based on the TI DaVinci architecture (ARM926EJS). I haven´t heard from anyone about my patch being accepted or not. It´s been almost five weeks since I submitted the first version, and I still cannot see it in the ARM tree or U-Boot master tree. Should I look into a specific tree to see if my patch has been accepted? Still no answer, who is responsible for incorporating my patch in U-Boot? Is anything missing or incorrect with the patch? The patch is OK for me. I'll apply it soon Best Regards, J. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Ethernet stopped working after upgrading from 1.1.5 to 1.3.3
Hi Stuart, Stuart Wood wrote: Hi all, Can anyone point me in the right direction to figure out why after porting up to 1.3.3 from 1.1.5 I'm getting a No ethernet found. error. I'm using a cirrus logic EP9302 Arm processor that was someone initially ported to u-boot 1.1.5. So I'm not to familiar with how the CPU specific files should be laid out. Did the config commands change to set up Ethernet? The Ethernet driver for the chip is under cpu/arm920t/ep93xx/eth.c There's no 'ep93xx' in the source code. Where did you get it from? regards, Ben - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Ethernet stopped working after upgrading from 1.1.5 to 1.3.3
Stuart Wood wrote: It was pulled together from the cirrus logic Linux distribution posts done on the linux-cirrus mailing list as far as I know. I was not around when it was initially put together, and the engineer who did it has since left. That's a fun position to be in. Since the code's out of tree there's only so much we can do to help. Stuart On Thu, Jun 26, 2008 at 12:26 PM, Ben Warren [EMAIL PROTECTED] wrote: Hi Stuart, Stuart Wood wrote: Hi all, Can anyone point me in the right direction to figure out why after porting up to 1.3.3 from 1.1.5 I'm getting a No ethernet found. error. If I had to guess, I'd say that the hooks aren't in /net/eth.c to initialize the driver. I'm using a cirrus logic EP9302 Arm processor that was someone initially ported to u-boot 1.1.5. So I'm not to familiar with how the CPU specific files should be laid out. Did the config commands change to set up Ethernet? The Ethernet driver for the chip is under cpu/arm920t/ep93xx/eth.c Nothing fundamental has changed in how Ethernet drivers are initialized. I'm afraid you're going to have to roll up your sleeves and figure it out yourself. printf will be very helpful. There's no 'ep93xx' in the source code. Where did you get it from? regards, Ben - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] mtd: CONFIG_NAND_LAZY_SCAN option support
Ilya Yanok wrote: diff --git a/common/cmd_nand.c b/common/cmd_nand.c index 37eb41b..6f5d13d 100644 --- a/common/cmd_nand.c +++ b/common/cmd_nand.c @@ -236,6 +236,8 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) } nand = nand_info[nand_curr_device]; +nand_lazy_scan_finish(nand); + There are other entry points that need to be covered (e.g. do_nandboot, do_onenand, env_nand, jffs2, etc). Probably better to put the call in nand_block_isbad(). diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 740d3fc..f3ee705 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2652,8 +2652,13 @@ int nand_scan (struct mtd_info *mtd, int maxchips) #if 0 mtd-owner = THIS_MODULE; #endif +#ifdef CONFIG_NAND_LAZY_SCAN +this-options = ~NAND_BBT_SCANNED; +return 0; +#else /* Build bad block table */ return this-scan_bbt (mtd); +#endif Is there any reason not to enable this unconditionally? Also, this patch is whitespace-mangled. -Scott - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Performance in Booting Linux w/ Device Tree via U-Boot out of JFFS2 on NAND
On 6/26/08 8:33 AM, Mark Craske wrote: I have a custom board that only has NAND flash, so my JFFS2 file systems are in NAND. You say in your mail item of Fri, 07 Mar 2008 17:09:42 -0800 that you are using u-boot/fs/jffs2/jffs2_nand_1pass.c from u-boot (1.3.2-rc3). However, when I change the u-boot/fs/jffs2/Makefile to build jffs2_nand_1pass.o instead of jffs2_1pass.o it does not build. Have you modified jffs2_nand_1pass.c from the version in 1.3.2-rc3? Mark: At this point, for performance reasons, I abandoned any effort to use JFFS2 out of u-boot to boot images via 'fsload'. So, as of today, I am running u-boot-1.3.3 and am booting a boot.itb multi-image containing a compressed Linux kernel + FDT DTB out of NAND using 'nboot': = printenv bootaddr bootcmd boot0 boot1 bootaddr=80 bootcmd=run boot0 || run boot1 || reset boot0=nboot.i ${bootaddr} 0 0 setenv bootargs root=/dev/mtdblock9 run addjffs2 addtty bootm ${bootaddr} boot1=nboot.i ${bootaddr} 0 1C0 setenv bootargs root=/dev/mtdblock11 run addjffs2 addtty bootm ${bootaddr} During the time I was evaluating JFFS2 on the AMCC PowerPC 405EXr Haleakala board, I do not recall having any compilation issues or having to tweak the build beyond the necessary CONFIG_/CFG_ settings. Regards, Grant - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Ethernet stopped working after upgrading from 1.1.5 to 1.3.3
Just figured it out. The new board config file had COFIG_NET_MULTI and CONFIG_NETCONSOLE defined. undefine then and it works again. Someday when I have time I'll try and add CONFIG_NETCONSOLE back in and get that to work... Thanks for the help. Stuart On Thu, Jun 26, 2008 at 12:49 PM, Ben Warren [EMAIL PROTECTED] wrote: Stuart Wood wrote: It was pulled together from the cirrus logic Linux distribution posts done on the linux-cirrus mailing list as far as I know. I was not around when it was initially put together, and the engineer who did it has since left. That's a fun position to be in. Since the code's out of tree there's only so much we can do to help. Stuart On Thu, Jun 26, 2008 at 12:26 PM, Ben Warren [EMAIL PROTECTED] wrote: Hi Stuart, Stuart Wood wrote: Hi all, Can anyone point me in the right direction to figure out why after porting up to 1.3.3 from 1.1.5 I'm getting a No ethernet found. error. If I had to guess, I'd say that the hooks aren't in /net/eth.c to initialize the driver. I'm using a cirrus logic EP9302 Arm processor that was someone initially ported to u-boot 1.1.5. So I'm not to familiar with how the CPU specific files should be laid out. Did the config commands change to set up Ethernet? The Ethernet driver for the chip is under cpu/arm920t/ep93xx/eth.c Nothing fundamental has changed in how Ethernet drivers are initialized. I'm afraid you're going to have to roll up your sleeves and figure it out yourself. printf will be very helpful. There's no 'ep93xx' in the source code. Where did you get it from? regards, Ben -- Stuart Wood Lab X Technologies, LLC 176 Anderson Ave. Suite 302 Rochester, NY 14607 Phone: (585) 271-7790 x207 Fax: (585) 473.4707 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Booting Multi Image FIle
Hi all, I have a board here that was fully working when booting using the tree files separated. Now im trying using a multi image file: # mkimage -A ppc -O Linux -T multi -C gzip -n 'Linux PowerPC' -d vmlinux.bin.gz:ramdisk:board.dtb kernel.img Loading to ram: # tftpboot 0x0100 kernel.img Booting: # bootm 0x0100 ## Booting image at 0100 ... Image Name: Linux PowerPC Image Type: PowerPC Linux Multi-File Image (gzip compressed) Data Size:2627156 Bytes = 2.5 MB Load Address: Entry Point: Contents: Image 0: 916112 Bytes = 894.6 kB Image 1: 1698738 Bytes = 1.6 MB Image 2:12288 Bytes = 12 kB Verifying Checksum ... OK Uncompressing Multi-File Image ... OK Loading Ramdisk to 07de2000, end 07f80bb2 ... OK Loading Device Tree to 007fc000, end 007fefff ... OK . . . RAMDISK: Couldn't find valid RAM disk image starting at 0. No filesystem could mount root, tried: ext2 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) Im missing something? Do i have to pass the addr of ramdisk at bootm ? Thanks in advance, -- Alemao - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Problems with root JFFS2 on NAND Flash
Hi Grant, Tried what you said including patching mkfs.jffs2 and I'm now getting these errors jffs_check_nand_cleanmarker returned 1 jffs2_check_nand_cleanmarker(): Cleanmarker node not detected in block at 00298000 OOB at 00298000 was cf 0c 3f c3 ff ff cc 0f ff ff ff ff ff ff ff ff jffs_check_nand_cleanmarker returned 1 jffs2_check_nand_cleanmarker(): Cleanmarker node not detected in block at 0029c000 OOB at 0029c000 was 3f 00 cf f0 ff ff 0f 33 ff ff ff ff ff ff ff ff jffs_check_nand_cleanmarker returned 1 jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0029c000: 0x138e instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0029c004: 0x1358 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0029c008: 0x33cc instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0029c00c: 0x73c8 instead This seems to imply that the kernel is looking for the clean markers. If they are not needed with NAND flash then why would it look for them? I did not see anything in the kernel configs for JFFS2 that would tell it to use use them. As I said before this is kernel 2.6.18, an older version of build root using mtd_20050122 Any other thoughts? Stuart On Fri, Jun 13, 2008 at 11:54 AM, Grant Erickson [EMAIL PROTECTED] wrote: On 6/13/08 7:45 AM, Stuart Wood wrote: I'm having some new problems with my jffs2 root file system when it is mounted the first time from small page nand flash. I'm pretty sure its some sort of configuration problem but the web hasn't helped so far. [ ... ] The jffs2 image is being built with this command from Buildroot: # Use fakeroot so mkfs.jffs2 believes the previous fakery echo /home/stuart/ArmLinux/buildroot/toolchain_build_arm_nofpu/mtd_orig/util/mkfs. jffs2 -e 0x4000 -p -l -s 0x200 -n -D target/generic/device_table.txt -d /home/stuart/ArmLinux/buildroot/build_arm_nofpu/root -o /home/stuart/ArmLinux/buildroot/rootfs.arm_nofpu.jffs2 \ /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2 chmod a+x /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2 /opt/buildroot/usr/bin/fakeroot -- /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2 rootdir=/home/stuart/ArmLinux/buildroot/build_arm_nofpu/root table='target/generic/device_table.txt' mkfs.jffs2: skipping device_table entry '/dev': no parent directory! mkfs.jffs2: skipping device_table entry '/tmp': no parent directory! mkfs.jffs2: skipping device_table entry '/etc': no parent directory! Regarding the above three errors, you may be interested in the following patch and referenced thread: http://lists.infradead.org/pipermail/linux-mtd/2008-June/022008.html u-boot nand erase clean 50 1b0 I cannot speak to your specific board; however, I found that 'clean' was not necessary and used the following sequence to write a JFFS2 image to Samsung small-page NAND on my PPC405EXr-based board: = tftp 80 root.img = nand erase 80 140 = nand write.i ${fileaddr} 80 ${filesize} Adjust sizes and offsets accordingly for your board. Regards, Grant Erickson -- Stuart Wood Lab X Technologies, LLC 176 Anderson Ave. Suite 302 Rochester, NY 14607 Phone: (585) 271-7790 x207 Fax: (585) 473.4707 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Problems with root JFFS2 on NAND Flash
On 6/26/08 10:27 AM, Stuart Wood wrote: Tried what you said including patching mkfs.jffs2 and I'm now getting these errors [ errors omitted ] This seems to imply that the kernel is looking for the clean markers. If they are not needed with NAND flash then why would it look for them? I did not see anything in the kernel configs for JFFS2 that would tell it to use use them. As I said before this is kernel 2.6.18, an older version of build root using mtd_20050122 Any other thoughts? Stuart: Without knowing more about the specific origin and configuration of your kernel, version and configuration of u-boot and model, revision and geometry of NAND, it is difficult to speculate. I am using: AMCC PowerPC 405EXr Samsung K9F1208U0B NAND U-boot 1.3.3 Linux 2.6.25-rc3-DENX Are you certain that u-boot and linux are in agreement about the NAND layout and format? I had some initial problems in that area until I applied a patch to u-boot (prior to 1.3.3) that addressed the issue and brought the two into agreement. Regards, Grant - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Problems with root JFFS2 on NAND Flash
On Thu, Jun 26, 2008 at 1:55 PM, Grant Erickson [EMAIL PROTECTED] wrote: Without knowing more about the specific origin and configuration of your kernel, version and configuration of u-boot and model, revision and geometry of NAND, it is difficult to speculate. I am using: AMCC PowerPC 405EXr Samsung K9F1208U0B NAND U-boot 1.3.3 Linux 2.6.25-rc3-DENX I'm using the following: Cirrus Logic EP9302 (ARM920T) ST NAND256W3A2BNG NAND U-boot 1.3.3 modified for the EP93xx Linux 2.8.18 + EP93xx patches Are you certain that u-boot and linux are in agreement about the NAND layout and format? I had some initial problems in that area until I applied a patch to u-boot (prior to 1.3.3) that addressed the issue and brought the two into agreement. Can you expand on this? I've set the partition tables to be the same between the two, but I'm not sure what else needs to synchronized. MTD version? -- Stuart Wood Lab X Technologies, LLC 176 Anderson Ave. Suite 302 Rochester, NY 14607 Phone: (585) 271-7790 x207 Fax: (585) 473.4707 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Problems with root JFFS2 on NAND Flash
Stuart Wood wrote: I'm using the following: Cirrus Logic EP9302 (ARM920T) ST NAND256W3A2BNG NAND U-boot 1.3.3 modified for the EP93xx Linux 2.8.18 + EP93xx patches Woohah! Could you please send me a copy of your kernel source? Kind regards, Andrejs Cainikovs. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] PATCH: drivers/mtd/jedec_flash.c (typo)
I noticed that the device id for AMD flash part AM29DL800BB is wrong. Attached patch corrects it. Cheers, Jerry Hicks. --- drivers/mtd/jedec_flash.c.orig 2008-05-19 06:47:11.0 -0400 +++ drivers/mtd/jedec_flash.c 2008-06-26 21:27:55.0 -0400 @@ -42,7 +42,7 @@ #define MANUFACTURER_SST 0x00BF /* AMD */ -#define AM29DL800BB 0x22C8 +#define AM29DL800BB 0x22CB #define AM29DL800BT 0x224A #define AM29F800BB 0x2258 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH RFC] ARM: Davinci: NAND fix for large page ECC and linux compatibility
U-boot's HW ECC support for large page NAND on Davinci is completely broken. Some kernels, such as the 2.6.10 one supported by MontaVista for Davinci, rely upon this broken behaviour as they share the same code for ECCs. In the existing scheme, error detection *might* work on large page, but error correction definitely does not. Small page ECC correction works, but the format is not compatible with the mainline git kernel. This patch adds ECC code that matches what is currently in the Davinci git repository (since NAND support was added in 2.6.24). This makes the ECC and OOB layout written by u-boot compatible with Linux for both small page and large page devices and fixes ECC correction for large page devices. The code depends on a #define CFG_LINUX_COMPATIBLE_ECC, which is undefined by default, making the default state backwards compatible. I have verified this by compiling without the #define and producing a binary byte-for-byte identical to one without this patch. [NOTE: I have not yet been able to get my hands on a board with small-page NAND to test, but large page does work. If anybody is interested in testing it, please do and let me know if it works for you (i.e. uboot with this patch and davinci git kernel can read/write the same NAND).] Signed-off-by: Bernard Blackham [EMAIL PROTECTED] --- cpu/arm926ejs/davinci/nand.c| 79 ++-- include/configs/davinci_dvevm.h | 12 ++ 2 files changed, 89 insertions(+), 2 deletions(-) Index: u-boot-1.3.3/cpu/arm926ejs/davinci/nand.c === --- u-boot-1.3.3.orig/cpu/arm926ejs/davinci/nand.c 2008-05-19 18:47:11.0 +0800 +++ u-boot-1.3.3/cpu/arm926ejs/davinci/nand.c 2008-06-27 13:04:03.0 +0800 @@ -87,6 +87,10 @@ static void nand_davinci_select_chip(str } #ifdef CFG_NAND_HW_ECC + +#ifndef CFG_LINUX_COMPATIBLE_ECC +/* Linux-compatible ECC uses MTD defaults. */ +/* These layouts are not compatible with Linux or RBL/UBL. */ #ifdef CFG_NAND_LARGEPAGE static struct nand_oobinfo davinci_nand_oobinfo = { .useecc = MTD_NANDECC_AUTOPLACE, @@ -104,6 +108,7 @@ static struct nand_oobinfo davinci_nand_ #else #error Either CFG_NAND_LARGEPAGE or CFG_NAND_SMALLPAGE must be defined! #endif +#endif static void nand_davinci_enable_hwecc(struct mtd_info *mtd, int mode) { @@ -141,12 +146,29 @@ static u_int32_t nand_davinci_readecc(st static int nand_davinci_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code) { +#ifdef CFG_LINUX_COMPATIBLE_ECC + unsigned int ecc_val = nand_davinci_readecc(mtd, 1); + /* squeeze 0 middle bits out so that it fits in 3 bytes */ + unsigned int tmp = (ecc_val0x0fff)|((ecc_val0x0fff)4); + /* invert so that erased block ecc is correct */ + tmp = ~tmp; + ecc_code[0] = (u_char)(tmp); + ecc_code[1] = (u_char)(tmp 8); + ecc_code[2] = (u_char)(tmp 16); +#else u_int32_t tmp; int region, n; struct nand_chip*this = mtd-priv; n = (this-eccmode == NAND_ECC_HW12_2048) ? 4 : 1; + /* +* This is not how you should read ECCs on large page Davinci devices. +* The region parameter gets you ECCs for flash chips on different chip +* selects, not the 4x512 byte pages in a 2048 byte page. +* +* Preserved for backwards compatibility though. +*/ region = 1; while (n--) { tmp = nand_davinci_readecc(mtd, region); @@ -155,9 +177,51 @@ static int nand_davinci_calculate_ecc(st *ecc_code++ = ((tmp 8) 0x0f) | ((tmp 20) 0xf0); region++; } +#endif + return(0); } +#ifdef CFG_LINUX_COMPATIBLE_ECC +static int nand_davinci_correct_data(struct mtd_info *mtd, u_char *dat, + u_char *read_ecc, u_char *calc_ecc) +{ + struct nand_chip *chip = mtd-priv; + u_int32_t ecc_nand = read_ecc[0] | (read_ecc[1] 8) | + (read_ecc[2] 16); + u_int32_t ecc_calc = calc_ecc[0] | (calc_ecc[1] 8) | + (calc_ecc[2] 16); + u_int32_t diff = ecc_calc ^ ecc_nand; + + if (diff) { + if diff12)^diff) 0xfff) == 0xfff) { + /* Correctable error */ + if ((diff(12+3)) chip-eccsize) { + uint8_t find_bit = 1 ((diff12)7); + uint32_t find_byte = diff(12+3); + dat[find_byte] ^= find_bit; + DEBUG (MTD_DEBUG_LEVEL0, Correcting single bit ECC error at offset: %d, bit: %d\n, find_byte, find_bit); + return 1; + } else { + return -1; + } + } else if
[U-Boot-Users] (no subject)
各位老总:您们好! 诚祝:您们在2008年里;有鼠不尽的快乐!鼠不尽的收获!鼠不尽的钞票! 鼠不尽的幸福!鼠不尽的美满生活!愿: 您们阖家欢乐!幸福安康! 我公司可以长期提供:出口报关单,核销单,等等一系列手续;代理:出口 报关,商检,境内外运输..等等;还可以代办:出口欧盟许可证,欧盟产地证; 并且还有(广州国际贸易交易会)的摊位可以转让;价格特别优惠;有意者请来邮件 或来电联系。谢谢合作! 电话:0755-81153047。 传真:0755-81172940。 手机:15817477278。 联系人:钟文辉。 电子邮箱:[EMAIL PROTECTED] 此致: 敬礼! - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users