Re: [U-Boot-Users] [PATCH] POWERPC: Change 86xx platforms to use CONFIG_NR_CPUS
On Mon, Aug 4, 2008 at 9:02 PM, Becky Bruce [EMAIL PROTECTED] wrote: Currently, they use CONFIG_NUM_CPUS, which is different than 85xx for no good reason. --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -17,7 +17,7 @@ #define CONFIG_MPC86xx 1 /* MPC86xx */ #define CONFIG_MPC8610 1 /* MPC8610 specific */ #define CONFIG_MPC8610HPCD 1 /* MPC8610HPCD board specific */ -#define CONFIG_NUM_CPUS1 /* Number of CPUs in the system */ +#define CONFIG_NR_CPUS 2 /* Number of CPUs in the system */ Are you sure you wanted to change the number, too? I think this is used to support Cooperative Multi-processing? If we want to do this, we should probably document it in the commit message. Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] QE UEC: MII command support and adding UECs
On Wed, Jul 16, 2008 at 2:17 PM, richardretanubun [EMAIL PROTECTED] wrote: Hi, I am wondering if the miiphy command support for QE UEC is already merged into u-boot on some tree. The last info I have on this patch is on this posting: http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/38965 Hm... I vaguely recall seeing that, but it's more in Ben Warren's domain. He probably wasn't copied on the patch, either. Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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][resubmit] QE IO: Add initial data to pin configuration + read/write functions
Anyway, I'll wait for Kim's ACK before pushing it up into my dev-1.3.4 branch see: http://article.gmane.org/gmane.comp.boot-loaders.u-boot/38991 David, I'm still waiting for a response to Kim's comments before I can apply this. The window for 1.3.5 will open soon, so it'd be good to get a working version of this patch sent out by then. Andy - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] -rc1 Prerelease ???
I'm currently pulling together some patches. I will send the pull request *today* On Mon, Jul 14, 2008 at 4:12 PM, Wolfgang Denk [EMAIL PROTECTED] wrote: Hi everybody, from my point of view I think we're ready for a -rc1 prerelease, but I am aware that some patches are still pending in the queues of some custodians (at least this is what I think), so anybody with pending pull requests please respond quickly! Thanks! 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: [EMAIL PROTECTED] Copy from one, it's plagiarism; copy from two, it's research. - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ 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 1/2] mpc85xx: use IS_E_PROCESSOR macro
On Tue, Jun 17, 2008 at 5:45 PM, Kim Phillips [EMAIL PROTECTED] wrote: Signed-off-by: Kim Phillips [EMAIL PROTECTED] Applied, thanks! I also applied 2/2, since it appears the order needs to be reversed, and it just makes things easier. Andy - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ 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] cpu/mpc85xx/start.S: correct temporary TLB
On Wed, Jul 2, 2008 at 9:11 AM, Andrew Klossner [EMAIL PROTECTED] wrote: From 03e28f90637703aaef9356dc398adedcdf06cb94 Mon Sep 17 00:00:00 2001 From: Andrew Klossner [EMAIL PROTECTED] Date: Wed, 2 Jul 2008 07:03:53 -0700 Subject: [PATCH] Change the temp map to ROM to align addresses to page size. With a page size of BOOKE_PAGESZ_16M, both the real and effective addresses must be multiples of 16MB. The hardware silently truncates them so the code happens to work. This patch clarifies the situation by establishing addresses that the hardware doesn't need to truncate. Applied, with Kumar's suggested changes. Thanks, Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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] MPC85xx: correct the procedure to change CCSRBAR.
On Wed, Jul 2, 2008 at 9:48 AM, Kumar Gala [EMAIL PROTECTED] wrote: On Jul 2, 2008, at 9:25 AM, Andrew Klossner wrote: The MPC8555E and MPC8548E reference manuals are quite specific about the formula required to change the value of CCSRBAR. This patch implements that formula. Just to be clear, I'm NACKing this for the reasons given by Kumar (also, don't use C++ comments for multi-line comments). Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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] 8xxx-fdt: set ns16550 clock from CFG_NS16550_CLK, not bi_busfreq
On Wed, Jul 9, 2008 at 4:53 PM, Kim Phillips [EMAIL PROTECTED] wrote: On Wed, 9 Jul 2008 14:43:46 -0400 Paul Gortmaker [EMAIL PROTECTED] wrote: Some boards that have external 16550 UARTs don't have a direct tie between bi_busfreq and the clock used for the UARTs. Boards that do have such a tie should set CFG_NS16550_CLK to be get_bus_freq(0) -- which most of them do already. Signed-off-by: Paul Gortmaker [EMAIL PROTECTED] Acked-by: Kim Phillips [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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] mpc85xx: make the MxMR register in upmconfig as a parameter
On Mon, Jul 14, 2008 at 5:54 AM, Sebastian Siewior [EMAIL PROTECTED] wrote: The default value for the MxMR register is not always the right one. This patch adds the value of MxMR register as an additional parameter (plus a few defines instead of hex coded values). Signed-off-by: Sebastian Siewior [EMAIL PROTECTED] I'm not convinced this is the right solution. Anytime we put a cpu-specific #ifdef for a function definition, we should think long and hard about why. Maybe instead of an argument, we should make mxmr_mode a config value. Also, unless I'm misreading this patch, you've broken *every* board with this patch, since there's no change to any of the invokers of upmconfig to supply the fourth argument. Could you also explain in greater detail what you are trying to do, here? My familiarity with the LBC code is fairly low. Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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 1/7] sbc8560: proper definitions for TSEC.
On Fri, Jul 11, 2008 at 2:33 PM, Paul Gortmaker [EMAIL PROTECTED] wrote: The definitions for the TSEC have become out of date. There is no longer any such options like CONFIG_MPC85xx_TSEC1 or similar. Update to match those of other boards, like the MPC8560ADS. Signed-off-by: Paul Gortmaker [EMAIL PROTECTED] Acked-by: Ben Warren [EMAIL PROTECTED] Applied, thanks! Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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 3/7] sbc8560: define eth0 and eth1 instead of eth1 and eth2
On Fri, Jul 11, 2008 at 5:03 PM, Paul Gortmaker [EMAIL PROTECTED] wrote: Wolfgang Denk wrote: + * MAC addresses directly on it. + */ +#if 0 +#define CONFIG_ETHADDR 00:01:af:07:9b:8a +#define CONFIG_ETH1ADDR 00:01:af:07:9b:8b #define CONFIG_SERVERIP 192.168.0.131 #define CONFIG_IPADDR 192.168.0.105 -#define CONFIG_GATEWAYIP0.0.0.0 +#define CONFIG_GATEWAYIP192.168.0.1 #define CONFIG_NETMASK 255.255.255.0 +#endif + I think this should be removed. There is really no good reason to add network configuration at all to the board config file (with the exception of the 2 or 3 boards which actually boot from real ROM). No problem. I'll remove and resend. As a compromise between removal and keeping the useful information for developers who are doing early bringup on similar boards, I have applied this patch, and replaced the above with: /* You can compile in a MAC address and your custom net settings by using * the following syntax. Your board should be marked with the assigned * MAC addresses directly on it. * * #define CONFIG_ETHADDR de:ad:be:ef:00:00 * #define CONFIG_ETH1ADDR fa:ke:ad:dr:es:s! * #define CONFIG_SERVERIP server ip * #define CONFIG_IPADDRboard ip * #define CONFIG_GATEWAYIP gateway ip * #define CONFIG_NETMASK your netmask */ Wolfgang, if you still object, I can totally remove it before you pull (git rebase --interactive is a wonderful thing). I also corrected some whitespace issues where comments trailed off the end of the line for no good reason. Thanks, Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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 2/7] sbc8560: properly set cs0_bnds for 512MB
On Fri, Jul 11, 2008 at 2:33 PM, Paul Gortmaker [EMAIL PROTECTED] wrote: The sbc8560 board ships with 512MB of memory installed, but the current cs0_bnds is hard coded for 256MB. Set the value based on CFG_SDRAM_SIZE. Signed-off-by: Paul Gortmaker [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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 4/7] sbc8560: add in ft_board_setup()
On Fri, Jul 11, 2008 at 2:33 PM, Paul Gortmaker [EMAIL PROTECTED] wrote: Add in for the sbc8560, the ft_board_setup() routine, based on what is in use for the Freescale MPC8560ADS board. Signed-off-by: Paul Gortmaker [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ 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 6/7] sbc8560: enable CONFIG_OF_LIBFDT by default
On Fri, Jul 11, 2008 at 2:33 PM, Paul Gortmaker [EMAIL PROTECTED] wrote: Make the default build for the sbc8560 board be powerpc capable with libfdt support. Signed-off-by: Paul Gortmaker [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [REPOST][PATCH 1/4] 85xx: Cleanup L2 cache size detection
On Mon, Jul 14, 2008 at 2:07 PM, Kumar Gala [EMAIL PROTECTED] wrote: The L2 size detection code was a bit confusing and we kept having to add code to it to handle new processors. Change the sense of detection so we look for the older processors that aren't changing. Also added support for 1M cache size on 8572. Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [REPOST][PATCH 2/4] MPC8544DS: Report board id, board version and fpga version.
On Mon, Jul 14, 2008 at 2:07 PM, Kumar Gala [EMAIL PROTECTED] wrote: Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [REPOST][PATCH 4/4] MPC8544DS: Add ATI Video card support
On Mon, Jul 14, 2008 at 2:07 PM, Kumar Gala [EMAIL PROTECTED] wrote: Add support for using a PCIe ATI Video card on PCIe2. Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks Andy - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Andrew Klossner (1): Change the temp map to ROM to align addresses to page size. Andy Fleming (4): Remove LBC_CACHE_BASE from 8544 DS Fix indentation for default boot environment variables Remove fake flash bank from 8544 DS Clean up INIT_RAM options Kim Phillips (2): fdt: add crypto node handling for MPC8{3, 5}xxE processors mpc85xx: use IS_E_PROCESSOR macro Kumar Gala (4): 85xx: Cleanup L2 cache size detection MPC8544DS: Report board id, board version and fpga version. 85xx: Add some L1/L2 SPR register definitions MPC8544DS: Add ATI Video card support Paul Gortmaker (7): 8xxx-fdt: set ns16550 clock from CFG_NS16550_CLK, not bi_busfreq sbc8560: proper definitions for TSEC. sbc8560: properly set cs0_bnds for 512MB sbc8560: define eth0 and eth1 instead of eth1 and eth2 sbc8560: add in ft_board_setup() sbc8560: add default fdt values sbc8560: enable CONFIG_OF_LIBFDT by default board/freescale/mpc8544ds/law.c |2 +- board/freescale/mpc8544ds/mpc8544ds.c |5 +- board/freescale/mpc8544ds/tlb.c | 12 +--- board/freescale/mpc8544ds/u-boot.lds |1 + board/sbc8560/sbc8560.c | 32 common/fdt_support.c | 87 ++ cpu/mpc83xx/fdt.c | 20 +- cpu/mpc85xx/cpu.c |2 +- cpu/mpc85xx/cpu_init.c| 47 - cpu/mpc85xx/fdt.c |7 ++- cpu/mpc85xx/start.S |9 ++- cpu/mpc86xx/fdt.c |2 +- include/asm-ppc/processor.h | 29 include/configs/MPC8544DS.h | 52 -- include/configs/MPC8560ADS.h | 38 +- include/configs/sbc8560.h | 128 ++-- include/fdt_support.h |6 ++ include/mpc83xx.h |7 ++- 18 files changed, 366 insertions(+), 120 deletions(-) - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Fix LMB type issues
The LMB code now uses phys_addr_t and phys_size_t. Also, there were a couple of casting problems in the bootm code that called the LMB functions. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- include/lmb.h |2 +- lib_generic/lmb.c |6 +++--- lib_ppc/bootm.c |5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/lmb.h b/include/lmb.h index 0283075..14e8727 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -43,7 +43,7 @@ extern phys_addr_t lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align extern phys_addr_t __lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align, phys_addr_t max_addr); extern int lmb_is_reserved(struct lmb *lmb, phys_addr_t addr); -extern long lmb_free(struct lmb *lmb, u64 base, u64 size); +extern long lmb_free(struct lmb *lmb, phys_addr_t base, phys_size_t size); extern void lmb_dump_all(struct lmb *lmb); diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index 93264c1..6b46fa8 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -181,11 +181,11 @@ long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size) return lmb_add_region(_rgn, base, size); } -long lmb_free(struct lmb *lmb, u64 base, u64 size) +long lmb_free(struct lmb *lmb, phys_addr_t base, phys_size_t size) { struct lmb_region *rgn = (lmb-reserved); - u64 rgnbegin, rgnend; - u64 end = base + size; + phys_addr_t rgnbegin, rgnend; + phys_addr_t end = base + size; int i; rgnbegin = rgnend = 0; /* supress gcc warnings */ diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 3c1c18b..677ec62 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -205,14 +205,15 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], for (j = 0; j total; j++) { fdt_get_mem_rsv(of_flat_tree, j, addr, size); - if (addr == (uint64_t)of_flat_tree) { + if (addr == (uint64_t)(ulong)of_flat_tree) { fdt_del_mem_rsv(of_flat_tree, j); break; } } /* Delete the old LMB reservation */ - lmb_free(lmb, (uint64_t)of_flat_tree, fdt_totalsize(of_flat_tree)); + lmb_free(lmb, (phys_addr_t)(ulong)of_flat_tree, + (phys_size_t)fdt_totalsize(of_flat_tree)); /* Calculate the actual size of the fdt */ actualsize = fdt_off_dt_strings(of_flat_tree) + -- 1.5.4.GIT - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Set manually tsec speed in u-boot 1.2.0
On Fri, Jun 27, 2008 at 4:37 AM, Frank Prepelica [EMAIL PROTECTED] wrote: Hi Ben, The ethernet adapter (PCMCIA ethernet card) which is directly connect to the board can be forced in windows to use 100Mbit full duplex, but u-boot still use 1Gbit. It's a Marvell phy, the exact phy description I have not in mind. The processor is a mpc8313. We are using a customized board which based on the MPC8313ERDB board. Nevertheless, is there a special env variable to set in U-Boot to use another speed, in this case 100Mbit? (e.g. I can choose by setting using ethact TSEC1 which tsec should be used) Is there something equivalent for using tsec speed? There isn't any support for forcing link speed in tsec.c. If you wanted to add it, I could see where it would be useful. Is there any particular reason you don't want to autonegotiate? One option you might be able to use is to modify TSEC1_FLAGS in your config file to *not* specify TSEC_GIGABIT. Andy - 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 v3 2/4] Add lmb_free
lmb_free allows us to unreserve some memory so we can use lmb_alloc_base or lmb_reserve to temporarily reserve some memory. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- Rebased off the top of tree to ease application. lib_generic/lmb.c | 49 + 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index afe3319..3240f66 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -181,6 +181,55 @@ long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size) return lmb_add_region(_rgn, base, size); } +long lmb_free(struct lmb *lmb, u64 base, u64 size) +{ + struct lmb_region *rgn = (lmb-reserved); + u64 rgnbegin, rgnend; + u64 end = base + size; + int i; + + rgnbegin = rgnend = 0; /* supress gcc warnings */ + + /* Find the region where (base, size) belongs to */ + for (i=0; i rgn-cnt; i++) { + rgnbegin = rgn-region[i].base; + rgnend = rgnbegin + rgn-region[i].size; + + if ((rgnbegin = base) (end = rgnend)) + break; + } + + /* Didn't find the region */ + if (i == rgn-cnt) + return -1; + + /* Check to see if we are removing entire region */ + if ((rgnbegin == base) (rgnend == end)) { + lmb_remove_region(rgn, i); + return 0; + } + + /* Check to see if region is matching at the front */ + if (rgnbegin == base) { + rgn-region[i].base = end; + rgn-region[i].size -= size; + return 0; + } + + /* Check to see if the region is matching at the end */ + if (rgnend == end) { + rgn-region[i].size -= size; + return 0; + } + + /* +* We need to split the entry - adjust the current one to the +* beginging of the hole and add the region after hole. +*/ + rgn-region[i].size = base - rgn-region[i].base; + return lmb_add_region(rgn, end, rgnend - end); +} + long lmb_reserve(struct lmb *lmb, phys_addr_t base, phys_size_t size) { struct lmb_region *_rgn = (lmb-reserved); -- 1.5.4.GIT - 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 v3 1/4] Add ALIGN() macro
ALIGN() returns the smallest aligned value greater than the passed in address or size. Taken from Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- Rebased off the top of tree to ease application. include/common.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/common.h b/include/common.h index fd5adb3..3190781 100644 --- a/include/common.h +++ b/include/common.h @@ -682,6 +682,9 @@ void __attribute__((weak)) show_boot_progress (int val); #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) x) + ((y) - 1)) / (y)) * (y)) +#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1) +#define __ALIGN_MASK(x,mask) (((x)+(mask))~(mask)) + /* Multicore arch functions */ #ifdef CONFIG_MP int cpu_status(int nr); -- 1.5.4.GIT - 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 v3 3/4] Fix an underflow bug in __lmb_alloc_base
__lmb_alloc_base can underflow if it fails to find free space. This was fixed in linux with commit d9024df02ffe74d723d97d552f86de3b34beb8cc. This patch merely updates __lmb_alloc_base to resemble the current version in Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- Rebased off the top of tree to ease application. lib_generic/lmb.c | 34 +++--- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index 3240f66..93264c1 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -285,11 +285,14 @@ phys_addr_t __lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align, phy { long i, j; phys_addr_t base = 0; + phys_addr_t res_base; for (i = lmb-memory.cnt-1; i = 0; i--) { phys_addr_t lmbbase = lmb-memory.region[i].base; phys_size_t lmbsize = lmb-memory.region[i].size; + if (lmbsize size) + continue; if (max_addr == LMB_ALLOC_ANYWHERE) base = lmb_align_down(lmbbase + lmbsize - size, align); else if (lmbbase max_addr) { @@ -298,22 +301,23 @@ phys_addr_t __lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align, phy } else continue; - while ((lmbbase = base) - ((j = lmb_overlaps_region((lmb-reserved), base, size)) = 0) ) - base = lmb_align_down(lmb-reserved.region[j].base - size, - align); - - if ((base != 0) (lmbbase = base)) - break; + while (base lmbbase = base) { + j = lmb_overlaps_region(lmb-reserved, base, size); + if (j 0) { + /* This area isn't reserved, take it */ + if (lmb_add_region(lmb-reserved, base, + lmb_align_up(size, + align)) 0) + return 0; + return base; + } + res_base = lmb-reserved.region[j].base; + if (res_base size) + break; + base = lmb_align_down(res_base - size, align); + } } - - if (i 0) - return 0; - - if (lmb_add_region((lmb-reserved), base, lmb_align_up(size, align)) 0) - return 0; - - return base; + return 0; } int lmb_is_reserved(struct lmb *lmb, phys_addr_t addr) -- 1.5.4.GIT - 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 v3 4/4] Resize device tree to allow space for board changes and the chosen node
Current code requires that a compiled device tree have space added to the end to leave room for extra nodes added by board code (and the chosen node). This requires that device tree creators anticipate how much space U-Boot will add to the tree, which is absurd. Ideally, the code would resize and/or relocate the tree when it needed more space, but this would require a systemic change to the fdt code, which is non-trivial. Instead, we resize the tree inside boot_relocate_fdt, reserving either the remainder of the bootmap (in the case where the fdt is inside the bootmap), or adding CFG_FDT_PAD bytes to the size. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- Rebased off the top of tree to ease application. lib_ppc/bootm.c | 66 -- 1 files changed, 58 insertions(+), 8 deletions(-) diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 10a0b12..9db1c2e 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -51,6 +51,10 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #include asm/cache.h #endif +#ifndef CFG_FDT_PAD +#define CFG_FDT_PAD 0x3000 +#endif + DECLARE_GLOBAL_DATA_PTR; extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); @@ -191,6 +195,44 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], ft_board_setup(of_flat_tree, gd-bd); #endif } + + /* Fixup the fdt memreserve now that we know how big it is */ + if (of_flat_tree) { + int j; + uint64_t addr, size; + int total = fdt_num_mem_rsv(of_flat_tree); + uint actualsize; + + for (j = 0; j total; j++) { + fdt_get_mem_rsv(of_flat_tree, j, addr, size); + if (addr == (uint64_t)of_flat_tree) { + fdt_del_mem_rsv(of_flat_tree, j); + break; + } + } + + /* Delete the old LMB reservation */ + lmb_free(lmb, of_flat_tree, fdt_totalsize(of_flat_tree)); + + /* Calculate the actual size of the fdt */ + actualsize = fdt_off_dt_strings(of_flat_tree) + + fdt_size_dt_strings(of_flat_tree); + + /* Make it so the fdt ends on a page boundary */ + actualsize = ALIGN(actualsize, 0x1000); + actualsize = actualsize - ((uint)of_flat_tree 0xfff); + + /* Change the fdt header to reflect the correct size */ + fdt_set_totalsize(of_flat_tree, actualsize); + of_size = actualsize; + + /* Add the new reservation */ + ret = fdt_add_mem_rsv(of_flat_tree, (uint)of_flat_tree, + of_size); + + /* Create a new LMB reservation */ + lmb_reserve(lmb, (ulong)of_flat_tree, of_size); + } #endif /* CONFIG_OF_LIBFDT */ ret = boot_ramdisk_high (lmb, rd_data_start, rd_len, initrd_start, initrd_end); @@ -713,22 +755,25 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #endif /* -* The blob must be within CFG_BOOTMAPSZ, -* so we flag it to be copied if it is not. +* The blob needs to be inside the boot mapping. */ - if (fdt_blob = (char *)CFG_BOOTMAPSZ) + if (fdt_blob (char *)bootmap_base) relocate = 1; - of_len = be32_to_cpu (fdt_totalsize (fdt_blob)); + if ((fdt_blob + *of_size + CFG_FDT_PAD) = + ((char *)CFG_BOOTMAPSZ + bootmap_base)) + relocate = 1; /* move flattend device tree if needed */ if (relocate) { int err; - ulong of_start; + ulong of_start = 0; /* position on a 4K boundary before the alloc_current */ + /* Pad the FDT by a specified amount */ + of_len = *of_size + CFG_FDT_PAD; of_start = (unsigned long)lmb_alloc_base(lmb, of_len, 0x1000, -(CFG_BOOTMAPSZ + bootmap_base)); + (CFG_BOOTMAPSZ + bootmap_base)); if (of_start == 0) { puts(device tree - allocation error\n); @@ -736,7 +781,7 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, } debug (## device tree at 0x%08lX ... 0x%08lX (len=%ld=0x%lX)\n, - (ulong)fdt_blob, (ulong)fdt_blob + of_len - 1, + (ulong)fdt_blob, (ulong)fdt_blob + *of_size - 1, of_len, of_len); printf ( Loading Device Tree to %08lx, end %08lx ... , @@ -750,9 +795,14 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, puts (OK\n); *of_flat_tree = (char *)of_start
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Note that some of the patches are not strictly 85xx, however they were either necessary, or just more convenient this way. If someone objects to a particular patch, I can certainly pull it if that's deemed best. Andy Fleming (1): socrates: Fix PCI clk fix patch Anton Vorontsov (2): 83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h 83xx/85xx: further localbus cleanups Becky Bruce (1): MPC85xx: Change traps.c to not reference non-addressable memory Kumar Gala (9): 85xx: Only use PORPLLSR[DDR_Ratio] on platforms that define it 85xx: expose cpu identification 85xx: Add setting of cache props in the device tree. 85xx: Remove unused and unconfigured memory test code. MPC8544DS: Update config.h 85xx: remove dummy board_early_init_f Make it so we keep track of which LAWs have allocated and provide With the new LAW interface (set_next_law) we can move to letting the FSL LAW: Add new interface to use the last free LAW Sergei Poselenov (7): Socrates: config file cleanup. Added the upmconfig() function for 85xx. Socrates: Added FPGA mapping. LAWs and TLBs cleanup. Socrates: added missed file with UPMA configuration data. NAND: Added support for 128-bit OOB, adapted Socrates: NAND support added. Changed the U-Boot base address and Socrates: Added FPGA base address update in FDT. Wolfgang Grandegger (16): 83xx/85xx/86xx: add more MxMR local bus definitions TQM: move TQM boards to board/tqc PPC: add accessor macros to clear and set bits in one shot MPC85xx: Beautify boot output of L2 cache configuration NAND FSL UPM: driver re-write using the hwcontrol callback TQM85xx: Various coding style fixes TQM85xx: Fix CPM port pin configuration TQM85xx: Support for Spansion 'N' type flashes added TQM85xx: Fix chip select configuration for second FLASH bank TQM85xx: Bugfix in the SDRAM initialisation TQM85xx: Support for Intel 82527 compatible CAN controller TQM85xx: Support for Flat Device Tree TQM8548: Basic support for the TQM8548 modules TQM8548: PCI express support TQM85xx: NAND support via local bus UPMB TQM85xx: Change memory map to support Flash memory 128 MiB MAKEALL |1 + Makefile | 34 +- board/atum8548/law.c | 14 +- board/freescale/mpc8540ads/law.c | 10 +- board/freescale/mpc8540ads/mpc8540ads.c | 42 -- board/freescale/mpc8541cds/law.c | 10 +- board/freescale/mpc8541cds/mpc8541cds.c | 44 -- board/freescale/mpc8544ds/law.c | 16 +- board/freescale/mpc8544ds/mpc8544ds.c| 44 -- board/freescale/mpc8548cds/law.c | 16 +- board/freescale/mpc8548cds/mpc8548cds.c | 44 -- board/freescale/mpc8555cds/law.c | 10 +- board/freescale/mpc8555cds/mpc8555cds.c | 44 -- board/freescale/mpc8560ads/law.c | 10 +- board/freescale/mpc8560ads/mpc8560ads.c | 42 -- board/freescale/mpc8568mds/law.c | 12 +- board/freescale/mpc8568mds/mpc8568mds.c | 39 -- board/freescale/mpc8610hpcd/law.c| 18 +- board/freescale/mpc8641hpcn/law.c| 18 +- board/mpc8540eval/law.c |6 +- board/pm854/law.c| 10 +- board/pm856/law.c| 10 +- board/sbc8548/law.c |8 +- board/sbc8560/law.c |6 +- board/sbc8641d/law.c | 18 +- board/socrates/Makefile |2 +- board/socrates/config.mk |3 +- board/socrates/law.c | 21 +- board/socrates/nand.c| 218 board/socrates/socrates.c| 22 +- board/socrates/tlb.c | 25 +- board/socrates/upm_table.h | 55 ++ board/stxgp3/law.c | 10 +- board/stxssa/law.c | 12 +- board/{ = tqc}/tqm5200/Makefile |0 board/{ = tqc}/tqm5200/cam5200_flash.c |0 board/{ = tqc}/tqm5200/cmd_stk52xx.c|0 board/{ = tqc}/tqm5200/cmd_tb5200.c |0 board/{ = tqc}/tqm5200/config.mk|0 board/{ = tqc}/tqm5200/mt48lc16m16a2-75.h |0 board/{ = tqc}/tqm5200/tqm5200.c|0 board/{ = tqc}/tqm8260/Makefile |0 board/{ = tqc}/tqm8260/config.mk|0 board/{ = tqc}/tqm8260/flash.c |0 board/{ = tqc}/tqm8260/tqm8260.c|0 board/{ = tqc}/tqm8272/Makefile |0 board/{ = tqc}/tqm8272
[U-Boot-Users] Please pull u-boot-mpc85xx.git (v2)
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master A re-send, since I accidentally undid a bunch of changes before I sent the last pull request. This one has been build-tested. Andy Fleming (1): socrates: Fix PCI clk fix patch Anton Vorontsov (2): 83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h 83xx/85xx: further localbus cleanups Becky Bruce (1): MPC85xx: Change traps.c to not reference non-addressable memory Kumar Gala (9): 85xx: Only use PORPLLSR[DDR_Ratio] on platforms that define it 85xx: expose cpu identification 85xx: Add setting of cache props in the device tree. 85xx: Remove unused and unconfigured memory test code. MPC8544DS: Update config.h 85xx: remove dummy board_early_init_f FSL LAW: Keep track of LAW allocations 85xx/86xx: Move to dynamic mgmt of LAWs FSL LAW: Add new interface to use the last free LAW Sergei Poselenov (7): Socrates: config file cleanup. Added the upmconfig() function for 85xx. Socrates: Added FPGA mapping. LAWs and TLBs cleanup. Socrates: added missed file with UPMA configuration data. NAND: Added support for 128-bit OOB, adapted Socrates: NAND support added. Changed the U-Boot base address and Socrates: Added FPGA base address update in FDT. Wolfgang Grandegger (16): 83xx/85xx/86xx: add more MxMR local bus definitions TQM: move TQM boards to board/tqc PPC: add accessor macros to clear and set bits in one shot MPC85xx: Beautify boot output of L2 cache configuration NAND FSL UPM: driver re-write using the hwcontrol callback TQM85xx: Various coding style fixes TQM85xx: Fix CPM port pin configuration TQM85xx: Support for Spansion 'N' type flashes added TQM85xx: Fix chip select configuration for second FLASH bank TQM85xx: Bugfix in the SDRAM initialisation TQM85xx: Support for Intel 82527 compatible CAN controller TQM85xx: Support for Flat Device Tree TQM8548: Basic support for the TQM8548 modules TQM8548: PCI express support TQM85xx: NAND support via local bus UPMB TQM85xx: Change memory map to support Flash memory 128 MiB MAKEALL |1 + Makefile | 34 +- board/atum8548/law.c | 14 +- board/freescale/mpc8540ads/law.c | 10 +- board/freescale/mpc8540ads/mpc8540ads.c | 42 -- board/freescale/mpc8541cds/law.c | 10 +- board/freescale/mpc8541cds/mpc8541cds.c | 44 -- board/freescale/mpc8544ds/law.c | 16 +- board/freescale/mpc8544ds/mpc8544ds.c| 44 -- board/freescale/mpc8548cds/law.c | 16 +- board/freescale/mpc8548cds/mpc8548cds.c | 44 -- board/freescale/mpc8555cds/law.c | 10 +- board/freescale/mpc8555cds/mpc8555cds.c | 44 -- board/freescale/mpc8560ads/law.c | 10 +- board/freescale/mpc8560ads/mpc8560ads.c | 42 -- board/freescale/mpc8568mds/law.c | 12 +- board/freescale/mpc8568mds/mpc8568mds.c | 39 -- board/freescale/mpc8610hpcd/law.c| 18 +- board/freescale/mpc8641hpcn/law.c| 18 +- board/mpc8540eval/law.c |6 +- board/pm854/law.c| 10 +- board/pm856/law.c| 10 +- board/sbc8548/law.c |8 +- board/sbc8560/law.c |6 +- board/sbc8641d/law.c | 18 +- board/socrates/Makefile |2 +- board/socrates/config.mk |3 +- board/socrates/law.c | 21 +- board/socrates/nand.c| 218 board/socrates/socrates.c| 22 +- board/socrates/tlb.c | 25 +- board/socrates/upm_table.h | 55 ++ board/stxgp3/law.c | 10 +- board/stxssa/law.c | 12 +- board/{ = tqc}/tqm5200/Makefile |0 board/{ = tqc}/tqm5200/cam5200_flash.c |0 board/{ = tqc}/tqm5200/cmd_stk52xx.c|0 board/{ = tqc}/tqm5200/cmd_tb5200.c |0 board/{ = tqc}/tqm5200/config.mk|0 board/{ = tqc}/tqm5200/mt48lc16m16a2-75.h |0 board/{ = tqc}/tqm5200/tqm5200.c|0 board/{ = tqc}/tqm8260/Makefile |0 board/{ = tqc}/tqm8260/config.mk|0 board/{ = tqc}/tqm8260/flash.c |0 board/{ = tqc}/tqm8260/tqm8260.c|0 board/{ = tqc}/tqm8272/Makefile |0 board/{ = tqc}/tqm8272/config.mk|0 board/{ = tqc}/tqm8272/tqm8272.c|0 board/{ = tqc}/tqm834x/Makefile |0 board/{ = tqc
Re: [U-Boot-Users] [PATCH][resubmit] MPC85xx, MPC83xx: Add/Fix UPM configuration support
On Mon, May 19, 2008 at 11:05 AM, David Saada [EMAIL PROTECTED] wrote: Add support for UPM configuration on the 85xx platform. In addition, on the MPC83xx, remove MPC834x precompiler condition, in order to support all MPC83xx processors. Signed-off-by: David Saada [EMAIL PROTECTED] David, I think this patch has been accomplished by some other patches which came in. Could you take a look at the recent patches to cpu/mpc85xx/cpu.c and see if those changes reflect everything you wanted? If not, please submit a patch on top of those changes. Thanks, Andy - 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] 85xx: Add setting of cache props in the device tree.
On Thu, May 29, 2008 at 11:22 AM, Kumar Gala [EMAIL PROTECTED] wrote: Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks Andy - 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] Fix build issue with string.h and linux/string.h
This commit: commit 338cc038461a6c7709c5b86fd9a240209338a1ae Author: Wolfgang Denk [EMAIL PROTECTED] Date: Fri Jun 6 14:28:14 2008 +0200 tools/mkimage: fix compiler warnings on some systems. Broke building on some systems, because the host's string.h was interfering with u-boot's linux/string.h. It doesn't look like we need the u-boot one if we're building for the host, so now we only include when building inside u-boot. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_generic/md5.c |2 +- lib_generic/sha1.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_generic/md5.c b/lib_generic/md5.c index a9aae46..9150510 100644 --- a/lib_generic/md5.c +++ b/lib_generic/md5.c @@ -27,12 +27,12 @@ #ifndef USE_HOSTCC #include common.h +#include linux/string.h #else #include string.h #endif /* USE_HOSTCC */ #include watchdog.h #include linux/types.h -#include linux/string.h #include u-boot/md5.h static void diff --git a/lib_generic/sha1.c b/lib_generic/sha1.c index a192e5f..da5bc16 100644 --- a/lib_generic/sha1.c +++ b/lib_generic/sha1.c @@ -31,11 +31,11 @@ #ifndef USE_HOSTCC #include common.h +#include linux/string.h #else #include string.h #endif /* USE_HOSTCC */ #include watchdog.h -#include linux/string.h #include sha1.h /* -- 1.5.4.GIT - 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 07/08] Socrates: NAND support added. Changed the U-Boot base address and
On Sat, Jun 7, 2008 at 10:02 AM, Sergei Poselenov [EMAIL PROTECTED] wrote: Hello, +#include asm/io.h + +int state; Can that variable be made static? Regards, Magnus Yes, it can. Wolfgang, what is the best way to handle this? Should I re-do the patch? I have made the change in my tree. Andy - 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 v2] 85xx: Only use PORPLLSR[DDR_Ratio] on platforms that define it
On Thu, May 29, 2008 at 1:21 AM, Kumar Gala [EMAIL PROTECTED] wrote: Signed-off-by: Kumar Gala [EMAIL PROTECTED] --- Fix warning that the first version introduced. applied, gracias - 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] TQM: move TQM boards to board/tqc
On Mon, Jun 2, 2008 at 6:22 PM, Andy Fleming [EMAIL PROTECTED] wrote: On Wed, May 28, 2008 at 12:53 PM, [EMAIL PROTECTED] wrote: From: Wolfgang Grandegger [EMAIL PROTECTED] Move all TQM board directories to the vendor specific directory tqc for modules from TQ-Components GmbH (http://www.tqc.de). Note: this patch is too big for posting here and therefore I removed the hunks moving the files. I could provide the full patch on request. Signed-off-by: Wolfgang Grandegger [EMAIL PROTECTED] I have no objections to this change. However, if you want to post the whole patch, you can generate it by passing -M to git-format-patch. This will cause git to generate a patch which tells us the file was moved, and git-am understands that, and does the right thing. That is, *please* repost the patch with everything included. Wolfgang can apply it directly, and then I can apply the other 12+ patches you sent which depend on it. Andy :) - 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] 85xx: Add setting of cache props in the device tree.
On Thu, May 29, 2008 at 11:22 AM, Kumar Gala [EMAIL PROTECTED] wrote: Signed-off-by: Kumar Gala [EMAIL PROTECTED] --- cpu/mpc85xx/fdt.c | 128 + 1 files changed, 128 insertions(+), 0 deletions(-) diff --git a/cpu/mpc85xx/fdt.c b/cpu/mpc85xx/fdt.c index bb87740..92952e6 100644 --- a/cpu/mpc85xx/fdt.c +++ b/cpu/mpc85xx/fdt.c @@ -26,6 +26,7 @@ #include common.h #include libfdt.h #include fdt_support.h +#include asm/processor.h extern void ft_qe_setup(void *blob); #ifdef CONFIG_MP @@ -77,6 +78,131 @@ void ft_fixup_cpu(void *blob, u64 memory_limit) } #endif +#ifdef CONFIG_L2_CACHE +/* return size in kilobytes */ +static inline u32 l2cache_size(void) +{ + volatile ccsr_l2cache_t *l2cache = (void *)CFG_MPC85xx_L2_ADDR; + volatile u32 l2siz_field = (l2cache-l2ctl 28) 0x3; + u32 ver = SVR_SOC_VER(get_svr()); + + switch (l2siz_field) { + case 0x0: + break; + case 0x1: + if (ver == SVR_8540 || ver == SVR_8560 || + ver == SVR_8541 || ver == SVR_8541_E || + ver == SVR_8555 || ver == SVR_8555_E) + return 128; + else + return 256; + break; + case 0x2: + if (ver == SVR_8540 || ver == SVR_8560 || + ver == SVR_8541 || ver == SVR_8541_E || + ver == SVR_8555 || ver == SVR_8555_E) + return 256; + else + return 512; + break; + case 0x3: + return 1024; + break; + } + + return 0; +} How about we create a feature in the new cpu_type field you created, and use that to flag it. :) Andy - 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] MPC85xx: Change traps.c to not reference non-addressable memory
On Wed, May 14, 2008 at 1:10 PM, [EMAIL PROTECTED] wrote: From: Becky Bruce [EMAIL PROTECTED] Currently, END_OF_RAM is used by the trap code to determine if we should attempt to access the stack pointer or not. However, on systems with a lot of RAM, only a subset of the RAM is guaranteed to be mapped in and accessible. Change END_OF_RAM to use get_effective_memsize() instead of using the raw ram size out of the bd. Signed-off-by: Becky Bruce [EMAIL PROTECTED] Applied, merci Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] MPC85xx: Beatify boot output of L2 cache configuration
On Wed, May 28, 2008 at 1:12 PM, Wolfgang Grandegger [EMAIL PROTECTED] wrote: The boot output is now aligned poperly with other boot output lines, e.g.: FLASH: 128 MB L2:512 KB enabled Signed-off-by: Wolfgang Grandegger [EMAIL PROTECTED] A silly comment, but let's spell it Beautify Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH 1/4 v2] Add ALIGN() macro
ALIGN() returns the smallest aligned value greater than the passed in address or size. Taken from Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- include/common.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/common.h b/include/common.h index d0f5704..e8cd33b 100644 --- a/include/common.h +++ b/include/common.h @@ -671,6 +671,9 @@ void __attribute__((weak)) show_boot_progress (int val); #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) x) + ((y) - 1)) / (y)) * (y)) +#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1) +#define __ALIGN_MASK(x,mask) (((x)+(mask))~(mask)) + /* Multicore arch functions */ #ifdef CONFIG_MP int cpu_status(int nr); -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Add ALIGN() macro
ALIGN() returns the smallest aligned value greater than the passed in address or size. Taken from Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- include/common.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/common.h b/include/common.h index d0f5704..68e0cbc 100644 --- a/include/common.h +++ b/include/common.h @@ -671,6 +671,9 @@ void __attribute__((weak)) show_boot_progress (int val); #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) x) + ((y) - 1)) / (y)) * (y)) +#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) +#define __ALIGN_MASK(x,mask)(((x)+(mask))~(mask)) + /* Multicore arch functions */ #ifdef CONFIG_MP int cpu_status(int nr); -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Add lmb_free
lmb_free allows us to unreserve some memory so we can use lmb_alloc_base or lmb_reserve to temporarily reserve some memory. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_generic/lmb.c | 49 + 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index 3b8c805..a34e2d3 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -180,6 +180,55 @@ long lmb_add(struct lmb *lmb, ulong base, ulong size) return lmb_add_region(_rgn, base, size); } +long lmb_free(struct lmb *lmb, u64 base, u64 size) +{ + struct lmb_region *rgn = (lmb-reserved); + u64 rgnbegin, rgnend; + u64 end = base + size; + int i; + + rgnbegin = rgnend = 0; /* supress gcc warnings */ + + /* Find the region where (base, size) belongs to */ + for (i=0; i rgn-cnt; i++) { + rgnbegin = rgn-region[i].base; + rgnend = rgnbegin + rgn-region[i].size; + + if ((rgnbegin = base) (end = rgnend)) + break; + } + + /* Didn't find the region */ + if (i == rgn-cnt) + return -1; + + /* Check to see if we are removing entire region */ + if ((rgnbegin == base) (rgnend == end)) { + lmb_remove_region(rgn, i); + return 0; + } + + /* Check to see if region is matching at the front */ + if (rgnbegin == base) { + rgn-region[i].base = end; + rgn-region[i].size -= size; + return 0; + } + + /* Check to see if the region is matching at the end */ + if (rgnend == end) { + rgn-region[i].size -= size; + return 0; + } + + /* +* We need to split the entry - adjust the current one to the +* beginging of the hole and add the region after hole. +*/ + rgn-region[i].size = base - rgn-region[i].base; + return lmb_add_region(rgn, end, rgnend - end); +} + long lmb_reserve(struct lmb *lmb, ulong base, ulong size) { struct lmb_region *_rgn = (lmb-reserved); -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Fix an underflow bug in __lmb_alloc_base
__lmb_alloc_base can underflow if it fails to find free space. This was fixed in linux with commit d9024df02ffe74d723d97d552f86de3b34beb8cc. This patch merely updates __lmb_alloc_base to resemble the current version in Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_generic/lmb.c | 34 +++--- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index a34e2d3..c27a540 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -284,11 +284,14 @@ ulong __lmb_alloc_base(struct lmb *lmb, ulong size, ulong align, ulong max_addr) { long i, j; ulong base = 0; + ulong res_base; for (i = lmb-memory.cnt-1; i = 0; i--) { ulong lmbbase = lmb-memory.region[i].base; ulong lmbsize = lmb-memory.region[i].size; + if (lmbsize size) + continue; if (max_addr == LMB_ALLOC_ANYWHERE) base = lmb_align_down(lmbbase + lmbsize - size, align); else if (lmbbase max_addr) { @@ -297,22 +300,23 @@ ulong __lmb_alloc_base(struct lmb *lmb, ulong size, ulong align, ulong max_addr) } else continue; - while ((lmbbase = base) - ((j = lmb_overlaps_region((lmb-reserved), base, size)) = 0) ) - base = lmb_align_down(lmb-reserved.region[j].base - size, - align); - - if ((base != 0) (lmbbase = base)) - break; + while (base lmbbase = base) { + j = lmb_overlaps_region(lmb-reserved, base, size); + if (j 0) { + /* This area isn't reserved, take it */ + if (lmb_add_region(lmb-reserved, base, + lmb_align_up(size, + align)) 0) + return 0; + return base; + } + res_base = lmb-reserved.region[j].base; + if (res_base size) + break; + base = lmb_align_down(res_base - size, align); + } } - - if (i 0) - return 0; - - if (lmb_add_region((lmb-reserved), base, lmb_align_up(size, align)) 0) - return 0; - - return base; + return 0; } int lmb_is_reserved(struct lmb *lmb, ulong addr) -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Resize device tree to allow space for board changes and the chosen node
Current code requires that a compiled device tree have space added to the end to leave room for extra nodes added by board code (and the chosen node). This requires that device tree creators anticipate how much space U-Boot will add to the tree, which is absurd. Ideally, the code would resize and/or relocate the tree when it needed more space, but this would require a systemic change to the fdt code, which is non-trivial. Instead, we resize the tree inside boot_relocate_fdt, reserving either the remainder of the bootmap (in the case where the fdt is inside the bootmap), or adding CFG_FDT_PAD bytes to the size. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_ppc/bootm.c | 66 -- 1 files changed, 58 insertions(+), 8 deletions(-) diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 9194fd8..85e959a 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -51,6 +51,10 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #include asm/cache.h #endif +#ifndef CFG_FDT_PAD +#define CFG_FDT_PAD 0x3000 +#endif + DECLARE_GLOBAL_DATA_PTR; extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); @@ -189,6 +193,44 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], ft_board_setup(of_flat_tree, gd-bd); #endif } + + /* Fixup the fdt memreserve now that we know how big it is */ + if (of_flat_tree) { + int j; + uint64_t addr, size; + int total = fdt_num_mem_rsv(of_flat_tree); + uint actualsize; + + for (j = 0; j total; j++) { + fdt_get_mem_rsv(of_flat_tree, j, addr, size); + if (addr == (uint64_t)of_flat_tree) { + fdt_del_mem_rsv(of_flat_tree, j); + break; + } + } + + /* Delete the old LMB reservation */ + lmb_free(lmb, of_flat_tree, fdt_totalsize(of_flat_tree)); + + /* Calculate the actual size of the fdt */ + actualsize = fdt_off_dt_strings(of_flat_tree) + + fdt_size_dt_strings(of_flat_tree); + + /* Make it so the fdt ends on a page boundary */ + actualsize = ALIGN(actualsize, 0x1000); + actualsize = actualsize - ((uint)of_flat_tree 0xfff); + + /* Change the fdt header to reflect the correct size */ + fdt_set_totalsize(of_flat_tree, actualsize); + of_size = actualsize; + + /* Add the new reservation */ + ret = fdt_add_mem_rsv(of_flat_tree, (uint)of_flat_tree, + of_size); + + /* Create a new LMB reservation */ + lmb_reserve(lmb, (ulong)of_flat_tree, of_size); + } #endif /* CONFIG_OF_LIBFDT */ ret = boot_ramdisk_high (lmb, rd_data_start, rd_len, initrd_start, initrd_end); @@ -711,22 +753,25 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #endif /* -* The blob must be within CFG_BOOTMAPSZ, -* so we flag it to be copied if it is not. +* The blob needs to be inside the boot mapping. */ - if (fdt_blob = (char *)CFG_BOOTMAPSZ) + if (fdt_blob (char *)bootmap_base) relocate = 1; - of_len = be32_to_cpu (fdt_totalsize (fdt_blob)); + if ((fdt_blob + *of_size + CFG_FDT_PAD) = + ((char *)CFG_BOOTMAPSZ + bootmap_base)) + relocate = 1; /* move flattend device tree if needed */ if (relocate) { int err; - ulong of_start; + ulong of_start = 0; /* position on a 4K boundary before the alloc_current */ + /* Make the fdt as large as possible */ + of_len = *of_size + CFG_FDT_PAD; of_start = lmb_alloc_base(lmb, of_len, 0x1000, -(CFG_BOOTMAPSZ + bootmap_base)); + (CFG_BOOTMAPSZ + bootmap_base)); if (of_start == 0) { puts(device tree - allocation error\n); @@ -734,7 +779,7 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, } debug (## device tree at 0x%08lX ... 0x%08lX (len=%ld=0x%lX)\n, - (ulong)fdt_blob, (ulong)fdt_blob + of_len - 1, + (ulong)fdt_blob, (ulong)fdt_blob + *of_size - 1, of_len, of_len); printf ( Loading Device Tree to %08lx, end %08lx ... , @@ -748,9 +793,14 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, puts (OK\n); *of_flat_tree = (char *)of_start; + *of_size = of_len; } else { *of_flat_tree
Re: [U-Boot-Users] [PATCH] Add ALIGN() macro
On Tue, May 20, 2008 at 3:18 PM, Andy Fleming [EMAIL PROTECTED] wrote: ALIGN() returns the smallest aligned value greater than the passed in address or size. Taken from Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] Shoot, let me do that again with numbering. If they are applied out of order, there's badness. Please ignore the 4 patches I sent out. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH 1/4] Add ALIGN() macro
ALIGN() returns the smallest aligned value greater than the passed in address or size. Taken from Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- include/common.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/common.h b/include/common.h index d0f5704..68e0cbc 100644 --- a/include/common.h +++ b/include/common.h @@ -671,6 +671,9 @@ void __attribute__((weak)) show_boot_progress (int val); #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) #define roundup(x, y) x) + ((y) - 1)) / (y)) * (y)) +#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) +#define __ALIGN_MASK(x,mask)(((x)+(mask))~(mask)) + /* Multicore arch functions */ #ifdef CONFIG_MP int cpu_status(int nr); -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH 2/4] Add lmb_free
lmb_free allows us to unreserve some memory so we can use lmb_alloc_base or lmb_reserve to temporarily reserve some memory. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_generic/lmb.c | 49 + 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index 3b8c805..a34e2d3 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -180,6 +180,55 @@ long lmb_add(struct lmb *lmb, ulong base, ulong size) return lmb_add_region(_rgn, base, size); } +long lmb_free(struct lmb *lmb, u64 base, u64 size) +{ + struct lmb_region *rgn = (lmb-reserved); + u64 rgnbegin, rgnend; + u64 end = base + size; + int i; + + rgnbegin = rgnend = 0; /* supress gcc warnings */ + + /* Find the region where (base, size) belongs to */ + for (i=0; i rgn-cnt; i++) { + rgnbegin = rgn-region[i].base; + rgnend = rgnbegin + rgn-region[i].size; + + if ((rgnbegin = base) (end = rgnend)) + break; + } + + /* Didn't find the region */ + if (i == rgn-cnt) + return -1; + + /* Check to see if we are removing entire region */ + if ((rgnbegin == base) (rgnend == end)) { + lmb_remove_region(rgn, i); + return 0; + } + + /* Check to see if region is matching at the front */ + if (rgnbegin == base) { + rgn-region[i].base = end; + rgn-region[i].size -= size; + return 0; + } + + /* Check to see if the region is matching at the end */ + if (rgnend == end) { + rgn-region[i].size -= size; + return 0; + } + + /* +* We need to split the entry - adjust the current one to the +* beginging of the hole and add the region after hole. +*/ + rgn-region[i].size = base - rgn-region[i].base; + return lmb_add_region(rgn, end, rgnend - end); +} + long lmb_reserve(struct lmb *lmb, ulong base, ulong size) { struct lmb_region *_rgn = (lmb-reserved); -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH 4/4] Resize device tree to allow space for board changes and the chosen node
Current code requires that a compiled device tree have space added to the end to leave room for extra nodes added by board code (and the chosen node). This requires that device tree creators anticipate how much space U-Boot will add to the tree, which is absurd. Ideally, the code would resize and/or relocate the tree when it needed more space, but this would require a systemic change to the fdt code, which is non-trivial. Instead, we resize the tree inside boot_relocate_fdt, reserving either the remainder of the bootmap (in the case where the fdt is inside the bootmap), or adding CFG_FDT_PAD bytes to the size. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_ppc/bootm.c | 66 -- 1 files changed, 58 insertions(+), 8 deletions(-) diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 9194fd8..85e959a 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -51,6 +51,10 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #include asm/cache.h #endif +#ifndef CFG_FDT_PAD +#define CFG_FDT_PAD 0x3000 +#endif + DECLARE_GLOBAL_DATA_PTR; extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); @@ -189,6 +193,44 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], ft_board_setup(of_flat_tree, gd-bd); #endif } + + /* Fixup the fdt memreserve now that we know how big it is */ + if (of_flat_tree) { + int j; + uint64_t addr, size; + int total = fdt_num_mem_rsv(of_flat_tree); + uint actualsize; + + for (j = 0; j total; j++) { + fdt_get_mem_rsv(of_flat_tree, j, addr, size); + if (addr == (uint64_t)of_flat_tree) { + fdt_del_mem_rsv(of_flat_tree, j); + break; + } + } + + /* Delete the old LMB reservation */ + lmb_free(lmb, of_flat_tree, fdt_totalsize(of_flat_tree)); + + /* Calculate the actual size of the fdt */ + actualsize = fdt_off_dt_strings(of_flat_tree) + + fdt_size_dt_strings(of_flat_tree); + + /* Make it so the fdt ends on a page boundary */ + actualsize = ALIGN(actualsize, 0x1000); + actualsize = actualsize - ((uint)of_flat_tree 0xfff); + + /* Change the fdt header to reflect the correct size */ + fdt_set_totalsize(of_flat_tree, actualsize); + of_size = actualsize; + + /* Add the new reservation */ + ret = fdt_add_mem_rsv(of_flat_tree, (uint)of_flat_tree, + of_size); + + /* Create a new LMB reservation */ + lmb_reserve(lmb, (ulong)of_flat_tree, of_size); + } #endif /* CONFIG_OF_LIBFDT */ ret = boot_ramdisk_high (lmb, rd_data_start, rd_len, initrd_start, initrd_end); @@ -711,22 +753,25 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, #endif /* -* The blob must be within CFG_BOOTMAPSZ, -* so we flag it to be copied if it is not. +* The blob needs to be inside the boot mapping. */ - if (fdt_blob = (char *)CFG_BOOTMAPSZ) + if (fdt_blob (char *)bootmap_base) relocate = 1; - of_len = be32_to_cpu (fdt_totalsize (fdt_blob)); + if ((fdt_blob + *of_size + CFG_FDT_PAD) = + ((char *)CFG_BOOTMAPSZ + bootmap_base)) + relocate = 1; /* move flattend device tree if needed */ if (relocate) { int err; - ulong of_start; + ulong of_start = 0; /* position on a 4K boundary before the alloc_current */ + /* Make the fdt as large as possible */ + of_len = *of_size + CFG_FDT_PAD; of_start = lmb_alloc_base(lmb, of_len, 0x1000, -(CFG_BOOTMAPSZ + bootmap_base)); + (CFG_BOOTMAPSZ + bootmap_base)); if (of_start == 0) { puts(device tree - allocation error\n); @@ -734,7 +779,7 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, } debug (## device tree at 0x%08lX ... 0x%08lX (len=%ld=0x%lX)\n, - (ulong)fdt_blob, (ulong)fdt_blob + of_len - 1, + (ulong)fdt_blob, (ulong)fdt_blob + *of_size - 1, of_len, of_len); printf ( Loading Device Tree to %08lx, end %08lx ... , @@ -748,9 +793,14 @@ static int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, puts (OK\n); *of_flat_tree = (char *)of_start; + *of_size = of_len; } else { *of_flat_tree
[U-Boot-Users] [PATCH 3/4] Fix an underflow bug in __lmb_alloc_base
__lmb_alloc_base can underflow if it fails to find free space. This was fixed in linux with commit d9024df02ffe74d723d97d552f86de3b34beb8cc. This patch merely updates __lmb_alloc_base to resemble the current version in Linux. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- lib_generic/lmb.c | 34 +++--- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c index a34e2d3..c27a540 100644 --- a/lib_generic/lmb.c +++ b/lib_generic/lmb.c @@ -284,11 +284,14 @@ ulong __lmb_alloc_base(struct lmb *lmb, ulong size, ulong align, ulong max_addr) { long i, j; ulong base = 0; + ulong res_base; for (i = lmb-memory.cnt-1; i = 0; i--) { ulong lmbbase = lmb-memory.region[i].base; ulong lmbsize = lmb-memory.region[i].size; + if (lmbsize size) + continue; if (max_addr == LMB_ALLOC_ANYWHERE) base = lmb_align_down(lmbbase + lmbsize - size, align); else if (lmbbase max_addr) { @@ -297,22 +300,23 @@ ulong __lmb_alloc_base(struct lmb *lmb, ulong size, ulong align, ulong max_addr) } else continue; - while ((lmbbase = base) - ((j = lmb_overlaps_region((lmb-reserved), base, size)) = 0) ) - base = lmb_align_down(lmb-reserved.region[j].base - size, - align); - - if ((base != 0) (lmbbase = base)) - break; + while (base lmbbase = base) { + j = lmb_overlaps_region(lmb-reserved, base, size); + if (j 0) { + /* This area isn't reserved, take it */ + if (lmb_add_region(lmb-reserved, base, + lmb_align_up(size, + align)) 0) + return 0; + return base; + } + res_base = lmb-reserved.region[j].base; + if (res_base size) + break; + base = lmb_align_down(res_base - size, align); + } } - - if (i 0) - return 0; - - if (lmb_add_region((lmb-reserved), base, lmb_align_up(size, align)) 0) - return 0; - - return base; + return 0; } int lmb_is_reserved(struct lmb *lmb, ulong addr) -- 1.5.4.GIT - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Andy Fleming (1): 85xx: Limit CPU2 workaround to parts that have the errata board/freescale/mpc8548cds/mpc8548cds.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] 85xx: Limit CPU2 workaround to parts that have the errata
Signed-off-by: Ebony Zhu [EMAIL PROTECTED] Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- board/freescale/mpc8548cds/mpc8548cds.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c index dc39fbe..efe2a3a 100644 --- a/board/freescale/mpc8548cds/mpc8548cds.c +++ b/board/freescale/mpc8548cds/mpc8548cds.c @@ -59,6 +59,7 @@ int checkboard (void) uint pci_slot = get_pci_slot (); uint cpu_board_rev = get_cpu_board_revision (); + uint svr; printf (Board: CDS Version 0x%02x, PCI Slot %d\n, get_board_version (), pci_slot); @@ -71,12 +72,16 @@ int checkboard (void) */ local_bus_init (); + svr = get_svr(); + /* * Fix CPU2 errata: A core hang possible while executing a * msync instruction and a snoopable transaction from an I/O * master tagged to make quick forward progress is present. +* Fixed in Silicon Rev.2.1 */ - ecm-eebpcr |= (1 16); + if (!(SVR_MAJ(svr) = 2 SVR_MIN(svr) = 1)) + ecm-eebpcr |= (1 16); /* * Hack TSEC 3 and 4 IO voltages. -- 1.5.4.GIT - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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] add config options for VSC8601 RGMII PHY
On Tue, Apr 29, 2008 at 1:58 AM, Andre Schwarz [EMAIL PROTECTED] wrote: Andy, thanks for your comments. Andy Fleming schrieb: On Thu, Apr 24, 2008 at 9:45 AM, Andre Schwarz [EMAIL PROTECTED] wrote: {MIIM_VSC8601_EPHY_CON,MIIM_VSC8601_EPHY_CON_INIT_SKEW,NULL}, +#if defined(CFG_VSC8601_SKEW_TX) defined(CFG_VSC8601_SKEW_RX) +{MIIM_EXT_PAGE_ACCESS,1,NULL}, +#define VSC8101_SKEW (CFG_VSC8601_SKEW_TX14)|(CFG_VSC8601_SKEW_RX12) +{MIIM_VSC8601_SKEW_CTRL,VSC8101_SKEW,NULL}, +{MIIM_EXT_PAGE_ACCESS,0,NULL}, +#endif #endif I'm not sure this is the best solution to this. It seems like it wouldn't scale well. Either we need to set a bit somewhere that the phy driver can read (and thereby determine how to configure the skew), or we need to set the value to write in the board config file. I'm partial to the first solution, as it encapsulates the information inside the code that deals with it. [...] I don't understand scale well. What should be scalable ? Of course using a function would be better. I silently assumed that the other bits are set to zero which is true after reset. There are only two other bits : Packet size and 10M preamble mode. Both should be left untouched, i.e. 0. Sorry, I should have been more explicit. In this case I'm referring to how well the solution scales as we deal with more configuration options. Your solution isn't a terrible example of this, but #ifdefs that seem straightforward when there is one of them quickly can become unmanageable. I'll admit, though, this is the sort of problem that is best solved by rearchitecting the PHY code in tsec.c, which is, I believe, under way by Ben. In light of the fact that the #ifdefs here are feature-based, and that the PHY code is probably changing soon, anyway, I'd be ok with letting this patch through (with the duplicate #define removed, of course). Andy - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Kumar Gala (1): 85xx: Additional fixes and cleanup of MP code cpu/mpc85xx/mp.c |6 +- cpu/mpc85xx/release.S |3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Kumar Gala (3): 85xx: Additional fixes and cleanup of MP code 85xx/86xx: Rename DDR init address and init extended address register 85xx/86xx: Rename ext_refrec to timing_cfg_3 to match docs You've already got the MP one, but the other two were just submitted. board/freescale/mpc8610hpcd/mpc8610hpcd.c |2 +- board/freescale/mpc8641hpcn/mpc8641hpcn.c |2 +- board/sbc8548/sbc8548.c |2 +- board/sbc8641d/sbc8641d.c |4 ++-- cpu/mpc85xx/mp.c |6 +- cpu/mpc85xx/release.S |3 ++- cpu/mpc85xx/spd_sdram.c |4 ++-- cpu/mpc86xx/spd_sdram.c |4 ++-- include/asm-ppc/immap_85xx.h |6 +++--- include/asm-ppc/immap_86xx.h |4 ++-- include/configs/MPC8610HPCD.h |2 +- include/configs/sbc8641d.h|2 +- 12 files changed, 23 insertions(+), 18 deletions(-) - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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] add config options for VSC8601 RGMII PHY - 2nd try
On Tue, Apr 29, 2008 at 12:18 PM, Andre Schwarz [EMAIL PROTECTED] wrote: The Vitesse VSC8601 RGMII PHY has internal delay for both Rx and Tx clock lines. They are configured using 2 bits in extended register 0x17. Therefore CFG_VSC8601_SKEW_TX and CFG_VSC8601_SKEW_RX have been introduced with valid values 0-3 giving 0.0, 1.4,1.7 and 2.0ns delay. Signed-off-by: Andre Schwarz [EMAIL PROTECTED] Acked-by: Andy Fleming [EMAIL PROTECTED] - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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] add config options for VSC8601 RGMII PHY
On Thu, Apr 24, 2008 at 9:45 AM, Andre Schwarz [EMAIL PROTECTED] wrote: {MIIM_VSC8601_EPHY_CON,MIIM_VSC8601_EPHY_CON_INIT_SKEW,NULL}, +#if defined(CFG_VSC8601_SKEW_TX) defined(CFG_VSC8601_SKEW_RX) +{MIIM_EXT_PAGE_ACCESS,1,NULL}, +#define VSC8101_SKEW(CFG_VSC8601_SKEW_TX14)|(CFG_VSC8601_SKEW_RX12) +{MIIM_VSC8601_SKEW_CTRL,VSC8101_SKEW,NULL}, +{MIIM_EXT_PAGE_ACCESS,0,NULL}, +#endif #endif I'm not sure this is the best solution to this. It seems like it wouldn't scale well. Either we need to set a bit somewhere that the phy driver can read (and thereby determine how to configure the skew), or we need to set the value to write in the board config file. I'm partial to the first solution, as it encapsulates the information inside the code that deals with it. [...] /* Broadcom BCM54xx -- taken from linux sungem_phy */ #define MIIM_BCM54xx_AUXSTATUS0x19 #define MIIM_BCM54xx_AUXSTATUS_LINKMODE_MASK0x0700 @@ -163,6 +165,8 @@ /* Vitesse VSC8601 Extended PHY Control Register 1 */ #define MIIM_VSC8601_EPHY_CON0x17 #define MIIM_VSC8601_EPHY_CON_INIT_SKEW0x1120 +#define MIIM_VSC8601_SKEW_CTRL0x1c +#define MIIM_VSC8601_EPHY_CON_INIT_SKEW0x1120 Am I crazy, or did you just doubly define MIIM_VSC8601_EPHY_CON_INIT_SKEW? - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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 v3] 85xx: Round up frequency calculations to get reasonable output
On Mon, Apr 21, 2008 at 9:28 AM, Kumar Gala [EMAIL PROTECTED] wrote: eg. because of rounding error we can get 799Mhz instead of 800Mhz. Introduced DIV_ROUND_UP and roundup taken from linux kernel. Signed-off-by: Dejan Minic [EMAIL PROTECTED] Signed-off-by: Srikanth Srinivasan [EMAIL PROTECTED] Signed-off-by: Kumar Gala [EMAIL PROTECTED] Acked-by: Andy Fleming [EMAIL PROTECTED] Andy - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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] 85xx: Fix size of cpu-release-addr property
On Fri, Apr 18, 2008 at 11:29 AM, Kumar Gala [EMAIL PROTECTED] wrote: The cpu-release-addr is defined as always being a 64-bit quanity regardless if we are running on a 32-bit or 64-bit machine. Applied, thanks. - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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 v2] 85xx: Round up frequency calculations to get reasonable output
On Fri, Apr 18, 2008 at 4:28 PM, Kumar Gala [EMAIL PROTECTED] wrote: eg. because of rounding error we can get 799Mhz instead of 800Mhz. Signed-off-by: Dejan Minic [EMAIL PROTECTED] Signed-off-by: Srikanth Srinivasan [EMAIL PROTECTED] Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] drivers MMCplus for at91sam9x
On Tue, Apr 15, 2008 at 5:18 AM, Pierre Savary [EMAIL PROTECTED] wrote: Then my MMC 4GB works with my Linux kernel but if I can't load my kernel (located on the first part of this MMC) ... it's not really interesting :( So, somebody does already use MMC v4 with U-boot??? I've got one that works. However, I don't have a 4GB MMC card with v4. I thought I did, but it turned out the card just takes advantage of the fact that older versions can address 4GB, even though the spec says 2GB is the max. However, I'm fairly confident in the code (it's been tested in simulated environments, and reflects what the Linux code does). I'm currently working on bringing it forward to the top of tree (I started it before drivers/ got rearranged). I'm actually hoping to generalize it some so we can share it between all MMC/SD users. Andy - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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][resubmit] QE IO: Add initial data to pin configuration + read/write functions
On Sun, Mar 30, 2008 at 8:45 AM, David Saada [EMAIL PROTECTED] wrote: On the MPC83xx MPC85xx architectures that have QE, add initial data to the pin configuration table (qe_iop_conf_tab). This is relevant for GPIO pins defined as output. One can setup a value of -1 to leave the value unchanged. QE initialization tables in all relevant boards were also replaced. In addition, add IO pin read write functions. This patch also includes commands for reading and writing parallel I/O ports (pario command). Signed-off-by: David Saada [EMAIL PROTECTED] I have managed to apply your patch. But I *still* had to correct several line-wrap errors. I suggest that maybe nabble is not the solution you hope it is. If you wish to continue submitting patches to opensource groups, it'll be a good idea to find a solution that works. Suggestion: test by sending the email to yourself, and see if you can apply the patch to a clean branch. Anyway, I'll wait for Kim's ACK before pushing it up into my dev-1.3.4 branch - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Kumar Gala (2): 85xx: Use SVR_SOC_VER instead of SVR_VER 85xx: Fix detection of MP cpu spin up cpu/mpc85xx/cpu_init.c |2 +- cpu/mpc85xx/mp.c|6 +- cpu/mpc85xx/spd_sdram.c |2 +- 3 files changed, 7 insertions(+), 3 deletions(-) - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ 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] Fix host tool build breakage, take two
On Thu, Apr 3, 2008 at 1:36 PM, Scott Wood [EMAIL PROTECTED] wrote: On Thu, Apr 03, 2008 at 08:26:23PM +0200, Wolfgang Denk wrote: In message [EMAIL PROTECTED] you wrote: I think this makes sense for code that we for example link from host's standard libraries. But for code compiled from files from the U-Boot tree (like lib_generic/md5.c), we shouldn't include host's header files. But you, you should. Note that we are talking about host tools here, i. e. stuff that is supposed to run in the host environment. Assume your're building for a big-endian, 32 bit Power system. Assume your host is a little-endian x86_64 system. Even simple tungs like a printf() require that you include the correct host header files as you will link your host application against the host libraries, too. That's because printf() is from the host's libraries. lib_generic/md5.c is not a host-provided library, so you don't want to use a host-provided header. I agree with this. Ideally, we should search system headers when we want them, and u-boot headers when we want *them*. However, my Make-fu is not strong enough to figure that one out. It is much more important to be robust against random crap in /usr/include (something u-boot can't control) than changes in the u-boot tree itself. Well, IMNSHO, renaming the internal header to u-boot-md5.h solves the problem with a high degree of robustness (random non-u-boot packages are unlikely to install a header with u-boot in the name), and avoids the dangers of relative path lookups. It so happens I already sent a patch to do that... :) That said, if we could figure out how to rejigger the Makefile so that it found u-boot's md5.h first, that would be better. I suspect that involves a similar patch, though. These are the header categories: 1) U-Boot headers only meant for target compilation 2) System headers 3) U-Boot headers meant for host compilation (probably for both host and target) When we're building for the target, we just don't search the system. But for host compilation, we want to exclude #1. To do that, we'd have to identify every header which should never be compiled on the host, and move it into another directory which won't get searched when we're using HOST_CC. Personally, I suspect category 3 is much smaller than category 1, so it's probably easier to uniquify the smaller category somehow. We could, for instance, also just identify those files and move them into include/generic/ or somesuch. Andy - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [RFC] Rename include/md5.h to u-boot-md5.h
Some systems have md5.h installed in /usr/include/. This isn't the desired file (we want the one in include/md5.h). This will avoid the conflict. This fixes the host tools building problem Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- This fixes the problem for me, at least... common/image.c |4 ++-- include/u-boot-md5.h | 23 +++ lib_generic/md5.c|2 +- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 include/u-boot-md5.h diff --git a/common/image.c b/common/image.c index f04826a..2ee49ef 100644 --- a/common/image.c +++ b/common/image.c @@ -53,7 +53,7 @@ #endif #if defined(CONFIG_FIT) -#include md5.h +#include u-boot-md5.h #include sha1.h static int fit_check_ramdisk (const void *fit, int os_noffset, @@ -70,7 +70,7 @@ static image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch, int verify); #else #include mkimage.h -#include md5.h +#include u-boot-md5.h #include time.h #include image.h #endif /* !USE_HOSTCC*/ diff --git a/include/u-boot-md5.h b/include/u-boot-md5.h new file mode 100644 index 000..046d1ee --- /dev/null +++ b/include/u-boot-md5.h @@ -0,0 +1,23 @@ +/* + * This file was transplanted with slight modifications from Linux sources + * (fs/cifs/md5.h) into U-Boot by Bartlomiej Sieka [EMAIL PROTECTED]. + */ + +#ifndef _MD5_H +#define _MD5_H + +#include linux/types.h + +struct MD5Context { + __u32 buf[4]; + __u32 bits[2]; + unsigned char in[64]; +}; + +/* + * Calculate and store in 'output' the MD5 digest of 'len' bytes at + * 'input'. 'output' must have enough space to hold 16 bytes. + */ +void md5 (unsigned char *input, int len, unsigned char output[16]); + +#endif /* _MD5_H */ diff --git a/lib_generic/md5.c b/lib_generic/md5.c index a51da45..3427172 100644 --- a/lib_generic/md5.c +++ b/lib_generic/md5.c @@ -27,7 +27,7 @@ #include linux/types.h #include linux/string.h -#include md5.h +#include u-boot-md5.h static void MD5Transform(__u32 buf[4], __u32 const in[16]); -- 1.5.4.23.gef5b9 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [RFC] Rename include/md5.h to u-boot-md5.h
cat /etc/redhat-release Red Hat Enterprise Linux WS release 3 (Taroon Update 6) On Wed, Apr 2, 2008 at 4:50 PM, Kumar Gala [EMAIL PROTECTED] wrote: On Apr 2, 2008, at 4:19 PM, Andy Fleming wrote: Some systems have md5.h installed in /usr/include/. This isn't the desired file (we want the one in include/md5.h). This will avoid the conflict. This fixes the host tools building problem Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- This fixes the problem for me, at least... Which is on a RHEL3 box? (cat /etc/redhat-release) - 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://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ 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] Add Vitesse 8601 support to TSEC driver
On Tue, Apr 1, 2008 at 8:33 AM, Andre Schwarz [EMAIL PROTECTED] wrote: Tor, after investigating the tsec code I'm wondering how your PHY works in RGMII mode ... I think that there are some things missing, e.g. taking RGMII into account during tsec_init. /* Init ECNTRL */ regs-ecntrl = ECNTRL_INIT_SETTINGS; If you look carefully, you'll notice that ecntrl's RPM bit is read-only. Those bits are configured by POR pin strappings. You may be more familiar with the UEC, which doesn't automatically detect the link type, but is otherwise fairly similar to the tsec. Andy - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ 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] Add Vitesse 8601 support to TSEC driver
On Tue, Apr 1, 2008 at 9:08 AM, Andre Schwarz [EMAIL PROTECTED] wrote: Tor, after investigating the tsec code I'm wondering how your PHY works in RGMII mode ... I think that there are some things missing, e.g. taking RGMII into account during tsec_init. /* Init ECNTRL */ regs-ecntrl = ECNTRL_INIT_SETTINGS; If you look carefully, you'll notice that ecntrl's RPM bit is read-only. Those bits are configured by POR pin strappings. sorry, my documentation (MPC8349EARM rev.1) declares this register read-write. Of course it will be configured by the HRCW but can be overwritten afterwards. If this is not true it's a documentation bug. Thank you for bringing this to my attention. It is almost certainly a bug. If you look at the 8349ERM (rather than the 8349EARM), you'll see that the bits are read-only (except for R100, which tsec.c does modify based on the link type). I will file a bug with the docs people. You may be more familiar with the UEC, which doesn't automatically detect the link type, but is otherwise fairly similar to the tsec. What do you mean ? I'm trying to get two VSC8601 RGMII PHYs running on a MPC8343B ... sorry, I forgot which ethernet controller you were using, and I'm not as familiar with the 83xx family as the 85xx family. Some of our parts have the QUICC Engine, which has an ethernet controller with some similar registers to the TSEC's. I was guessing that was why you thought those bits were writable, rather than a documentation bug, but clearly I was wrong. :) Andy Andy - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ 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 1/3] QE IO: Add initial data to pin configuration
On Mon, Mar 31, 2008 at 7:13 AM, David Saada [EMAIL PROTECTED] wrote: + +void qe_config_iopin(u8 port, u8 pin, int dir, int open_drain, int assign, You are going to find it very hard to get patches accepted if you can't find a way to send without line wrap errors. Andy - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Fix fdt set command to conform to dts spec
The fdt set command was treating properties specified as 00 and 0011 as byte streams, rather than as an array of cells. As we already have syntax for expressing the desire for a stream of bytes ([ xx xx ...]), we should use the syntax to describe arrays of cells, which are always 32-bits per element. If we imagine this likely (IMHO) scenario: fdt set /[EMAIL PROTECTED] reg 1 With the old code, this would create a bad fdt, since the reg cell would be made to be one byte in length. But the cell must be 4 bytes, so this would break mysteriously. Also, the dts spec calls for constants inside the angle brackets () to conform to C constant standards as they pertain to base. Take this scenario: fdt set /[EMAIL PROTECTED] reg 0xe25\ 0x1000 The old fdt command would complain that it couldn't parse that. Or, if you wanted to specify that a certain clock ran at 33 MHz, you'd be required to do this: fdt set /mydev clock 1f78a40 Whereas the new code will accept decimal numbers. While I was in there, I extended the fdt command parser to handle property strings which are split across multiple arguments: fdt set /[EMAIL PROTECTED] interrupts 33 2 34 2 36 2 fdt p /[EMAIL PROTECTED] [EMAIL PROTECTED] { interrupts = 0x21 0x2 0x22 0x2 0x24 0x2; }; Lastly, the fdt print code was rearranged slightly to print arrays of cells if the length of the property is a multiple of 4 bytes, and to not print leading zeros. Signed-off-by: Andy Fleming [EMAIL PROTECTED] --- common/cmd_fdt.c | 137 ++--- 1 files changed, 67 insertions(+), 70 deletions(-) diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index a52284e..7436a95 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -42,8 +42,7 @@ DECLARE_GLOBAL_DATA_PTR; static int fdt_valid(void); -static int fdt_parse_prop(char *pathp, char *prop, char *newval, - char *data, int *len); +static int fdt_parse_prop(char **newval, int count, char *data, int *len); static int fdt_print(const char *pathp, char *prop, int depth); /* @@ -202,7 +201,7 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) if (argc == 4) { len = 0; } else { - ret = fdt_parse_prop(pathp, prop, argv[4], data, len); + ret = fdt_parse_prop(argv[4], argc - 4, data, len); if (ret != 0) return ret; } @@ -464,69 +463,77 @@ static int fdt_valid(void) /* * Parse the user's input, partially heuristic. Valid formats: - * 00- hex byte - * 0011 - hex half word (16 bits) - * 00112233 - hex word (32 bits) - * - hex double words (64 bits) are not supported, must use - * a byte stream instead. + * 0x00112233 4 05 - an array of cells. Numbers follow standard + * C conventions. * [00 11 22 .. nn] - byte stream * string- If the the value doesn't start with or [, it is * treated as a string. Note that the quotes are * stripped by the parser before we get the string. + * newval: An array of strings containing the new property as specified + * on the command line + * count: The number of strings in the array + * data: A bytestream to be placed in the property + * len: The length of the resulting bytestream */ -static int fdt_parse_prop(char *pathp, char *prop, char *newval, - char *data, int *len) +static int fdt_parse_prop(char **newval, int count, char *data, int *len) { char *cp; /* temporary char pointer */ + char *newp; /* temporary newval char pointer */ unsigned long tmp; /* holds converted values */ + int stridx = 0; - if (*newval == '') { - /* -* Bigger values than bytes. -*/ - *len = 0; - newval++; - while ((*newval != '') (*newval != '\0')) { - cp = newval; - tmp = simple_strtoul(cp, newval, 16); - if ((newval - cp) = 2) { - *data = tmp 0xFF; - data += 1; - *len += 1; - } else if ((newval - cp) = 4) { - *(uint16_t *)data = __cpu_to_be16(tmp); - data += 2; - *len += 2; - } else if ((newval - cp) = 8) { - *(uint32_t *)data = __cpu_to_be32(tmp); - data += 4; - *len += 4; - } else { + *len = 0; + newp = newval[0]; + + /* An array of cells */ + if (*newp == '') { + newp++; + while ((*newp != '') (stridx
Re: [U-Boot-Users] Release status - open patches, pull requests etc.
On Fri, Mar 28, 2008 at 9:46 AM, David Saada [EMAIL PROTECTED] wrote: Wolfgang Denk wrote: Hi everybody, MPC85xx, MPC83xx: Add/Fix UPM configuration support QE IO: Add initial data to pin configuration + read/write functions QE UEC: Add MII Commands QE UEC: Extend number of supported UECs to 4 David, I ran into difficulties applying your QE IO patch, due to mailer mangling again, I'm afraid. It looked like there weren't *too* many, so I may manage to do it by hand, but if you can find some way to send me the 85xx-related patches in a non-mangled format, I would definitely get them in before Monday. Andy - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [RFC][PATCH 1/1] Add board_eth_init() function
On Tue, Mar 25, 2008 at 11:33 AM, Stefan Roese [EMAIL PROTECTED] wrote: On Tuesday 25 March 2008, Andy Fleming wrote: I thought about this some more, and the problem is that cpu_eth_init() and board_eth_init() are mutually exclusive, with board_eth_init() having a higher priority. I think the following will work, but would appreciate some feedback. I'm not sure that's necessarily the case. Imagine, for instance, an 85xx board that (for some reason) has on-board ethernet. I believe some of the DS systems do this. So the 85xx has 4 nics which the SOC knows how to initialize. But the board has an additional driver to init. Why not just allow them both? Image a board that doesn't want all CPU (SoC) interfaces to get initialized. If for such a board a cpu-specific init routine exists, there is no chance to not enable (init) all those cpu interfaces as done in cpu_eth_init(). With this approach of mutually exclusive routines, it could define it's board_eth_init() and init only the Soc interfaces really needed. Plus additional ones of course. Does this make sense? Well, it makes sense to a degree. However, we already have a mechanism for enabling or disabling individual interfaces. The config file for each board can be used to determine which interfaces are setup by the cpu_eth_init() function. I don't really object to having them mutually exclusive. But I suspect the most common use case would become: board_eth_init() { my_special_eth_init(bis); cpu_eth_init(bis); } And if everyone's going to do that, why bother making the functions mutually exclusive? Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] Add support for new AVR32 board
On Mon, Mar 10, 2008 at 9:17 AM, Ben Warren [EMAIL PROTECTED] wrote: Hi Alex, +extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); + +#ifdef CONFIG_CMD_NET +void hammerhead_eth_initialize(bd_t *bi) +{ + macb_eth_initialize(0, (void *)MACB0_BASE, bi-bi_phy_id[0]); +} +#endif Would you mind changing this name to board_eth_initialize(bd_t *bi)? I'm working on a rework of the net library and making this name change now will avoid doing it later. I think you'll be able to figure out where this is going... Hm. I have a patch to clean up tsec initialization a bit. I'm wondering how this affects the tsec (and my patch). And there are other issues with calling the function something generic like that. The Freescale SOCs have 2 or more (I think we have 5 on one of our chips) TSEC devices. How do you deal with separating out multiple controllers? Also, won't this break if you have more than one type of controller on a board? Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Flash write crash on MPC8548CDS
Ok closer look revealed this entry. == tlb.c snip === /* * TLB 6: 64M Cacheable, non-guarded * 0xf000_ 64M LBC SDRAM */ SET_TLB_ENTRY(1, CFG_LBC_CACHE_BASE, CFG_LBC_CACHE_BASE, MAS3_SX|MAS3_SW|MAS3_SR, 0, 0, 6, BOOKE_PAGESZ_64M, 1), = And I don't even have SDRAM :)... but in order to stay as close to my reference, mpc8548cds, I thought the extra tlb entry could not hurt me. I have remarked it and the Exception did not occur again. Excellent! my last unknown / not understood corner... is why the speculative loads occur in the first time. This is a common fact of CPUs. In order to improve performance, the cpu will often start executing code paths before it knows whether those paths will be taken. If the path is taken, the results are committed, and you don't have to wait. If the path isn't taken, the results are ignored. When the path is not taken, it's likely that the registers aren't in a sensible state, so random addresses can end up getting loaded. When things aren't mapped, the loads don't happen (speculative instructions aren't allowed to cause exceptions). Also, pages that are marked guarded don't allow speculative access (reading from IO regions can have side-effects, so it's not allowed to do so speculatively). After the first speculative load, either the branch predictor starts being right from them on, or it just isn't detected because the subsequent errors are gated behind the LBC interrupt logic, waiting for someone to clear it. Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Flash write crash on MPC8548CDS
On Tue, Mar 11, 2008 at 1:30 PM, Eran Liberty [EMAIL PROTECTED] wrote: Hi Andy, I am bringing us back online as I think your insights might enlighten others who might be googleing for answers. (I know i try my best when faced with problems) Oops, yes. I hit the wrong button. I meant to keep it on the list, too. Notice that r27 is 0xf103 considering the command I did, cp.b 0xff80 0xff00 8, I should have never accessed 0xf103. Yes. My theory is that it's a speculative load, ie the processor ran code speculatively, and started a load to memory. However, it would only do that if there's a TLB entry for that address. What is your INIT_RAM_ADDR? I have used mpc8548cds as a reference so my local bus is mapped from 0xf000 - 0x law.c will have this line: == law.c snip == /* LBC window - maps 256M 0xf000 - 0x */ SET_LAW_ENTRY(8, CFG_LBC_SDRAM_BASE, LAW_SIZE_256M, LAW_TRGT_IF_LBC), So that's definitely why the LBC is involved. But I'm pretty sure there needs to be a TLB entry before the core will put the transaction on the bus. /* * TLB 0: 16M Non-cacheable, guarded * 0xff00 16M FLASH * Out of reset this entry is only 4K. */ SET_TLB_ENTRY(1, CFG_BOOT_BLOCK, CFG_BOOT_BLOCK, MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 0, 0, BOOKE_PAGESZ_16M, 1), Right, look for any other entries that might be mapping the error address. So we have local bus window mapping but not tlb mapping, which should be ok, because I should have accessed only addresses within the tlb mapped range. so I guess my follow up questions are: - Why does my u-boot thy to access this non flash address.? My guess is it's a speculative load. - Why is this a first time problem only? The code that reports the exception doesn't actually clear the condition, so further such events can't cause this problem. Also, if it's a speculative load, the address will be fairly random, and so it just may not hit that window again. - Flash is written ok in the end. Why does it not hurt that actual write? Interrupts are disabled during the write. So the write will complete, then the exception fires. The speculative load shouldn't cause real problems since the code is not expecting that read to happen. Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
Argh. I didn't notice the last one was somewhat malformed. The newer git helpfully checks the remote to make sure this request is sensible, and failed due to the corporate firewall. Anyway, I've solved the problem in my script, and these patches fix the known problems with 85xx in rc2. The following changes since commit b29661fc115106454288051bc9a488351ce8: Wolfgang Denk (1): Coding style cleanup. Prepare v1.3.2-rc2 release candidate are available in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git master Andy Fleming (2): Invalidate INIT_RAM TLB mappings Fix source for ECM error IVPR Jean-Christophe PLAGNIOL-VILLARD (2): sbc8548: Fix cfi flash bank declaration sbc8548: Fix Revision reading and unused variable 'path' Kumar Gala (1): 85xx: Don't icbi when unlocking the cache board/sbc8548/sbc8548.c |6 -- cpu/mpc85xx/interrupts.c |2 +- cpu/mpc85xx/start.S | 18 +- include/configs/sbc8548.h |2 +- 4 files changed, 19 insertions(+), 9 deletions(-) - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Don't icbi when unlocking the cache
On Tue, Feb 19, 2008 at 10:43 PM, Kumar Gala [EMAIL PROTECTED] wrote: There is no reason to icbi when invalidating the temporary stack in the d-cache. Its impossible on e500 to have the i-cache contain any addresses in the temp stack and it can be problematic in generating transactions on the bus to non-valid addresses. Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, with changes required due to applying to the same spot as the INIT_RAM fix. Thanks, Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: get_tbclk() speed up and rounding fix
On Tue, Feb 12, 2008 at 9:32 AM, Kumar Gala [EMAIL PROTECTED] wrote: From: James Yang Speed up get_tbclk() by referencing pre-computed bus clock frequency value from global data instead of sys_info_t. Fix rounding of result to nearest; previously it was rounding upwards. Signed-off-by: James Yang Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied to for-1.3.3, thanks Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Show DDR memory data rate in addition to the memory clock frequency.
On Tue, Feb 12, 2008 at 9:33 AM, Kumar Gala [EMAIL PROTECTED] wrote: From: James Yang Show the DDR memory data rate in addition to the memory clock frequency. For DDR/DDR2 memories the memory data rate is 2x the memory clock. Signed-off-by: James Yang Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied to for-1.3.3, thanks - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Speed up get_ddr_freq() and get_bus_freq()
On Tue, Feb 12, 2008 at 9:57 AM, Kumar Gala [EMAIL PROTECTED] wrote: From: James Yang get_ddr_freq() and get_bus_freq() used get_sys_info() each time they were called. However, get_sys_info() recalculates extraneous information when called each time. Have get_ddr_freq() and get_bus_freq() return memoized values from global_data instead. Signed-off-by: James Yang Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied to for-1.3.3, thanks - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Expand CCSR space with more DDR controller registers.
On Tue, Feb 12, 2008 at 4:57 PM, Kumar Gala [EMAIL PROTECTED] wrote: Signed-off-by: James Yang [EMAIL PROTECTED] Signed-off-by: Jon Loeliger [EMAIL PROTECTED] Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied to for-1.3.3, thanks - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] Add support for Generic PHY in macb
On Sun, Feb 24, 2008 at 7:30 AM, [EMAIL PROTECTED] wrote: Hi Quoting Michael Schwingen [EMAIL PROTECTED]: If yes, you simply need to define the right PHY address in your board config, and it should work without the loop. ... if I understand the physical address is latched during power on and if the logic is not good maybe it can be latched a different addresss in different session. I like somenthing that permits at software developer to easy search for the physical address. That's not a very good solution. If the logic is bad, that's an actual hardware bug. If you can't guarantee the PHY will have the intended address, then if you have more than one PHY, you'll have no way of knowing which one is connected to which ethernet controller. Also, if they can end up at arbitrary addresses, you can get an address conflict, and then you're hosed. In other words, you might be ok with doing such a workaround during bringup, but it's not a guaranteed workaround for a production system. Get your hardware designer to not screw up the address latching And, speaking from experience, you can run into a large number of problems with trying to search for the PHY: * There's no ordering requirement. I've seen boards where they put the PHYs for my four controllers at 17, 1, 2, 3 * If you have multiple *types* of controller on the same bus, even if you have the right internal order, you now need to guarantee that the drivers are initialized in the right order. For example, I have a processor that has two tsec-style controllers and two ucc_geth-style controllers. They share the same MDIO bus, so the order could be tsec, tsec, ucc, ucc. Or it could be ucc, ucc, tsec, tsec. I forget which one it actually is, but the important thing is that whichever way it is, the other way is perfectly reasonable. Any scanning algorithm that would work one way (assuming you had some way of telling other drivers that you were using the PHYs you found) would fail the other way. * The number of PHYs may not be one-to-one for the controllers. For instance, I have a board with 4 ethernet controllers. It has the option of using either the 4 normal PHYs, or 4 SGMII PHYs. Which ones they use are selected by a switch. However, all eight PHYs are on the bus. If I scanned, I would find the normal PHYs first, and that would be wrong if I'm in SGMII mode. In short (I know, too late), there is not a reliable way to determine the address of a controller's PHY dynamically. There are a number of instances where it works, but there's no requirement on the hardware designers to allow any such scheme to work in the future. To me, this means the PHY address must be knowable ahead of time. Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] U-Boot v1.3.2-rc2 released
sbc8548: sbc8548.c: In function 'checkboard': sbc8548.c:61: warning: type defaults to 'int' in declaration of 'type name' sbc8548.c: In function 'ft_pci_setup': sbc8548.c:536: warning: unused variable 'path' cfi_flash.c:161: warning: excess elements in array initializer cfi_flash.c:161: warning: (near initialization for 'bank_base') Wolfgang, I apologize: I've applied patches that fix this problem, but I have not yet pushed them out and requested that you pull them in. I'm currently trying to track down what is causing an exception on the 8548CDS (and, possibly, other 85xx boards), and I wanted to get that into my tree before I did a pull request. I've identified what appears to be a fix, but I want to understand it before I push it out. :) As the fix is to put things back the way they were, I will make sure to do so before you release 1.3.2-final. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Flash write crash on MPC8548CDS
On Wed, Feb 20, 2008 at 1:13 PM, [EMAIL PROTECTED] wrote: 1.3.2-rc1-gb6f29c84-dirty crashes on the very first attempt to write in Flash. After that it gets back to the prompt and _ALL_ subsequent writes work just fine. Only the very first one fails. How did you program u-boot into the flash? - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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 0/2] sbc8548: Fix cfi flash bank declaration
On Feb 17, 2008 3:56 PM, Jean-Christophe PLAGNIOL-VILLARD [EMAIL PROTECTED] wrote: Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD [EMAIL PROTECTED] Applied, thanks! Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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 1/2] sbc8548: Fix Revision reading and unused variable 'path'
On Feb 17, 2008 3:56 PM, Jean-Christophe PLAGNIOL-VILLARD [EMAIL PROTECTED] wrote: Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD [EMAIL PROTECTED] Applied, thanks! Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are found in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git Kumar Gala (1): QE: Move FDT support into a common file Timur Tabi (1): 85xx,86xx: Determine I2C clock frequencies and store in global_data common/fdt_support.c | 48 -- cpu/mpc83xx/fdt.c | 13 +- cpu/mpc85xx/fdt.c |8 +-- cpu/mpc85xx/speed.c |3 + cpu/mpc86xx/speed.c |2 + drivers/qe/Makefile |3 +- drivers/qe/fdt.c | 90 + drivers/qe/qe.h |1 + include/asm-ppc/global_data.h |6 ++- 9 files changed, 108 insertions(+), 66 deletions(-) create mode 100644 drivers/qe/fdt.c - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] Please pull u-boot-mpc85xx.git
are found in the git repository at: git://www.denx.de/git/u-boot-mpc85xx.git Timur Tabi (1): 85xx,86xx: Determine I2C clock frequencies and store in global_data cpu/mpc85xx/speed.c |3 +++ cpu/mpc86xx/speed.c |2 ++ include/asm-ppc/global_data.h |6 -- 3 files changed, 9 insertions(+), 2 deletions(-) - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Add the concept of CFG_CCSRBAR_PHYS
On Jan 30, 2008 3:28 PM, Kumar Gala [EMAIL PROTECTED] wrote: When we go to 36-bit physical addresses we need to keep the concept of the physical CCSRBAR address seperate from the virtual one. For the majority of boards CFG_CCSBAR_PHYS == CFG_CCSRBAR Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied, thanks! - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] 85xx: Added support for multicore boot mechanism
On Feb 1, 2008 10:19 AM, Kumar Gala [EMAIL PROTECTED] wrote: Added the cpu command that provides a generic mechanism to get status, reset, and release secondary cores in multicore processors. Added support for using the ePAPR defined spin-table mechanism on 85xx. Signed-off-by: Kumar Gala [EMAIL PROTECTED] Applied to for-1.3.3, thanks (The CCSRBAR patch also went into my for-1.3.3 branch) - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] 85xx, 86xx: Determine I2C clock frequencies and store in global_data
On Jan 9, 2008 2:35 PM, Timur Tabi [EMAIL PROTECTED] wrote: Update global_data to define i2c1_clk and i2c2_clk to 85xx and 86xx. Update the get_clocks() function in 85xx and 86xx to determine the I2C clock frequency and store it in gd-i2c1_clk and gd-i2c2_clk. Signed-off-by: Timur Tabi [EMAIL PROTECTED] Acked-by: Andy Fleming [EMAIL PROTECTED] - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] QE IO: Add initial data to pin configuration + read/write functions
On Jan 16, 2008 3:00 AM, David Saada [EMAIL PROTECTED] wrote: So, would you like me to repost this patch, with the added argument in all the relevant board tables? Yes, that would be great. Another thing regarding this: I also have debug commands for reading/writing parallel I/O pins (pio read/write). I can add it as cmd_pio under the common folder. Question is whether this is not too much Freescale oriented. If not - it can be added to this patch. Send it as a separate patch, and we can take a look. Andy - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ 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] TSEC driver: Change MDIO support to allow access to any PHYs on the MDIO bus
On Jan 16, 2008 5:40 AM, [EMAIL PROTECTED] wrote: The current TSEC driver limits MDIO access to the devices that have been configured as attached to a TSEC MAC. This patch allows access to any PHY device on the MDIO bus through the 'mii' commands. Signed-off-by: Michael Firth [EMAIL PROTECTED] Acked-by: Andy Fleming [EMAIL PROTECTED] - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users