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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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 3/4] 85xx: Add some L1/L2 SPR register definitions
On Mon, Jul 14, 2008 at 2:07 PM, Kumar Gala <[EMAIL PROTECTED]> wrote: > Add new L1/L2 SPRs related to e500mc cache config and control. > > 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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 5/7] sbc8560: add default fdt values
On Fri, Jul 11, 2008 at 5:02 PM, Paul Gortmaker <[EMAIL PROTECTED]> wrote: > Wolfgang Denk wrote: >>> +#define CONFIG_RAMBOOTCOMMAND \ >>> + "setenv bootargs root=/dev/ram rw " >>> \ >>> + "console=$consoledev,$baudrate $othbootargs;" \ >>> + "tftp $ramdiskaddr $ramdiskfile;" >>> \ >>> + "tftp $loadaddr $bootfile;" >>> \ >>> + "tftp $fdtaddr $fdtfile;" >>> \ >>> + "bootm $loadaddr $ramdiskaddr $fdtaddr" >>> + >>> +#define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND >>> >> >> Indentation by TAB, please. >> > > Ah, sorry -- I inherited that verbatim from MPC8560ADS.h -- I'll > respin and send an independent fix for MPC8560ADS as well. I made the changes for you, and added the change for the 8560 as a separate patch. 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=100&url=/ ___ 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 * #define CONFIG_IPADDR * #define CONFIG_GATEWAYIP * #define CONFIG_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=100&url=/ ___ 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=100&url=/ ___ 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: fix upmconfig
On Thu, Jul 10, 2008 at 7:36 AM, Sebastian Siewior <[EMAIL PROTECTED]> wrote: > This actually shouldn't work. Imagina 0xf000 base address that > gets translated into 0x1e000 and causes my box to hang. Writing > to 0xf000 seems the better way. > Also don't compare against the UPM mask but agaist the MSEL mask. > > Cc: Sergei Poselenov <[EMAIL PROTECTED]> > Cc: Andy Fleming <[EMAIL PROTECTED]> > Signed-off-by: Sebastian Siewior <[EMAIL PROTECTED]> > --- > cpu/mpc85xx/cpu.c |7 +++ > 1 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c > index 0497422..2373b4a 100644 > --- a/cpu/mpc85xx/cpu.c > +++ b/cpu/mpc85xx/cpu.c > @@ -71,8 +71,7 @@ struct cpu_type *identify_cpu(u32 ver) > > static void set_lcb_clock(uint clkdiv) > { > - volatile immap_t *immap = (immap_t *)CFG_IMMR; > - volatile ccsr_lbc_t *lbc= &immap->im_lbc; > + volatile ccsr_lbc_t *lbc = (void *)(CFG_MPC85xx_LBC_ADDR); >uint lcrr; > >lcrr = lbc->lcrr; > @@ -352,8 +351,8 @@ void upmconfig (uint upm, uint * table, uint size) > i++, brp += 2, orp += 2) { > >/* Look for a valid BR with selected UPM */ > - if ((in_be32(brp) & (BR_V | upmmask)) == (BR_V | upmmask)) { > - dummy = (volatile u8*)(in_be32(brp) >> BR_BA_SHIFT); > + if ((in_be32(brp) & (BR_V | BR_MSEL)) == (BR_V | upmmask)) { > + dummy = (volatile u8*)(in_be32(brp) & BR_BA); This looks pretty good to me, but I'm not very familiar with this code. Could you explain a little more deeply what is wrong with the old way, and why the new way is better? I think I understand the problem with the BA_SHIFT (actually, it alarms me, a bit), but I'm not so sure about using MSEL on one side of the ==, and not the other. 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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=100&url=/ ___ 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] -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][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] [PATCH v2 0/12] 85xx: various fixes for TQM85xx and support for TQM8548
On Thu, Jun 5, 2008 at 6:11 AM, Wolfgang Grandegegr <[EMAIL PROTECTED]> wrote: > this is v2 of patches fixing various issues with TQM85xx modules and adding > support for TQM8548 modules from TQ Components GmbH (http://www.tqc.de). > > Note: The patches rely on "[PATCH v2] TQM: move TQM boards to board/tqc" > sent a few minutes ago to this list. > > Wolfgang. BTW, I applied all of these while the window was open, I just never sent a confirmation email. Thanks! 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
[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 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 #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,
[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 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 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
Re: [U-Boot-Users] [PATCH 1/4] Change initdram() return type to phys_size_t
On Thu, Jun 12, 2008 at 11:00 AM, Becky Bruce <[EMAIL PROTECTED]> wrote: > Bah - I thought I had updated my tree right before I sent that out. > Not sure what happened here. Sorry about that, and thanks, Kumar! Your patch was applied after he pulled all the custodian trees. So the patch probably conflicted with one (or more) of them. 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 +#include #else #include #endif /* USE_HOSTCC */ #include #include -#include #include 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 +#include #else #include #endif /* USE_HOSTCC */ #include -#include #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] 83xx/85xx/86xx: add more MxMR local bus definitions
On Mon, Jun 2, 2008 at 5:09 AM, Wolfgang Grandegger <[EMAIL PROTECTED]> wrote: > 83xx/85xx/86xx: add more MxMR local bus definitions > > This patch adds more macro definitions for the UPM Machine Mode Registers > They are copied from "include/mpc82xx.h" to simplify the merge of all 8xxx > common local bus definitions into include/asm-ppc/fsl_lbc.h. They are > required for my forthcoming FSL NAND UPM driver re-write and the support > for the TQM8548 module. 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
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
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
[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|
[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
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 >>> + >>> +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 1/2] 83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h
On Wed, May 28, 2008 at 9:20 AM, Anton Vorontsov <[EMAIL PROTECTED]> wrote: > This patch moves Freescale Localbus defines out of mpc83xx.h, so we could > use it on MPC85xx and MPC86xx processors. > > Signed-off-by: Anton Vorontsov <[EMAIL PROTECTED]> Acked-by: Andy Fleming <[EMAIL PROTECTED]> - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
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 > #include > #include > +#include > > 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] 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 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] 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
Re: [U-Boot-Users] [PATCH] TQM: move TQM boards to board/tqc
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. 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] Initial support for ABB Syscon III
On Fri, May 9, 2008 at 9:35 AM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > From: Sergei Poselenov <[EMAIL PROTECTED]> > > Signed-off-by: Sergei Poselenov <[EMAIL PROTECTED]> Is this board different from the socrates board that went in? The code appears identical (though I admit I did not check thoroughly). Maybe we could unify them into one board, and just condense the tiny differences into a small number of #ifdefs (or even use the config file)? 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: 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
[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 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] [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 #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"); *o
[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
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] 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 #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"); *o
[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] 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] 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] 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
[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
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
[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
[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
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_TX<<14)|(CFG_VSC8601_SKEW_RX<<12) > >> +{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
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_TX<<14)|(CFG_VSC8601_SKEW_RX<<12) > +{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] fsl_pci: Only modify registers if we have them
On Wed, Apr 23, 2008 at 4:58 PM, Kumar Gala <[EMAIL PROTECTED]> wrote: > pme_msg_det exists only on PCIe controllers only set it if we are a "bridge". > > Signed-off-by: Kumar Gala <[EMAIL PROTECTED]> Acked-by: Andy Fleming <[EMAIL PROTECTED]> Though it'd be nice if you at least put a semicolon between "controllers" and "only". ;) - 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] Add eSDHC driver
This is the SD/MMC controller on several of Freescale's more recent parts --- > Hi Andy, > Where could we find the driver that works with MMCv4 on at91sam9x? > Best regards Pierre, I don't have a driver that works on at91sam9x, I'm afraid. I have a driver that nearly works on an mpc837x. However, some of it is certainly right, and that may help you. Also, some of it is wrong (I get intermittent failures on MMC cards), and maybe someone will look at this driver, and see what I'm doing wrong. Makefile |2 + drivers/mmc/Makefile | 46 ++ drivers/mmc/fsl_esdhc.c| drivers/mmc/fsl_esdhc.h| 208 +++ include/asm-ppc/arch-mpc83xx/mmc.h |1 + 5 files changed, 1368 insertions(+), 0 deletions(-) create mode 100644 drivers/mmc/Makefile create mode 100644 drivers/mmc/fsl_esdhc.c create mode 100644 drivers/mmc/fsl_esdhc.h create mode 100644 include/asm-ppc/arch-mpc83xx/mmc.h diff --git a/Makefile b/Makefile index e5b4210..cd614a5 100644 --- a/Makefile +++ b/Makefile @@ -214,6 +214,7 @@ LIBS += drivers/hwmon/libhwmon.a LIBS += drivers/i2c/libi2c.a LIBS += drivers/input/libinput.a LIBS += drivers/misc/libmisc.a +LIBS += drivers/mmc/libmmc.a LIBS += drivers/mtd/libmtd.a LIBS += drivers/mtd/nand/libnand.a LIBS += drivers/mtd/nand_legacy/libnand_legacy.a @@ -383,6 +384,7 @@ TAG_SUBDIRS += drivers/hwmon TAG_SUBDIRS += drivers/i2c TAG_SUBDIRS += drivers/input TAG_SUBDIRS += drivers/misc +TAG_SUBDIRS += drivers/mmc TAG_SUBDIRS += drivers/mtd TAG_SUBDIRS += drivers/mtd/nand TAG_SUBDIRS += drivers/mtd/nand_legacy diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile new file mode 100644 index 000..06e4e88 --- /dev/null +++ b/drivers/mmc/Makefile @@ -0,0 +1,46 @@ +# +# (C) Copyright 2006 +# Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB:= $(obj)libmmc.a + +COBJS-y += fsl_esdhc.o + +COBJS := $(COBJS-y) +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +all: $(LIB) + +$(LIB):$(obj).depend $(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c new file mode 100644 index 000..29af92a --- /dev/null +++ b/drivers/mmc/fsl_esdhc.c @@ -0,0 +1, @@ +/* + * Copyright 2007, Freescale Semiconductor, Inc + * Andy Fleming + * + * Based vaguely on the pxa mmc code: + * (C) Copyright 2003 + * Kyle Harris, Nexus Technologies, Inc. [EMAIL PROTECTED] + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "fsl_esdhc.h" + +#ifdef CONFIG_MMC +DECLARE_GLOBAL_DATA_PTR; + +struct fsl_esdhc { + uintdsaddr; + uintblkattr; + uintcmdarg; + uintxfertyp; + uintcmdrsp0; + uintcmdrsp1; + uintcmdrsp2; + uintcmdrsp3; + uintdatport; + uintprsstat; + uintproctl; + uintsysctl; + uintirqstat; + uintirqstaten; + uintirqsigen; +
[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: Fix size of cpu-release-addr property Timur Tabi (1): Fix calculation of I2C clock for some 85xx chips cpu/mpc85xx/fdt.c|2 +- cpu/mpc85xx/speed.c | 31 ++- include/asm-ppc/immap_85xx.h |4 +++- 3 files changed, 34 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 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 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]> Shouldn't this be two patches? One to add the macros, and then one to use them. Technically, I'd be overstepping my authority to apply the first patch. Though I'd be happy to apply it if Wolfgang ACKs it. 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 (2): 85xx: Fix size of cpu-release-addr property 85xx: Round up frequency calculations to get reasonable output Timur Tabi (1): Fix calculation of I2C clock for some 85xx chips cpu/mpc85xx/cpu.c| 18 +++--- cpu/mpc85xx/fdt.c|2 +- cpu/mpc85xx/speed.c | 31 ++- include/asm-ppc/immap_85xx.h |4 +++- 4 files changed, 45 insertions(+), 10 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 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] [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] Fix calculation of I2C clock for some 85xx chips
On Fri, Apr 4, 2008 at 11:15 AM, Timur Tabi <[EMAIL PROTECTED]> wrote: > Some 85xx chips use CCB as the base clock for the I2C. Some use CCB/2, and > some use CCB/3. There is no pattern that can be used to determine which > chips use which frequency, so the only way to determine is to look up the > actual SOC designation and use the right value for that SOC. > > Update immap_85xx.h to include the GUTS PORDEVSR2 register. > > Signed-off-by: Timur Tabi <[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] [PATCH] 85xx: Round up frequency calculations to get reasonable output
On Fri, Apr 18, 2008 at 11:57 AM, 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]> > --- > cpu/mpc85xx/cpu.c | 18 +++--- > 1 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c > index dcd8817..6972bb1 100644 > --- a/cpu/mpc85xx/cpu.c > +++ b/cpu/mpc85xx/cpu.c > @@ -65,6 +65,11 @@ struct cpu_type cpu_type_list [] = { > CPU_TYPE_ENTRY(8572_E), > }; > > +static inline unsigned long integer_round (unsigned long val, unsigned long > div) > +{ > + return ((val + (div/2)) / div); > +} > + Ok, but I don't think we can really call it integer_round(). Can we call it something that reflects what it does? Like, rounded_divide() or something? 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] 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
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
[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 +#include #include 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 +#include #include #include #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 + +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 #include -#include +#include 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] [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] 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
[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_b
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
Re: [U-Boot-Users] [PATCH][resubmit] QE IO: Add initial data to pin configuration + read/write functions
On Mon, Mar 31, 2008 at 2:36 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). > Any chance you could split out the command code from this? That's really a separate piece of functionality. 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] 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
[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 (2): Add the Freescale PCI device IDs Update SVR numbers to expand support James Yang (4): 85xx: get_tbclk() speed up and rounding fix 85xx: Show DDR memory data rate in addition to the memory clock frequency. 85xx: Speed up get_ddr_freq() and get_bus_freq() 85xx: Expand CCSR space with more DDR controller registers. Jon Loeliger (1): FSL: Clean up board/freescale/common/Makefile Kumar Gala (6): 85xx: Add the concept of CFG_CCSRBAR_PHYS 85xx: Added support for multicore boot mechanism 85xx: Added support for multicore boot mechanism 85xx: Fix merge duplication 85xx: Update multicore boot mechanism to ePAPR v0.81 spec 85xx: Add cpu_mp_lmb_reserve helper to reserve boot page board/atum8548/tlb.c |2 +- board/freescale/common/Makefile| 12 +- board/freescale/common/{eeprom.c => cds_eeprom.c} |0 .../freescale/common/{ft_board.c => cds_pci_ft.c} |0 board/freescale/common/{via.c => cds_via.c}|0 board/freescale/mpc8540ads/tlb.c |2 +- board/freescale/mpc8541cds/Makefile| 17 +- board/freescale/mpc8541cds/tlb.c |2 +- board/freescale/mpc8544ds/tlb.c|2 +- board/freescale/mpc8548cds/Makefile| 17 +- board/freescale/mpc8548cds/tlb.c |2 +- board/freescale/mpc8555cds/Makefile| 17 +- board/freescale/mpc8555cds/tlb.c |2 +- board/freescale/mpc8560ads/tlb.c |2 +- board/freescale/mpc8568mds/Makefile|3 - board/freescale/mpc8568mds/tlb.c |2 +- board/freescale/mpc8610hpcd/Makefile |4 - board/mpc8540eval/tlb.c|2 +- board/pm854/tlb.c |2 +- board/pm856/tlb.c |2 +- board/sbc8548/tlb.c|2 +- board/sbc8560/tlb.c|2 +- board/stxgp3/tlb.c |2 +- board/stxssa/tlb.c |2 +- board/tqm85xx/tlb.c|2 +- common/Makefile|1 + common/cmd_mp.c| 93 + cpu/mpc85xx/Makefile |3 + cpu/mpc85xx/cpu.c | 102 ++- cpu/mpc85xx/cpu_init.c | 10 +- cpu/mpc85xx/fdt.c | 52 + cpu/mpc85xx/mp.c | 210 cpu/mpc85xx/mp.h | 20 ++ cpu/mpc85xx/release.S | 182 + cpu/mpc85xx/speed.c| 21 +-- cpu/mpc86xx/cpu.c |2 +- include/asm-ppc/global_data.h |2 - include/asm-ppc/immap_85xx.h | 29 +++- include/asm-ppc/processor.h| 44 +++-- include/common.h |7 + include/configs/ATUM8548.h |1 + include/configs/MPC8540ADS.h |1 + include/configs/MPC8540EVAL.h |1 + include/configs/MPC8541CDS.h |6 + include/configs/MPC8544DS.h|1 + include/configs/MPC8548CDS.h |6 + include/configs/MPC8555CDS.h |6 + include/configs/MPC8560ADS.h |1 + include/configs/MPC8568MDS.h |1 + include/configs/PM854.h|1 + include/configs/PM856.h|1 + include/configs/SBC8540.h |1 + include/configs/TQM85xx.h |1 + include/configs/sbc8548.h |1 + include/configs/sbc8560.h |1 + include/configs/stxgp3.h |1 + include/configs/stxssa.h |1 + include/pci_ids.h | 23 +++ 58 files changed, 794 insertions(+), 141 deletions(-) rename board/freescale/common/{eeprom.c => cds_eeprom.c} (100%) rename board/freescale/common/{ft_board.c => cds_pci_ft.c} (100%) rename board/freescale/common/{via.c => cds_via.c} (100%) create mode 100644 common/cmd_mp.c create mode 100644 cpu/mpc85xx/mp.c create mode 100644 cpu/mpc85xx/mp.h create mode 100644 cpu/mpc85xx/release.S -
Re: [U-Boot-Users] [PATCH] Add support for setting the I2C bus speed in fsl_i2c.c
On Wed, Mar 26, 2008 at 10:39 AM, Timur Tabi <[EMAIL PROTECTED]> wrote: > Timur Tabi wrote: > > Add support to the Freescale I2C driver (fsl_i2c.c) for setting and > querying > > the I2C bus speed. Current 8[356]xx boards define the CFG_I2C_SPEED macro, > > but fsl_i2c.c ignores it and uses conservative value when programming the > > I2C bus speed. > > Kim and Jon, > > I tested this patch on 8360, 8568, and 8641. Could you review this patch and > ack/nack? Andy said he'll pick it up if you guys ack it. Actually, looking at it, it's not really in my domain. It's a driver. I think Wolfgang is in charge of accepting a patch to drivers/. So I'll just Ack. I can pull it in if that's more convenient for Wolfgang, of course. Acked-by: Andy Fleming <[EMAIL PROTECTED]> - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://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] [RFC][PATCH 1/1] Add board_eth_init() function
On Tue, Mar 25, 2008 at 9:22 AM, Ben Warren <[EMAIL PROTECTED]> wrote: > Stefan Roese wrote: > > On Saturday 22 March 2008, Ben Warren wrote: > > Using Markus's idea, why not use a cpu (platform) specific *and* a board > > specific init function, both with an empty weak alias in the common eth.c > > code: > > > > cpu_eth_init(bis); > > board_eth_init(bis); > > > > 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? 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
Re: [U-Boot-Users] Flash write crash on MPC8548CDS
On Mon, Mar 10, 2008 at 7:35 AM, Eran Liberty <[EMAIL PROTECTED]> wrote: > Dear Andy, > > I experience the same behavior as ksi described. Sadly, you are experiencing a slightly different behavior. > > => cp.b FF80 FF00 8 > Copy to Flash... External Interrupt Exception at PC: 1ffc1dc0, SR: 29200, > vector=500 irq [EMAIL PROTECTED] You are getting source vector 3. This means the LBC is throwing off errors, rather than the ECM. Could you show me the result of running "md e005000"? Then we can see what sort of error is causing the exception. 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: Fix merge duplication
On Wed, Feb 27, 2008 at 10:00 PM, Kumar Gala <[EMAIL PROTECTED]> wrote: > ft_fixup_cpu() got duplicated in some merge snafu. Remove the duplicate. > > Signed-off-by: Kumar Gala <[EMAIL PROTECTED]> Ah. This was in the for-1.3.3 tree. I've applied it. Though people should not be surprised if that tree gets rebased when 1.3.2 finalizes. 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
> It is too late today but tomorrow I will try to write something in Flash > with cp.b and check if this still happens. > > Everything works OK with the old U-Boot that came with CDS though... Ok, I found the problem. Check my tree (u-boot-mpc85xx.git) now. It's got a patch which removes the mappings for INIT_RAM, thus preventing speculative loads from going out on the bus. 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: 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] 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: 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: 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: 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
[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
[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 ..BRANCH.NOT.VERIFIED.. 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