Re: [U-Boot] at91: fix a USB problem for AT91SAM9261
Hi, In that case the description is wrong. It states: the USB support for all AT91SAM9261 based boards doesn't work. Look at the word 'ALL', that mislead me here... ok I've not tick on the all why not replace with the USB support for all AT91SAM9261 based boards will only work if the PLLB will be configured by a precedent bootloader. OK Remy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
On 14:41 Sat 02 May , Prafulla Wadaskar wrote: Thanks Jean for your review... diff --git a/cpu/arm926ejs/kirkwood/kwcore.c b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index 000..9eaaab6 --- /dev/null +++ b/cpu/arm926ejs/kirkwood/kwcore.c please cpu.c Okay I will rename it */ -#ifndef CONFIG_SKIP_LOWLEVEL_INIT +#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined +(CONFIG_ARCH_LOWLEVEL_INIT) NACK if you skip the lowlevel init you also skip the arch lowlevel_init I got it already, I have encapsulated similar condition at caller function so that even though only ARCH_LOWLEVEL_INIT is define it will not skip it. if it's permannent arch init please use arch_cpu_init Is it really lowlevel init, needs to be called before stack/dram init, so please let it be arch_lowlevel_init. I am trying to keep minimal code under arch_lowlevel_init (only few assembly lines) rest I am moving to arch_cpu_init under lib_arm/board.c the arch_cpu_init is the first init in c and I want the current design clear If you choice to skip the lowlevel_init you will skip all lowlevel_init with no exception as I've in mind to regroup all start.S Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell MV88F6281GTW_GE Board support
On 14:32 Sat 02 May , Prafulla Wadaskar wrote: Thanks Jean... + +#include common.h +#include ../drivers/net/phy/mv88e61xx.h Ben I not sure it's clean any better idea? +#include netdev.h +#include mv88f6281gtw_ge.h + index 000..9695f3f --- /dev/null +++ b/board/Marvell/mv88f6281gtw_ge/u-boot.lds please move to cpu/arm/kirkwood/ I tried it, If we move it to Kirkwood there is build error, how do we invoke it for the build? currently it provides boot from DRAM since doimage (utility to convert u-boot.bin to flashable bin) is outside. I think this is board specific and each board will have different configuration, for ex. Board with boot from NAND will have different info 3 thinks 1) to boot from DRAM you normaly do not need to change it for nand maybe but it will be normaly the same for all kirkwood 2) do you update your arch confif.mk cat cpu/arm926ejs/kirwood/config.mk LDSCRIPT := $(SRCTREE)/cpu/arm926ejs/kirwood/u-boot.lds 3) I'm in favor as Mike to have the tool to build the final flashable bin in the tree as done for the blackfin with a new target and a new extention as .kwd (or any other) Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.
Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines Signed-off-by: Remy Bohmer li...@bohmer.net --- board/trizepsiv/eeprom.c| 14 +++--- drivers/net/dm9000x.c | 16 include/configs/at91sam9261ek.h |1 + include/dm9000.h| 11 +++ 4 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 include/dm9000.h diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c index 63f1c6c..9fa7aef 100644 --- a/board/trizepsiv/eeprom.c +++ b/board/trizepsiv/eeprom.c @@ -23,17 +23,17 @@ #include common.h #include command.h - -extern u16 read_srom_word(int); -extern void write_srom_word(int offset, u16 val); +#include dm9000.h static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { - int i; + unsigned int i; + u8 data[2]; for (i=0; i 0x40; i++) { if (!(i % 0x10)) - printf(\n%08lx:, i); - printf( %04x, read_srom_word(i)); + printf(\n%08x:, i); + dm9000_read_srom_word(i, data); + printf( %02x%02x, data[1], data[0]); } printf (\n); return (0); @@ -54,7 +54,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char * cmd_usage(cmdtp); return 1; } - write_srom_word(offset, value); + dm9000_write_srom_word(offset, value); return (0); } diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c index 8ca2bf7..934d991 100644 --- a/drivers/net/dm9000x.c +++ b/drivers/net/dm9000x.c @@ -53,7 +53,7 @@ v1.2 03/18/2003 Weilun Huang weilun_hu...@davicom.com.tw: notes (i.e. double reset) - some minor code cleanups These changes are tested with DM9000{A,EP,E} together - with a 200MHz Atmel AT91SAM92161 core + with a 200MHz Atmel AT91SAM9261 core TODO: external MII is not functional, only internal at the moment. */ @@ -62,6 +62,7 @@ TODO: external MII is not functional, only internal at the moment. #include command.h #include net.h #include asm/io.h +#include dm9000.h #include dm9000x.h @@ -113,7 +114,6 @@ void eth_halt(void); static int dm9000_probe(void); static u16 phy_read(int); static void phy_write(int, u16); -static void read_srom_word(int, u8 *); static u8 DM9000_ior(int); static void DM9000_iow(int reg, u8 value); @@ -347,9 +347,9 @@ eth_init(bd_t * bd) /* Set Node address */ if (!eth_getenv_enetaddr(ethaddr, enetaddr)) { -#if !defined(CONFIG_AT91SAM9261EK) +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL) for (i = 0; i 3; i++) - read_srom_word(i, enetaddr + 2 * i); + dm9000_read_srom_word(i, enetaddr + 2 * i); eth_setenv_enetaddr(ethaddr, enetaddr); #endif } @@ -541,7 +541,8 @@ eth_rx(void) /* Read a word data from SROM */ -static void read_srom_word(int offset, u8 *to) +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL) +void dm9000_read_srom_word(int offset, u8 *to) { DM9000_iow(DM9000_EPAR, offset); DM9000_iow(DM9000_EPCR, 0x4); @@ -551,8 +552,7 @@ static void read_srom_word(int offset, u8 *to) to[1] = DM9000_ior(DM9000_EPDRH); } -void -write_srom_word(int offset, u16 val) +void dm9000_write_srom_word(int offset, u16 val) { DM9000_iow(DM9000_EPAR, offset); DM9000_iow(DM9000_EPDRH, ((val 8) 0xff)); @@ -561,7 +561,7 @@ write_srom_word(int offset, u16 val) udelay(8000); DM9000_iow(DM9000_EPCR, 0); } - +#endif /* Read a byte from I/O port diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h index fdaa71c..c30674f 100644 --- a/include/configs/at91sam9261ek.h +++ b/include/configs/at91sam9261ek.h @@ -137,6 +137,7 @@ #define DM9000_IO CONFIG_DM9000_BASE #define DM9000_DATA(CONFIG_DM9000_BASE + 4) #define CONFIG_DM9000_USE_16BIT1 +#define CONFIG_DM9000_NO_SROM_AVAIL 1 #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_RESET_PHY_R 1 diff --git a/include/dm9000.h b/include/dm9000.h new file mode 100644 index 000..d59919b --- /dev/null +++ b/include/dm9000.h @@ -0,0 +1,11 @@ + +#ifndef __DM9000_H__ +#define __DM9000_H__ + +/** function prototypes **/ +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL) +void dm9000_write_srom_word(int offset, u16 val); +void
Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.
On 11:26 Sun 03 May , Remy Bohmer wrote: Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines please put Stelian in Cc Signed-off-by: Remy Bohmer li...@bohmer.net --- board/trizepsiv/eeprom.c| 14 +++--- drivers/net/dm9000x.c | 16 include/configs/at91sam9261ek.h |1 + include/dm9000.h| 11 +++ 4 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 include/dm9000.h diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c index 63f1c6c..9fa7aef 100644 --- a/board/trizepsiv/eeprom.c +++ b/board/trizepsiv/eeprom.c @@ -23,17 +23,17 @@ #include common.h #include command.h - @@ -347,9 +347,9 @@ eth_init(bd_t * bd) /* Set Node address */ if (!eth_getenv_enetaddr(ethaddr, enetaddr)) { -#if !defined(CONFIG_AT91SAM9261EK) +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL) CONFIG_DM9000_NO_SROM will be shorter and the same for (i = 0; i 3; i++) - read_srom_word(i, enetaddr + 2 * i); + dm9000_read_srom_word(i, enetaddr + 2 * i); eth_setenv_enetaddr(ethaddr, enetaddr); #endif diff --git a/include/dm9000.h b/include/dm9000.h new file mode 100644 index 000..d59919b --- /dev/null +++ b/include/dm9000.h Ben what do you think to do as usb have a dir to store all net header include/net/ @@ -0,0 +1,11 @@ Copyrigth? + +#ifndef __DM9000_H__ +#define __DM9000_H__ Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.
Hello, 2009/5/3 Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com: On 11:26 Sun 03 May , Remy Bohmer wrote: Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines please put Stelian in Cc Done! Signed-off-by: Remy Bohmer li...@bohmer.net --- board/trizepsiv/eeprom.c | 14 +++--- drivers/net/dm9000x.c | 16 include/configs/at91sam9261ek.h | 1 + include/dm9000.h | 11 +++ 4 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 include/dm9000.h diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c index 63f1c6c..9fa7aef 100644 --- a/board/trizepsiv/eeprom.c +++ b/board/trizepsiv/eeprom.c @@ -23,17 +23,17 @@ #include common.h #include command.h - @@ -347,9 +347,9 @@ eth_init(bd_t * bd) /* Set Node address */ if (!eth_getenv_enetaddr(ethaddr, enetaddr)) { -#if !defined(CONFIG_AT91SAM9261EK) +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL) CONFIG_DM9000_NO_SROM will be shorter and the same OK for (i = 0; i 3; i++) - read_srom_word(i, enetaddr + 2 * i); + dm9000_read_srom_word(i, enetaddr + 2 * i); eth_setenv_enetaddr(ethaddr, enetaddr); #endif diff --git a/include/dm9000.h b/include/dm9000.h new file mode 100644 index 000..d59919b --- /dev/null +++ b/include/dm9000.h Ben what do you think to do as usb have a dir to store all net header include/net/ I have chosen the same location as the dm9161.h, other similar headers are there as well. If it has to be changed, I suggest making it a separate patch. @@ -0,0 +1,11 @@ Copyrigth? OK. + +#ifndef __DM9000_H__ +#define __DM9000_H__ Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/1] V2 Add config option for disabling DM9000-SROM support.
V2: reworked comments from Jean-Christophe PLAGNIOL-VILLARD Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines Signed-off-by: Remy Bohmer li...@bohmer.net --- board/trizepsiv/eeprom.c| 14 +++--- drivers/net/dm9000x.c | 16 include/configs/at91sam9261ek.h |1 + include/dm9000.h| 20 4 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 include/dm9000.h diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c index 63f1c6c..9fa7aef 100644 --- a/board/trizepsiv/eeprom.c +++ b/board/trizepsiv/eeprom.c @@ -23,17 +23,17 @@ #include common.h #include command.h - -extern u16 read_srom_word(int); -extern void write_srom_word(int offset, u16 val); +#include dm9000.h static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { - int i; + unsigned int i; + u8 data[2]; for (i=0; i 0x40; i++) { if (!(i % 0x10)) - printf(\n%08lx:, i); - printf( %04x, read_srom_word(i)); + printf(\n%08x:, i); + dm9000_read_srom_word(i, data); + printf( %02x%02x, data[1], data[0]); } printf (\n); return (0); @@ -54,7 +54,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char * cmd_usage(cmdtp); return 1; } - write_srom_word(offset, value); + dm9000_write_srom_word(offset, value); return (0); } diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c index 8ca2bf7..f139435 100644 --- a/drivers/net/dm9000x.c +++ b/drivers/net/dm9000x.c @@ -53,7 +53,7 @@ v1.2 03/18/2003 Weilun Huang weilun_hu...@davicom.com.tw: notes (i.e. double reset) - some minor code cleanups These changes are tested with DM9000{A,EP,E} together - with a 200MHz Atmel AT91SAM92161 core + with a 200MHz Atmel AT91SAM9261 core TODO: external MII is not functional, only internal at the moment. */ @@ -62,6 +62,7 @@ TODO: external MII is not functional, only internal at the moment. #include command.h #include net.h #include asm/io.h +#include dm9000.h #include dm9000x.h @@ -113,7 +114,6 @@ void eth_halt(void); static int dm9000_probe(void); static u16 phy_read(int); static void phy_write(int, u16); -static void read_srom_word(int, u8 *); static u8 DM9000_ior(int); static void DM9000_iow(int reg, u8 value); @@ -347,9 +347,9 @@ eth_init(bd_t * bd) /* Set Node address */ if (!eth_getenv_enetaddr(ethaddr, enetaddr)) { -#if !defined(CONFIG_AT91SAM9261EK) +#if !defined(CONFIG_DM9000_NO_SROM) for (i = 0; i 3; i++) - read_srom_word(i, enetaddr + 2 * i); + dm9000_read_srom_word(i, enetaddr + 2 * i); eth_setenv_enetaddr(ethaddr, enetaddr); #endif } @@ -541,7 +541,8 @@ eth_rx(void) /* Read a word data from SROM */ -static void read_srom_word(int offset, u8 *to) +#if !defined(CONFIG_DM9000_NO_SROM) +void dm9000_read_srom_word(int offset, u8 *to) { DM9000_iow(DM9000_EPAR, offset); DM9000_iow(DM9000_EPCR, 0x4); @@ -551,8 +552,7 @@ static void read_srom_word(int offset, u8 *to) to[1] = DM9000_ior(DM9000_EPDRH); } -void -write_srom_word(int offset, u16 val) +void dm9000_write_srom_word(int offset, u16 val) { DM9000_iow(DM9000_EPAR, offset); DM9000_iow(DM9000_EPDRH, ((val 8) 0xff)); @@ -561,7 +561,7 @@ write_srom_word(int offset, u16 val) udelay(8000); DM9000_iow(DM9000_EPCR, 0); } - +#endif /* Read a byte from I/O port diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h index fdaa71c..9621b7c 100644 --- a/include/configs/at91sam9261ek.h +++ b/include/configs/at91sam9261ek.h @@ -137,6 +137,7 @@ #define DM9000_IO CONFIG_DM9000_BASE #define DM9000_DATA(CONFIG_DM9000_BASE + 4) #define CONFIG_DM9000_USE_16BIT1 +#define CONFIG_DM9000_NO_SROM 1 #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_RESET_PHY_R 1 diff --git a/include/dm9000.h b/include/dm9000.h new file mode 100644 index 000..76f9bfd --- /dev/null +++ b/include/dm9000.h @@ -0,0 +1,20 @@ +/* + * NOTE:DAVICOM DM9000 ethernet driver interface + * + * Authors: Remy Bohmer li...@bohmer.net + * + * This program is free software; you can
Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.
--- /dev/null +++ b/include/dm9000.h Ben what do you think to do as usb have a dir to store all net header include/net/ I have chosen the same location as the dm9161.h, other similar headers are there as well. If it has to be changed, I suggest making it a separate patch. sure I've in mind this include/{ = net}/at91rm9200_net.h include/{ = net}/bcm5221.h include/{ = net}/dm9161.h include/{ = net}/dp83848.h include/{ = net}/lxt971a.h include/{ = net}/mii_phy.h include/{ = net}/miiphy.h include/{ = net}/ns7520_eth.h include/{ = net}/ns9750_eth.h include/{ = net}/ppc4xx_enet.h include/{ = net}/tsec.h or include/{ = net}/at91rm9200_net.h include/{ = net}/ns7520_eth.h include/{ = net}/ns9750_eth.h include/{ = net}/ppc4xx_enet.h include/{ = net}/tsec.h include/{ = net/phy}/bcm5221.h include/{ = net/phy}/dm9161.h include/{ = net/phy}/dp83848.h include/{ = net/phy}/lxt971a.h include/{ = net/phy}/mii_phy.h include/{ = net/phy}/miiphy.h and maybe include/{ = net}/netdev.h Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] arm: clean sizes.h
Dear Jean-Christophe, in message 20090502215903.894e78342...@gemini.denx.de I wrote: Actually For ARM we ask us tp use it so to simplify the import from linux this helper are also imported I don't know who we is, but you don;t have my ACK for this, and as long as it's not even correct youwill not get it. #define SZ_1K 0x0400 #define SZ_4K 0x1000 #define SZ_8K 0x2000 Please keep in mind that K, M, and G are non-standard prefixes, and it is not clear if they refer to decimal or binary multiples. This makes their use in the code a PITA. Situation is even worse, if you check existing U-Boot code; for example: include/asm-arm/sizes.h: #define SZ_1K 0x0400 #define SZ_4K 0x1000 #define SZ_8K 0x2000 #define SZ_16K 0x4000 #define SZ_64K 0x0001 #define SZ_128K 0x0002 #define SZ_256K 0x0004 #define SZ_512K 0x0008 #define SZ_1M 0x0010 #define SZ_2M 0x0020 #define SZ_4M 0x0040 #define SZ_8M 0x0080 #define SZ_16M 0x0100 #define SZ_32M 0x0200 #define SZ_64M 0x0400 #define SZ_128M 0x0800 #define SZ_256M 0x1000 board/amcc/taishan/init.S, board/amcc/yosemite/init.S, board/pcs440ep/init.S, board/prodrive/alpr/init.S, board/prodrive/p3p440/init.S and many more: #define SZ_1K 0x #define SZ_4K 0x0010 #define SZ_16K 0x0020 #define SZ_64K 0x0030 #define SZ_256K 0x0040 #define SZ_1M 0x0050 #define SZ_8M 0x0060 #define SZ_16M 0x0070 #define SZ_256M 0x0090 So what is the easy to read and understand ``helper'' SZ_1M ? Is it 1,000,000 or 1,048,576 or ist it eventually just 80 ? These defines are no ``helpers'', they are Faux Ami, and we should start to expunge this crap as soon as possible. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de This message was made from 100% recycled electrons. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
-Original Message- From: Jean-Christophe PLAGNIOL-VILLARD [mailto:plagn...@jcrosoft.com] Sent: Sunday, May 03, 2009 2:02 PM To: Prafulla Wadaskar Cc: u-boot@lists.denx.de; Ashish Karkare; Prabhanjan Sarnaik; Ronen Shitrit Subject: Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support On 14:41 Sat 02 May , Prafulla Wadaskar wrote: Thanks Jean for your review... diff --git a/cpu/arm926ejs/kirkwood/kwcore.c b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index 000..9eaaab6 --- /dev/null +++ b/cpu/arm926ejs/kirkwood/kwcore.c please cpu.c Okay I will rename it */ -#ifndef CONFIG_SKIP_LOWLEVEL_INIT +#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined +(CONFIG_ARCH_LOWLEVEL_INIT) NACK if you skip the lowlevel init you also skip the arch lowlevel_init I got it already, I have encapsulated similar condition at caller function so that even though only ARCH_LOWLEVEL_INIT is define it will not skip it. if it's permannent arch init please use arch_cpu_init Is it really lowlevel init, needs to be called before stack/dram init, so please let it be arch_lowlevel_init. I am trying to keep minimal code under arch_lowlevel_init (only few assembly lines) rest I am moving to arch_cpu_init under lib_arm/board.c the arch_cpu_init is the first init in c and I want the current design clear If you choice to skip the lowlevel_init you will skip all lowlevel_init with no exception as I've in mind to regroup all start.S In this caseI think Let's have arch_cpu_init (c function call) to take care of Soc Specific init and Let's use lowlevel_init instead of arch_lowlevel_init for any configuration before stack init. arch_lowlevel_init should be assembly code similar to lowlevel_init and is invoking should be similar In case of kirkwood specially in some board version if we use Kirkwood without internal BootROM we need to configure DRAM before setting stack in DRAM, this should be done in lowlevel_init.S i.e. lowlevel_init or arch_lowlevel_init jump What do you think? Or what is in your mind about regroup start.S? Regards.. Prafulla . . Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH] console/device: rework function naming
actually the console API use the following naming convention ---Extract--- typedef struct device_t; intdevice_register (device_t * dev); intdevices_init (void); intdevice_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); --- which is not console dependent and is confusing instead of using device_XX we now switch to console_XX and console_device_t this will also allow to add later a generic device mecanism in order to have multi generic device support and driver instance Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com --- board/MAI/AmigaOneG3SE/ps2kbd.c |6 +- board/MAI/AmigaOneG3SE/video.c|6 +- board/ads5121/ads5121_diu.c |2 +- board/bf527-ezkit/video.c |6 +- board/bf533-stamp/video.c |6 +- board/bf548-ezkit/video.c |6 +- board/bmw/bmw.c |2 +- board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c |2 +- board/mpl/common/common_util.c|4 +- board/mpl/common/isa.c|2 +- board/mpl/common/kbd.c|6 +- board/mpl/pati/pati.c |6 +- board/netphone/phone_console.c|6 +- board/rbc823/kbd.c|6 +- board/trab/vfd.c |2 +- common/cmd_console.c |6 +- common/cmd_log.c |6 +- common/cmd_terminal.c |6 +- common/console.c | 32 +++--- common/devices.c | 42 common/iomux.c| 14 ++-- common/lcd.c |6 +- common/serial.c |8 +- common/usb_kbd.c | 12 +- cpu/blackfin/jtag-console.c |6 +- cpu/mpc8xx/lcd.c |2 +- cpu/mpc8xx/video.c|6 +- cpu/pxa/pxafb.c |2 +- drivers/input/keyboard.c |6 +- drivers/mtd/ubi/build.c |2 +- drivers/mtd/ubi/vmt.c |4 +- drivers/net/netconsole.c |6 +- drivers/serial/arm_dcc.c |6 +- drivers/serial/usbtty.c |6 +- drivers/usb/musb/musb_hcd.c |4 +- drivers/usb/musb/musb_hcd.h |2 +- drivers/video/cfb_console.c |8 +- include/configs/AmigaOneG3SE.h|2 +- include/configs/MIP405.h |2 +- include/configs/MPC8610HPCD.h |2 +- include/configs/MPC8641HPCN.h |2 +- include/configs/PIP405.h |2 +- include/configs/VCMA9.h |2 +- include/configs/gr_ep2s60.h |2 +- include/configs/mp2usb.h |2 +- include/console.h | 101 +++- include/devices.h | 126 - include/iomux.h |6 +- include/serial.h |2 +- lib_arm/board.c |4 +- lib_avr32/board.c |4 +- lib_blackfin/board.c |4 +- lib_i386/board.c |4 +- lib_i386/video.c | 10 +- lib_m68k/board.c |4 +- lib_mips/board.c |4 +- lib_nios/board.c |4 +- lib_nios2/board.c |4 +- lib_ppc/board.c |4 +- lib_sh/board.c|4 +- lib_sparc/board.c |4 +- 61 files changed, 264 insertions(+), 301 deletions(-) delete mode 100644 include/devices.h diff --git a/board/MAI/AmigaOneG3SE/ps2kbd.c b/board/MAI/AmigaOneG3SE/ps2kbd.c index a297005..404d9da 100644 --- a/board/MAI/AmigaOneG3SE/ps2kbd.c +++ b/board/MAI/AmigaOneG3SE/ps2kbd.c @@ -34,7 +34,7 @@ */ #include common.h #include asm/processor.h -#include devices.h +#include console.h #include ps2kbd.h @@ -226,7 +226,7 @@ int overwrite_console (void) int drv_isa_kbd_init (void) { int error; - device_t kbddev ; + console_device_t kbddev ; char *stdinname = getenv (stdin); if(isa_kbd_init() == -1) @@ -239,7 +239,7 @@ int drv_isa_kbd_init (void) kbddev.getc = kbd_getc ; kbddev.tstc = kbd_testc ; - error = device_register
Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support
+ * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include common.h +#include ../drivers/net/phy/mv88e61xx.h If this header is meant to be public it should be in include. Sorry I didn't catch that earlier. snip This header has some public and some driver specific information Only a configuration structure in this file is needed here, I can put it in netdev.h but I didn't find such implementation there. How about creating a new header file for phy/switch? +/* + * Ethernet Driver configuration + */ +#ifdef CONFIG_CMD_NET +#define CONFIG_NETCONSOLE /* include NetConsole support */ +#define CONFIG_NET_MULTI /* specify more that one ports available */ +#defineCONFIG_MII /* expose smi ove miiphy interface */ +#define CONFIG_KIRKWOOD_EGIGA /* Enable kirkwood Gbe Controller Driver */ This EGIGA driver hasn't been accepted yet. In fact, I think you've only sent one spin. It needs to be in before this board... You are correct, I am ready with the latest spin, but it has close dependency with kirkwood SoC layer, once this gets through I had a plan to release egiga driver patch. BTW code builds cleanly without egiga driver so I do not want to remove this :-) since it will be required afterward once kirkwood_egiga driver gets in. Any suggestion welcomed ??? Regards.. Prafulla . . ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
Hi Jean-Christophe, 2009/5/3 Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com: diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index f4b01a9..9b94ddc 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -291,7 +291,7 @@ static int ubi_sysfs_init(struct ubi_device *ubi) ubi-dev.devt = ubi-cdev.dev; ubi-dev.class = ubi_class; sprintf(ubi-dev.bus_id[0], UBI_NAME_STR%d, ubi-ubi_num); - err = device_register(ubi-dev); + err = console_register(ubi-dev); I'm not that familiar with device_*() in U-boot, but it surprised me to see the above change which is in the UBI layer and should not have anything to do with consoles. Also the above code is within a #ifdef UBI_LINUX block and is not used in U-boot. diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index 061da64..2b6b137 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c @@ -337,7 +337,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) vol-dev.class = ubi_class; sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id); - err = device_register(vol-dev); + err = console_register(vol-dev); if (err) { ubi_err(cannot register device); goto out_gluebi; @@ -646,7 +646,7 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) vol-dev.devt = dev; vol-dev.class = ubi_class; sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id); - err = device_register(vol-dev); + err = console_register(vol-dev); Again a bit surprised to find anything about consoles in the UBI code. In contrast to my earlier comment, this code seems to be compiled (i.e. it's not within #ifdef UBI_LINUX). I'm guessing you did a global search/replace for device_register=console_register? Regards, Magnus ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] U-boot snapshot for commit dfc91c33957c95da34e3888dc87912d5c15a7603
All, How do i get a snapshot of commit dfc91c33957c95da34e3888dc87912d5c15a7603 from the GIT web. I tried clicking on tree after putting the commit no in the text box but the commit tarball i got wasn't the one i intended to. Thanks for your help -Alfred. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARM DaVinci: Reset with watchdog enabled
Once the Davinci watchdog has been enabled, the timeout value cannot be changed. If the timeout in use is long, it can take a long time for card to reset. By writing an invalid service key, we can trigger an immediate reset. Signed-off-by: Thomas Lange tho...@corelatus.se --- cpu/arm926ejs/davinci/reset.S |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/cpu/arm926ejs/davinci/reset.S b/cpu/arm926ejs/davinci/reset.S index a687d44..ba0a7c3 100644 --- a/cpu/arm926ejs/davinci/reset.S +++ b/cpu/arm926ejs/davinci/reset.S @@ -50,6 +50,10 @@ reset_cpu: str r1, [r0] ldr r1, WDTCR_VAL2 str r1, [r0] + /* Write an invalid value to the WDKEY field to trigger +* an immediate watchdog reset */ + mov r1, $0x4000 + str r1, [r0] nop nop nop -- 1.5.6.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
On 19:54 Sun 03 May , Magnus Lilja wrote: Hi Jean-Christophe, diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index 061da64..2b6b137 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c @@ -337,7 +337,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) vol-dev.class = ubi_class; sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id); - err = device_register(vol-dev); + err = console_register(vol-dev); if (err) { ubi_err(cannot register device); goto out_gluebi; @@ -646,7 +646,7 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) vol-dev.devt = dev; vol-dev.class = ubi_class; sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id); - err = device_register(vol-dev); + err = console_register(vol-dev); Again a bit surprised to find anything about consoles in the UBI code. In contrast to my earlier comment, this code seems to be compiled (i.e. it's not within #ifdef UBI_LINUX). I'm guessing you did a global search/replace for device_register=console_register? yes I've use script to generate the patch for the RFC For ubi the device_register is replace via macro by 0 this will not been touch by the final patch and fully check before btw this is one of the confusing point of the current implementation Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARM DaVinci: EMIF settings
NAND module should not modify EMIF registers unrelated to CS2 that is used for NAND, i.e. do not modify EWAIT config register or registers for other Chip Selects. Without this patch, EMIF configurations made in board_init() will be invalidated. Signed-off-by: Thomas Lange tho...@corelatus.se --- drivers/mtd/nand/davinci_nand.c | 12 +++- 1 files changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index a974667..8ef18b8 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -386,9 +386,6 @@ static int nand_davinci_waitfunc(struct mtd_info *mtd, struct nand_chip *this) static void nand_flash_init(void) { u_int32_t acfg1 = 0x3ffc; - u_int32_t acfg2 = 0x3ffc; - u_int32_t acfg3 = 0x3ffc; - u_int32_t acfg4 = 0x3ffc; emifregsemif_regs; /*--* @@ -413,12 +410,9 @@ static void nand_flash_init(void) emif_regs = (emifregs)DAVINCI_ASYNC_EMIF_CNTRL_BASE; - emif_regs-AWCCR |= 0x1000; - emif_regs-AB1CR = acfg1; /* 0x08244128 */; - emif_regs-AB2CR = acfg2; - emif_regs-AB3CR = acfg3; - emif_regs-AB4CR = acfg4; - emif_regs-NANDFCR = 0x0101; + emif_regs-AB1CR = acfg1; /* CS2 */ + + emif_regs-NANDFCR = 0x0101; /* NAND flash on CS2 */ } int board_nand_init(struct nand_chip *nand) -- 1.5.6.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
Dear Jean-Christophe PLAGNIOL-VILLARD, In message 1241371349-2140-1-git-send-email-plagn...@jcrosoft.com you wrote: actually the console API use the following naming convention ---Extract--- typedef struct device_t; intdevice_register (device_t * dev); intdevices_init (void); intdevice_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); --- which is not console dependent and is confusing instead of using device_XX we now switch to console_XX and console_device_t Please be careful. console is a name (or prefex) that is already taken, and there are other (globally visible) identifiers, so con- fusion might become a problem - see for example overwrite_console(), console_changed(), console_buffer[], get_console_port(), console_init_f(), env-var console_nr, consoles[], next_cons_choice(), console_assign(), console, console_init(), console_dev, default_serial_console, cur_console, console_chan, ... etc. etc. Also, we have common/console.c with lots of console_* names. Actually there is even a direct name conflict - console_init() is already in use (in board/netphone/phone_console.c), and your patch fails to resolve this conflict. All together: NAK. Maybe stdio would be a better choice than console here? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Democracy is mob rule, but with income taxes. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] U-boot snapshot for commit dfc91c33957c95da34e3888dc87912d5c15a7603
Dear alfred steele, In message 528f13590905031057q43549224h1cf1e214f20bb...@mail.gmail.com you wrote: How do i get a snapshot of commit dfc91c33957c95da34e3888dc87912d5c15a7603 from the GIT web. I tried The best way of course is to use git clone and then git checkout. clicking on tree after putting the commit no in the text box but the commit tarball i got wasn't the one i intended to. If you insist on using the gitweb interface, then you just have to click on the link titled snapshot (on the right side). Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de It is surely a great calamity for a human being to have no ob- sessions.- Robert Bly ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
Dear Jean-Christophe PLAGNIOL-VILLARD, In message 20090503180519.gx25...@game.jcrosoft.org you wrote: I've use script to generate the patch for the RFC Hmm... you should have looked at the results before posting, it seems. btw this is one of the confusing point of the current implementation Well, see my previous message - your suggested patch solves confusion here and creates new confusion there, and I'd have hard times if I was to decide which was better. This needs more caerful preparation. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de You speak of courage. Obviously you do not know the difference bet- ween courage and foolhardiness. Always it is the brave ones who die, the soldiers. -- Kor, the Klingon Commander, Errand of Mercy, stardate 3201.7 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
On 20:41 Sun 03 May , Wolfgang Denk wrote: Dear Jean-Christophe PLAGNIOL-VILLARD, In message 1241371349-2140-1-git-send-email-plagn...@jcrosoft.com you wrote: actually the console API use the following naming convention ---Extract--- typedef struct device_t; intdevice_register (device_t * dev); intdevices_init (void); intdevice_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); --- which is not console dependent and is confusing instead of using device_XX we now switch to console_XX and console_device_t Please be careful. console is a name (or prefex) that is already taken, and there are other (globally visible) identifiers, so con- fusion might become a problem - see for example overwrite_console(), console_changed(), console_buffer[], get_console_port(), console_init_f(), env-var console_nr, consoles[], next_cons_choice(), console_assign(), console, console_init(), console_dev, default_serial_console, cur_console, console_chan, ... etc. etc. Also, we have common/console.c with lots of console_* names. Actually there is even a direct name conflict - console_init() is already in use (in board/netphone/phone_console.c), and your patch fails to resolve this conflict. it does, it's call consoles_init() Maybe stdio would be a better choice than console here? why not I'll wait other comment before write the true patch Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 0/3] MX31: NAND boot for phyCORE and PDK boards.
Hi all, I have now updated the i.MX31 NAND boot patches. It applies to the -next tree (aka v2009.06-rc1) as of now. I've taken care of most of the comments/questions that were sent to Maxim Artamonov when he posted his latest (last?) patch. The comments received on my parts has been taken care of as well. Some general comments: * phyCORE support has not been updated. I don't have such a board to test on. * The code has been tested on real hardware an boots Linux from ethernet. * There are infinite loops on nand_boot_mx31.c and looking at other nand_spl boards, they're there as well. If something goes wrong that early in the boot process there's really not a lot to do and remember that the NAND_SPL code has to fit in 2048 bytes. Regards, Magnus Magnus Lilja (3): MX31: Add NAND SPL for i.MX31. MX31: Add basic support for Freescale i.MX31 PDK board. MX31: Add NAND SPL boot support to i.MX31 PDK board. MAKEALL |2 + Makefile| 12 ++- board/freescale/mx31pdk/Makefile| 53 +++ board/freescale/mx31pdk/config.mk |5 + board/freescale/mx31pdk/lowlevel_init.S | 123 +++ board/freescale/mx31pdk/mx31pdk.c | 76 + board/freescale/mx31pdk/u-boot-nand.lds | 33 board/freescale/mx31pdk/u-boot.lds | 59 +++ cpu/arm1136/start.S | 29 ++-- include/asm-arm/arch-mx31/mx31-regs.h | 92 +++ include/configs/mx31pdk.h | 175 + nand_spl/board/freescale/mx31pdk/Makefile | 54 +++ nand_spl/board/freescale/mx31pdk/config.mk |5 + nand_spl/board/freescale/mx31pdk/u-boot.lds | 36 + nand_spl/nand_boot_mx31.c | 223 +++ 15 files changed, 965 insertions(+), 12 deletions(-) create mode 100644 board/freescale/mx31pdk/Makefile create mode 100644 board/freescale/mx31pdk/config.mk create mode 100644 board/freescale/mx31pdk/lowlevel_init.S create mode 100644 board/freescale/mx31pdk/mx31pdk.c create mode 100644 board/freescale/mx31pdk/u-boot-nand.lds create mode 100644 board/freescale/mx31pdk/u-boot.lds create mode 100644 include/configs/mx31pdk.h create mode 100644 nand_spl/board/freescale/mx31pdk/Makefile create mode 100644 nand_spl/board/freescale/mx31pdk/config.mk create mode 100644 nand_spl/board/freescale/mx31pdk/u-boot.lds create mode 100644 nand_spl/nand_boot_mx31.c ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 1/3] MX31: Add NAND SPL for i.MX31.
This patch adds the NAND SPL framework needed to boot i.MX31 boards from NAND. The patch is based on the work by Maxim Artamonov scn1874 at yandex.ru (which was signed-off-by him). Signed-off-by: Magnus Lilja lilja.mag...@gmail.com --- cpu/arm1136/start.S | 29 +++-- include/asm-arm/arch-mx31/mx31-regs.h | 90 + nand_spl/nand_boot_mx31.c | 223 + 3 files changed, 331 insertions(+), 11 deletions(-) create mode 100644 nand_spl/nand_boot_mx31.c diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S index e622338..9bbbaf1 100644 --- a/cpu/arm1136/start.S +++ b/cpu/arm1136/start.S @@ -1,6 +1,9 @@ /* * armboot - Startup Code for OMP2420/ARM1136 CPU-core * + * + * Copyright (c) 2008 Maxim Artamonov, scn1874 at yandex.ru + * * Copyright (c) 2004 Texas Instruments r-woodru...@ti.com * * Copyright (c) 2001 Marius Gröger m...@sysgo.de @@ -32,7 +35,7 @@ #include version.h .globl _start _start: b reset -#ifdef CONFIG_ONENAND_IPL +#if defined(CONFIG_ONENAND_IPL) || defined(CONFIG_NAND_SPL) ldr pc, _hang ldr pc, _hang ldr pc, _hang @@ -156,9 +159,9 @@ relocate: /* relocate U-Boot to RAM */ adr r0, _start /* r0 - current position of code */ ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ cmp r0, r1 /* don't reloc during debug */ -#ifndef CONFIG_ONENAND_IPL +#if !defined(CONFIG_ONENAND_IPL) !defined(CONFIG_NAND_SPL) beq stack_setup -#endif /* CONFIG_ONENAND_IPL */ +#endif /* !CONFIG_ONENAND_IPL !CONFIG_NAND_SPL*/ ldr r2, _armboot_start ldr r3, _bss_start @@ -175,7 +178,7 @@ copy_loop: /* Set up the stack */ stack_setup: ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */ -#ifdef CONFIG_ONENAND_IPL +#if defined(CONFIG_ONENAND_IPL) || defined (CONFIG_NAND_SPL) sub sp, r0, #128/* leave 32 words for abort-stack */ #else sub r0, r0, #CONFIG_SYS_MALLOC_LEN /* malloc area */ @@ -184,14 +187,14 @@ stack_setup: sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ) #endif sub sp, r0, #12 /* leave 3 words for abort-stack*/ -#endif /* CONFIG_ONENAND_IPL */ +#endif /* CONFIG_ONENAND_IPL || CONFIG_NAND_SPL*/ clear_bss: ldr r0, _bss_start /* find start of bss segment*/ ldr r1, _bss_end/* stop here*/ mov r2, #0x /* clear*/ -#ifndef CONFIG_ONENAND_IPL +#if !defined(CONFIG_ONENAND_IPL) !defined(CONFIG_NAND_SPL) clbss_l:strr2, [r0]/* clear loop...*/ add r0, r0, #4 cmp r0, r1 @@ -200,12 +203,15 @@ clbss_l:str r2, [r0]/* clear loop...*/ ldr pc, _start_armboot +#ifdef CONFIG_NAND_SPL +_start_armboot: .word nand_boot +#else #ifdef CONFIG_ONENAND_IPL _start_armboot: .word start_oneboot #else _start_armboot: .word start_armboot -#endif - +#endif /* CONFIG_ONENAND_IPL */ +#endif /* CONFIG_NAND_SPL */ /* * @@ -244,7 +250,7 @@ cpu_init_crit: mov lr, ip /* restore link */ mov pc, lr /* back to my caller */ -#ifndef CONFIG_ONENAND_IPL +#if !defined(CONFIG_ONENAND_IPL) !defined(CONFIG_NAND_SPL) /* * * @@ -357,12 +363,12 @@ cpu_init_crit: .macro get_fiq_stack@ setup FIQ stack ldr sp, FIQ_STACK_START .endm -#endif /* CONFIG_ONENAND_IPL */ +#endif /* !CONFIG_ONENAND_IPL !CONFIG_NAND_SPL*/ /* * exception handlers */ -#ifdef CONFIG_ONENAND_IPL +#if defined(CONFIG_ONENAND_IPL) || defined(CONFIG_NAND_SPL) .align 5 do_hang: ldr sp, _TEXT_BASE /* use 32 words about stack */ @@ -436,3 +442,4 @@ arm1136_cache_flush: mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache mov pc, lr @ back to caller #endif /* CONFIG_ONENAND_IPL */ + diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index a8a05c8..3d811d7 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -194,4 +194,94 @@ #define CS5_BASE 0xB600 #define PCMCIA_MEM_BASE0xC000 +/* + * NAND controller + */ +#define NFC_BASE_ADDR 0xB800 + +/* + * Addresses for NFC registers + */ +#define NFC_BUF_SIZE (NFC_BASE_ADDR + 0xE00) +#define NFC_BUF_ADDR (NFC_BASE_ADDR + 0xE04) +#define
[U-Boot] [PATCH v2 2/3] MX31: Add basic support for Freescale i.MX31 PDK board.
Add support for Freescale's i.MX31 PDK board (a.k.a. 3 stack board). This patch assumes that some other program performs the actual NAND boot. Signed-off-by: Magnus Lilja lilja.mag...@gmail.com --- MAKEALL |1 + Makefile|3 + board/freescale/mx31pdk/Makefile| 53 ++ board/freescale/mx31pdk/config.mk |1 + board/freescale/mx31pdk/lowlevel_init.S | 30 ++ board/freescale/mx31pdk/mx31pdk.c | 76 ++ board/freescale/mx31pdk/u-boot.lds | 59 +++ include/asm-arm/arch-mx31/mx31-regs.h |2 + include/configs/mx31pdk.h | 162 +++ 9 files changed, 387 insertions(+), 0 deletions(-) create mode 100644 board/freescale/mx31pdk/Makefile create mode 100644 board/freescale/mx31pdk/config.mk create mode 100644 board/freescale/mx31pdk/lowlevel_init.S create mode 100644 board/freescale/mx31pdk/mx31pdk.c create mode 100644 board/freescale/mx31pdk/u-boot.lds create mode 100644 include/configs/mx31pdk.h diff --git a/MAKEALL b/MAKEALL index f13c81a..aaa6dea 100755 --- a/MAKEALL +++ b/MAKEALL @@ -548,6 +548,7 @@ LIST_ARM11=\ imx31_phycore \ imx31_phycore_eet \ mx31ads \ + mx31pdk \ qong\ smdk6400\ diff --git a/Makefile b/Makefile index 137c88f..99ebcc5 100644 --- a/Makefile +++ b/Makefile @@ -3084,6 +3084,9 @@ imx31_phycore_config : unconfig mx31ads_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31 +mx31pdk_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk freescale mx31 + omap2420h4_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx diff --git a/board/freescale/mx31pdk/Makefile b/board/freescale/mx31pdk/Makefile new file mode 100644 index 000..b64cec8 --- /dev/null +++ b/board/freescale/mx31pdk/Makefile @@ -0,0 +1,53 @@ +# +# (C) Copyright 2008 Magnus Lilja lilja.mag...@gmail.com +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).a + +COBJS := mx31pdk.o +SOBJS := lowlevel_init.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(LIB):$(obj).depend $(OBJS) $(SOBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak $(obj).depend + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/freescale/mx31pdk/config.mk b/board/freescale/mx31pdk/config.mk new file mode 100644 index 000..d34dc02 --- /dev/null +++ b/board/freescale/mx31pdk/config.mk @@ -0,0 +1 @@ +TEXT_BASE = 0x87f0 diff --git a/board/freescale/mx31pdk/lowlevel_init.S b/board/freescale/mx31pdk/lowlevel_init.S new file mode 100644 index 000..ec5eedb --- /dev/null +++ b/board/freescale/mx31pdk/lowlevel_init.S @@ -0,0 +1,30 @@ +/* + * (C) Copyright 2008 Magnus Lilja lilja.mag...@gmail.com + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation,
[U-Boot] [PATCH v2 3/3] MX31: Add NAND SPL boot support to i.MX31 PDK board.
Signed-off-by: Magnus Lilja lilja.mag...@gmail.com --- MAKEALL |3 +- Makefile|9 ++- board/freescale/mx31pdk/config.mk |4 + board/freescale/mx31pdk/lowlevel_init.S | 93 +++ board/freescale/mx31pdk/u-boot-nand.lds | 33 ++ include/configs/mx31pdk.h | 19 +- nand_spl/board/freescale/mx31pdk/Makefile | 54 +++ nand_spl/board/freescale/mx31pdk/config.mk |5 ++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 36 ++ 9 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 board/freescale/mx31pdk/u-boot-nand.lds create mode 100644 nand_spl/board/freescale/mx31pdk/Makefile create mode 100644 nand_spl/board/freescale/mx31pdk/config.mk create mode 100644 nand_spl/board/freescale/mx31pdk/u-boot.lds diff --git a/MAKEALL b/MAKEALL index aaa6dea..615acbb 100755 --- a/MAKEALL +++ b/MAKEALL @@ -548,7 +548,8 @@ LIST_ARM11=\ imx31_phycore \ imx31_phycore_eet \ mx31ads \ - mx31pdk \ + mx31pdk \ + mx31pdk_nand\ qong\ smdk6400\ diff --git a/Makefile b/Makefile index 99ebcc5..c377313 100644 --- a/Makefile +++ b/Makefile @@ -369,7 +369,7 @@ $(LDSCRIPT):depend $(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk $(MAKE) -C nand_spl/board/$(BOARDDIR) all -$(U_BOOT_NAND):$(NAND_SPL) $(obj)u-boot.bin +$(U_BOOT_NAND):$(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin $(obj)u-boot-nand.bin $(ONENAND_IPL):$(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk @@ -3087,6 +3087,13 @@ mx31ads_config : unconfig mx31pdk_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk freescale mx31 +mx31pdk_nand_config: unconfig + @mkdir -p $(obj)include $(obj)board/freescale/mx31pdk + @mkdir -p $(obj)nand_spl/board/freescale/mx31pdk + @echo #define CONFIG_NAND_U_BOOT $(obj)include/config.h + @$(MKCONFIG) -n $@ -a mx31pdk arm arm1136 mx31pdk freescale mx31 + @echo CONFIG_NAND_U_BOOT = y $(obj)include/config.mk + omap2420h4_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx diff --git a/board/freescale/mx31pdk/config.mk b/board/freescale/mx31pdk/config.mk index d34dc02..dcaa09f 100644 --- a/board/freescale/mx31pdk/config.mk +++ b/board/freescale/mx31pdk/config.mk @@ -1 +1,5 @@ +ifdef CONFIG_NAND_SPL +TEXT_BASE = 0x87ec +else TEXT_BASE = 0x87f0 +endif diff --git a/board/freescale/mx31pdk/lowlevel_init.S b/board/freescale/mx31pdk/lowlevel_init.S index ec5eedb..602eb53 100644 --- a/board/freescale/mx31pdk/lowlevel_init.S +++ b/board/freescale/mx31pdk/lowlevel_init.S @@ -26,5 +26,98 @@ .globl lowlevel_init +#ifdef CONFIG_NAND_SPL +#include asm/arch/mx31-regs.h + +.macro REG reg, val + ldr r2, =\reg + ldr r3, =\val + str r3, [r2] +.endm + +.macro REG8 reg, val + ldr r2, =\reg + ldr r3, =\val + strbr3, [r2] +.endm + +.macro DELAY loops + ldr r2, =\loops +1: + subsr2, r2, #1 + nop + bcs 1b +.endm + +.globl lowlevel_init +lowlevel_init: + /* Also setup the Peripheral Port Remap register inside the core */ + ldr r0, =ARM_PPMRR /* start from AIPS 2GB region */ + mcr p15, 0, r0, c15, c2, 4 + + REG IPU_CONF, IPU_CONF_DI_EN + REG CCM_CCMR, 0x074B0BF5 + + DELAY 0x4 + + REG CCM_CCMR, 0x074B0BF5 | CCMR_MPE + REG CCM_CCMR, (0x074B0BF5 | CCMR_MPE) ~CCMR_MDS + + /* Set up clock to 532MHz */ + REG CCM_PDR0, 0xFF871D58 + REG CCM_MPCTL, 0x0033280C + + REG CCM_SPCTL, PLL_PD(1) | PLL_MFD(4) | PLL_MFI(12) | PLL_MFN(1) + + /* Set up CPLD on CS5 */ + REG CSCR_U(5), 0xD843 + REG CSCR_L(5), 0x22252521 + REG CSCR_A(5), 0x0A00 + + /* Set up MX31 DDR Memory Controller */ + REG 0x43FAC26C, 0 /* SDCLK */ + REG 0x43FAC270, 0 /* CAS */ + REG 0x43FAC274, 0 /* RAS */ + REG 0x43FAC27C, 0x1000 /* CS2 CSD0) */ + REG 0x43FAC284, 0 /* DQM3 */ + REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 0x288..0x2DC) */ + REG 0x43FAC28C, 0 + REG 0x43FAC290, 0 + REG 0x43FAC294, 0 + REG 0x43FAC298, 0 + REG 0x43FAC29C, 0 + REG 0x43FAC2A0, 0 + REG 0x43FAC2A4, 0 + REG 0x43FAC2A8, 0 + REG 0x43FAC2AC, 0 + REG 0x43FAC2B0, 0 + REG 0x43FAC2B4, 0 + REG
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
Dear Jean-Christophe PLAGNIOL-VILLARD, In message 20090503184226.gy25...@game.jcrosoft.org you wrote: we now switch to console_XX and console_device_t ---^^ Actually there is even a direct name conflict - console_init() is already in use (in board/netphone/phone_console.c), and your patch fails to resolve this conflict. it does, it's call consoles_init() Then your comment (see above) and the code disagree. Maybe stdio would be a better choice than console here? why not Hm... actually checking the code tells that stdio is already taken, too - see show_stdio_dev(), stdio_devices[], stdio_names[]. But at least thesere are only few identifiers, so this could be delt with. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Where there's no emotion, there's no motive for violence. -- Spock, Dagger of the Mind, stardate 2715.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
Dear Prafulla Wadaskar, In message 73173d32e9439e4abb5151606c3e19e201cd5cf...@sc-vexch1.marvell.com you wrote: In case of kirkwood specially in some board version if we use Kirkwood without internal BootROM we need to configure DRAM before setting stack in DRAM, this should be done in lowlevel_init.S i.e. lowlevel_init or arch_lowlevel_init jump This may be what many ARM systems are currently doing, but actually it is not what I'd like to see. Normally DRAM should only be initialized right before relocation to RAM, i. e. relatively late in the boot sequence, and definitely by C code (at a time, when you have printf() and friends for debugging). Also, normally the actual RAM size should be auto-detected using the utilities provided by common/memsize.c, etc. [Also, flash sizes should be auto-detected.] If you don't have any on-chip memory on your system, or any other SRAM etc. that could be used for initial data or stack, then the standard method is to lock (parts of) D-Cache and use this as RAM. It would be great if such standard procedures would find their way into U-Boot on ARM, too. [Note that I wrote I'd like to see, and normally, and should. I did not say must - I'm a realist, and I know that ARM still has a long way to go to fully recover from the ARMBoot heritage.] Thanks in advance. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Deliver yesterday, code today, think tomorrow. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell MV88F6281GTW_GE Board support
Dear Jean-Christophe PLAGNIOL-VILLARD, In message 20090503083923.gs25...@game.jcrosoft.org you wrote: 3) I'm in favor as Mike to have the tool to build the final flashable bin in the tree as done for the blackfin with a new target and a new extention as .kwd (or any other) You know my opinion about this; it has not changed. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Technology is dominated by those who manage what they do not under- stand. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARM DaVinci:Adding DM365 Support
Dear Ben Warren, In message f8328f7c0905021949w5e8a050cg98e34ab05b436...@mail.gmail.com you wrote: Wolfgang could help us on this? You mean like that: http://git.denx.de/?p=u-boot.git;a=shortlog;h=refs/heads/next ? I'm sorry, I looked before sending this e-mail, but must have been looking in the wrong place. Of course this is exactly what we need and I apologize for the noise. You have not been looking at the wrong place. I created the branch upon your request. Maybe my words to inform you about this were ill chosen. Sorry. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Unix: Some say the learning curve is steep, but you only have to climb it once. - Karl Lehenbauer ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] console/device: rework function naming
On 22:05 Sun 03 May , Wolfgang Denk wrote: Dear Jean-Christophe PLAGNIOL-VILLARD, In message 20090503184226.gy25...@game.jcrosoft.org you wrote: we now switch to console_XX and console_device_t ---^^ Actually there is even a direct name conflict - console_init() is already in use (in board/netphone/phone_console.c), and your patch fails to resolve this conflict. it does, it's call consoles_init() Then your comment (see above) and the code disagree. Maybe stdio would be a better choice than console here? why not Hm... actually checking the code tells that stdio is already taken, too - see show_stdio_dev(), stdio_devices[], stdio_names[]. btw we could stop to export the table for show_stdio_dev it's just a copy of the common/console.c ligne 604 so we can merge it But at least thesere are only few identifiers, so this could be delt with. so no problem Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
On 10:16 Sun 03 May , Prafulla Wadaskar wrote: -Original Message- From: Jean-Christophe PLAGNIOL-VILLARD [mailto:plagn...@jcrosoft.com] Sent: Sunday, May 03, 2009 2:02 PM To: Prafulla Wadaskar Cc: u-boot@lists.denx.de; Ashish Karkare; Prabhanjan Sarnaik; Ronen Shitrit Subject: Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support On 14:41 Sat 02 May , Prafulla Wadaskar wrote: Thanks Jean for your review... diff --git a/cpu/arm926ejs/kirkwood/kwcore.c b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index 000..9eaaab6 --- /dev/null +++ b/cpu/arm926ejs/kirkwood/kwcore.c please cpu.c Okay I will rename it */ -#ifndef CONFIG_SKIP_LOWLEVEL_INIT +#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined +(CONFIG_ARCH_LOWLEVEL_INIT) NACK if you skip the lowlevel init you also skip the arch lowlevel_init I got it already, I have encapsulated similar condition at caller function so that even though only ARCH_LOWLEVEL_INIT is define it will not skip it. if it's permannent arch init please use arch_cpu_init Is it really lowlevel init, needs to be called before stack/dram init, so please let it be arch_lowlevel_init. I am trying to keep minimal code under arch_lowlevel_init (only few assembly lines) rest I am moving to arch_cpu_init under lib_arm/board.c the arch_cpu_init is the first init in c and I want the current design clear If you choice to skip the lowlevel_init you will skip all lowlevel_init with no exception as I've in mind to regroup all start.S In this caseI think Let's have arch_cpu_init (c function call) to take care of Soc Specific init and Let's use lowlevel_init instead of arch_lowlevel_init for any configuration before stack init. arch_lowlevel_init should be assembly code similar to lowlevel_init and is invoking should be similar In case of kirkwood specially in some board version if we use Kirkwood without internal BootROM we need to configure DRAM before setting stack in DRAM, this should be done in lowlevel_init.S i.e. lowlevel_init or arch_lowlevel_init jump sure but in this case you will have to init everythink as done for ofther ARCH at91 in norflash boot, ixp, pxa etc... if the dram init is common of the arch the arch_lowlevel_init is the right place, it's board specific lowlevel_init is. please also note I'm preparing 2 new patch that will introduce board_pre_lowlevel_init and arch_pre_lowlevel_init with the board that use it (already mainline) What do you think? Or what is in your mind about regroup start.S? For the start.S I'll take care of this actually nearly all arm share the same start.S and normaly the lowlevel_init is always the same wiht just few specific thinks which will be care by some few callback Best Regards, J. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] V2 Add config option for disabling DM9000-SROM support.
On Sun, May 03, 2009 at 12:11:40PM +0200, Remy Bohmer wrote: Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines Signed-off-by: Remy Bohmer li...@bohmer.net FWIW: Signed-off-by: Stelian Pop stel...@popies.net Thanks, -- Stelian Pop stel...@popies.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC
Does this help at all: at any rate, it is a bit of the history of the u-boot code: http://lists.denx.de/pipermail/u-boot/2008-August/039679.html Stephen Irons David Brownell wrote: I was looking at the DaVinci NAND support in current U-Boot code (i.e. 2009.03 plus patches merged since that release), and am puzzled by the above-named config option. Before I submit a patch to remove it from U-Boot GIT (nothing there enables it, and it will nastify 4-bit support), I thought I'd see if anyone knows exactly what software it was trying to emulate. Differences from the current NAND driver in GIT: - Matches MVL 4.0 (2.6.10) and 5.0 (2.6.18) drivers in handling NANDx1ECC registers: 0PQR0stu maps to PsQRtu, while the NAND driver in mainline maps it to ~PQRstu. - Custom ECC layouts, not compatible with Linux or RBL/UBL. - Does some very broken stuff for large page support. The first of those I can understand; someone wrote some odd and overly-complex ECC code way back, it worked and then got shipped. (Although TI's U-Boot 1.2.0 uses soft ECC, instead...) The other two look like they were experimental code that should probably not have been merged anywhere... - Dave ___ Davinci-linux-open-source mailing list davinci-linux-open-sou...@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source === This email, including any attachments, is only for the intended addressee. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If the receiver is not the intended addressee, please accept our apologies, notify us by return, delete all copies and perform no other act on the email. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission. === ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC
On Sunday 03 May 2009, Stephen Irons wrote: Does this help at all Not quite; since when I looked at the MontaVista code, I didn't see anything like that brokeness. It's possible that some old MV kernels had that. If so, more recent stuff seems to have been cured. at any rate, it is a bit of the history of the u-boot code: http://lists.denx.de/pipermail/u-boot/2008-August/039679.html ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.
Hi J-C, On Sun, May 3, 2009 at 3:21 AM, Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com wrote: --- /dev/null +++ b/include/dm9000.h Ben what do you think to do as usb have a dir to store all net header include/net/ I have chosen the same location as the dm9161.h, other similar headers are there as well. If it has to be changed, I suggest making it a separate patch. sure I've in mind this include/{ = net}/at91rm9200_net.h include/{ = net}/bcm5221.h include/{ = net}/dm9161.h include/{ = net}/dp83848.h include/{ = net}/lxt971a.h include/{ = net}/mii_phy.h include/{ = net}/miiphy.h include/{ = net}/ns7520_eth.h include/{ = net}/ns9750_eth.h include/{ = net}/ppc4xx_enet.h include/{ = net}/tsec.h or include/{ = net}/at91rm9200_net.h include/{ = net}/ns7520_eth.h include/{ = net}/ns9750_eth.h include/{ = net}/ppc4xx_enet.h include/{ = net}/tsec.h include/{ = net/phy}/bcm5221.h include/{ = net/phy}/dm9161.h include/{ = net/phy}/dp83848.h include/{ = net/phy}/lxt971a.h include/{ = net/phy}/mii_phy.h include/{ = net/phy}/miiphy.h and maybe include/{ = net}/netdev.h Best Regards, J. I'm not crazy about this idea - it seems like unnecessary hierarchy when efforts could be diverted elsewhere. There are very few net-related public header files (as you've shown) and browsing through them, there's a lot of duplication of 802.3-defined PHY stuff and register definitions that are really private to the drivers themselves. Ideally we would have very little in the way of device-specific public functions apart from xxx_initialize(). I'm OK with having device-specific prototypes and struct definitions in netdev.h - that's what it was created for in the first place. As long as there's no code there (including static inlines) it seems appropriate. regards, Ben ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support
Hi Prafulla, On Sun, May 3, 2009 at 10:27 AM, Prafulla Wadaskar prafu...@marvell.comwrote: + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include common.h +#include ../drivers/net/phy/mv88e61xx.h If this header is meant to be public it should be in include. Sorry I didn't catch that earlier. snip This header has some public and some driver specific information Only a configuration structure in this file is needed here, I can put it in netdev.h but I didn't find such implementation there. How about creating a new header file for phy/switch? I think it's appropriate to put the struct definition and public prototypes in netdev.h. There's a lot of work in progress regarding PHYs, and I may move the prototypes later, but for now netdev is it. Unless the driver-specific stuff will be used in the future by other drivers, we may as well move it back to the .c file. I know, I know, I made you create the header file in the first place :) Would you believe that some people have called me indecisive? +/* + * Ethernet Driver configuration + */ +#ifdef CONFIG_CMD_NET +#define CONFIG_NETCONSOLE /* include NetConsole support */ +#define CONFIG_NET_MULTI /* specify more that one ports available */ +#defineCONFIG_MII /* expose smi ove miiphy interface */ +#define CONFIG_KIRKWOOD_EGIGA /* Enable kirkwood Gbe Controller Driver */ This EGIGA driver hasn't been accepted yet. In fact, I think you've only sent one spin. It needs to be in before this board... You are correct, I am ready with the latest spin, but it has close dependency with kirkwood SoC layer, once this gets through I had a plan to release egiga driver patch. BTW code builds cleanly without egiga driver so I do not want to remove this :-) since it will be required afterward once kirkwood_egiga driver gets in. Any suggestion welcomed ??? No, this seems OK. Like you say, it builds cleanly without. As long as they make it into the same release everything should be cool. Regards.. Prafulla . . Thanks for all your hard work. regards, Ben ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support
+#include common.h +#include ../drivers/net/phy/mv88e61xx.h If this header is meant to be public it should be in include. Sorry I didn't catch that earlier. snip This header has some public and some driver specific information Only a configuration structure in this file is needed here, I can put it in netdev.h but I didn't find such implementation there. How about creating a new header file for phy/switch? I think it's appropriate to put the struct definition and public prototypes in netdev.h. There's a lot of work in progress regarding PHYs, and I may move the prototypes later, but for now netdev is it. Unless the driver-specific stuff will be used in the future by other drivers, we may as well move it back to the .c file. I know, I know, I made you create the header file in the first place :) Would you believe that some people have called me indecisive? Dear Ben, that's okay, For evolving projects like u-boot, the positive progress happens in this direction only. How do we improve if we don't experiment... :-) Currently there is only switch_init function header in netdev.h I will put a struct definition too. Thus we can remove mv88361xx.h dependency in board specific files Just let me know - shall I send a delta for this or clean patch v9 for MV88E61XX driver? If I send you clean patch, you may need to revert earlier patch on your branch Regards.. Prafulla . . ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support
On Sun, May 3, 2009 at 8:45 PM, Prafulla Wadaskar prafu...@marvell.comwrote: +#include common.h +#include ../drivers/net/phy/mv88e61xx.h If this header is meant to be public it should be in include. Sorry I didn't catch that earlier. snip This header has some public and some driver specific information Only a configuration structure in this file is needed here, I can put it in netdev.h but I didn't find such implementation there. How about creating a new header file for phy/switch? I think it's appropriate to put the struct definition and public prototypes in netdev.h. There's a lot of work in progress regarding PHYs, and I may move the prototypes later, but for now netdev is it. Unless the driver-specific stuff will be used in the future by other drivers, we may as well move it back to the .c file. I know, I know, I made you create the header file in the first place :) Would you believe that some people have called me indecisive? Dear Ben, that's okay, For evolving projects like u-boot, the positive progress happens in this direction only. How do we improve if we don't experiment... :-) Currently there is only switch_init function header in netdev.h I will put a struct definition too. Thus we can remove mv88361xx.h dependency in board specific files Just let me know - shall I send a delta for this or clean patch v9 for MV88E61XX driver? If I send you clean patch, you may need to revert earlier patch on your branch Either is fine with me, although since a v9 would probably be cleaner. Regards.. Prafulla . . regards,Ben ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Help!Some memory doesn't work on PPC405Ex based board!
Stefan and Grant, I have made some progess, Linux can boot normally with 1 GB memory now. The following is what I did: 1.Chang Maximum low memory size from 0x3000(768M) to 0x2000(512M) and enable High Memory support for Linux kernel configuration. 2.Add CONFIG_VERY_BIG_RAM to U-Boot configuration file, or change U-Boot Env. variable initrd_high from 0x3000 to 0x2000. This step is to make sure Linux can find ramdisk and I don't think it's critical for my issue. Now, my question is do you think I have found root cause of my issue? I mean incorrect setting of Maximum low memory size. Best Regards, Sun From: s...@denx.de To: u-boot@lists.denx.de Subject: Re: [U-Boot] Help!Some memory doesn't work on PPC405Ex based board! Date: Thu, 23 Apr 2009 11:55:35 +0200 CC: sunwx2...@hotmail.com; supp...@amcc.com; gerick...@nuovations.com On Thursday 23 April 2009, SunNeo wrote: Have performed a slow memory post using code in post/drivers/memory.c, still no error. Another idea: Did you also try using DDR autocalibration method A? Standard is method B but A takes a lot longer. (See the Method_A and Method_B algorithm discription in the file cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c). Perhaps this gives some further results. I found memsize in post/driver/memory.c has a limit of 256MB, so I modify it to 1024M. Have tried Linux-2.6.29, same result. Hmmm. You should perhaps try to debug further where exactly this error is occurring. Via printk's or JTAG debugger. If this error always happens at the same location it could perhaps be located (if it's not a memory problem) in the kernel source code. Best regards, Stefan = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = _ 上Windows Live 中国首页,下载最新版Messenger! http://www.windowslive.cn___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot