Re: [U-Boot] pull request for u-boot-tegra/master
Hi Allen, On Mon, 6 Aug 2012 15:46:22 -0700, Allen Martin amar...@nvidia.com wrote: -Original Message- From: Albert ARIBAUD [mailto:albert.u.b...@aribaud.net] Sent: Sunday, August 05, 2012 1:01 PM To: Albert ARIBAUD Cc: Tom Warren; si...@theia.denx.de; u-boot@lists.denx.de; Stephen Warren; Tom Warren Subject: Re: [U-Boot] pull request for u-boot-tegra/master Hi Albert, On Sun, 5 Aug 2012 21:46:21 +0200, Albert ARIBAUD albert.u.b...@aribaud.net wrote: Hi Tom, On Fri, 3 Aug 2012 16:35:40 -0700, Tom Warren twarren.nvi...@gmail.com wrote: Albert, Has this been pulled into ARM master? I don't think I saw a response from you, but I might have missed it. Sorry Tom, but I have been unavailable for some time and especially on jul 30 and 31, so no, it has not been pulled in. :( I am pulling it in right now, but I have sparse access to Internet right now. Seems like f414d013c5e129e66c04ff699bd60b34894d3d38 breaks a lot of builds with the stock Ubuntu linaro toolchain, e.g. -- $ ./MAKEALL jornada Configuring for jornada board... make: *** [jornada_config] Error 1 arm-linux-gnueabi-size: './u-boot': No such file make: *** No rule to make target `include/autoconf.mk', needed by `depend'. Stop. make: *** Waiting for unfinished jobs I think I found the problem. For some reason I don't fully understand when a board doesn't have ${soc} defined the following code in mkconfig: ( echo ARCH = ${arch} if [ ! -z $spl_cpu ] ; then echo 'ifeq ($(CONFIG_SPL_BUILD),y)' echo CPU= ${spl_cpu} echo else echo CPU= ${cpu} echo endif else echo CPU= ${cpu} fi echo BOARD = ${board} [ ${vendor} ] echo VENDOR = ${vendor} [ ${soc}] echo SOC= ${soc} ) config.mk causes the subshell to return a nonzero exit status. I think the behavior may change depending on what shell you have /bin/sh pointing to. Can you try out the following fix to verify? I'll put together a proper patch in the mean time diff --git a/mkconfig b/mkconfig index 07031c6..d3363c6 100755 --- a/mkconfig +++ b/mkconfig @@ -144,7 +144,8 @@ fi echo BOARD = ${board} [ ${vendor} ] echo VENDOR = ${vendor} -[ ${soc}] echo SOC= ${soc} ) config.mk +[ ${soc}] echo SOC= ${soc} +exit 0 ) config.mk # Assign board directory to BOARDIR variable if [ -z ${vendor} ] ; then Seems to work with this fix applied on top of the current tegra/master. Tom, can you fix the branch so that the original commit (f414d013...) contains the fix above, rather than just adding the fix on top of the branch? That'll help any bisecting through this branch's commits. Also, Allen: --- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. --- Can this be removed from future e-mails to the list? Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] mkconfig: fix failure on boards that don't define soc
Hi Allen, On Mon, 6 Aug 2012 17:07:25 -0700, Allen Martin amar...@nvidia.com wrote: On Mon, Aug 06, 2012 at 05:04:28PM -0700, Allen Martin wrote: Fix a configure failure on boards that don't define soc. The exit status of the subshell was propogating up and causing mkconfig to fail. Add an explicit exit 0 to the subshell to fix this. Signed-off-by: Allen Martin amar...@nvidia.com I ran a full MAKEALL -a arm on a system where I reproduced the failure on jornada previously and it ran clean. -Allen Sorry, Allen, missed this. I'd rather have this fix directly corrected in the original tegra/master commit so that bisecting remains feasible around this. Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/6] powerpc/corenet_ds: Update README.srio-boot-corenet
Hi Andy, It's so long time those patches resided in open source, and there are no any comments. http://patchwork.ozlabs.org/patch/163499/ So could you please help to apply them? Following are some descriptions for this set of patches excerpt from the e-mail sent to you at June 1. .. Now I finished the function based your comment and add the new module of boot from PCIE. Right now we just need to build master image for boot from SRIO and PCIE with normal configuration, for example with: P4080DS_config And then just need to set the environment bootmaster to SRIO1' or PCIE1. For slave image boot from SRIO and PCIE, just need one build target: P4080DS_SRIO_PCIE_BOOT_config Overall, we now just need one special build configuration P4080DS_SRIO_PCIE_BOOT_config for both boot from SRIO and PCIE. .. Thanks a lot! On Thu, 2012-06-07 at 14:43 +0800, Liu Gang wrote: Update some descriptions due to the implementation changes: For master: Get rid of the SRIOBOOT_MASTER build target, and to support for serving as a SRIO boot master via environment variable. For slave: 1. When compile the slave image for boot from SRIO, no longer need to specify which SRIO port it will boot from. 2. All slave's cores should be in hold off. Signed-off-by: Liu Gang gang@freescale.com --- doc/README.srio-boot-corenet | 70 -- 1 files changed, 33 insertions(+), 37 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] at91: Add support for taskit AT91SAM9G20 boards.
Dear Markus Hubig, On 06.08.2012 18:49, Markus Hubig wrote: On Mon, Aug 06, 2012 at 03:01:40PM +0200, Andreas Bießmann wrote: On 06.08.2012 11:11, Markus Hubig wrote: +static unsigned int saved_state[3] = {STATUS_LED_OFF, + STATUS_LED_OFF, STATUS_LED_OFF}; + +void coloured_LED_init(void) +{ + /* Clock is enabled in board_early_init_f() */ But coloured_LED_init() is called way before! Beware, this coloured LED stuff is sometimes used for very early debug purposes. To get this working you will need to switch the clocks here. If you not insist on this colour LED framework I would appreciate to not add this coloured_LED_init for the stamp9g20 but use the status LED framework - README.LED Are you shure about this? No, I've not worked with that status LED thing. Contrastingly I thought that LED stuff is at91 specific. But there are some other ARM SoC using this colored LED and status LED thing. So this appears to be a wrong decision. Is I just remove this and put the + at91_set_gpio_output(CONFIG_RED_LED, 1); + at91_set_gpio_output(CONFIG_GREEN_LED, 1); + at91_set_gpio_output(CONFIG_YELLOW_LED, 1); in __led_init() I have no LED's at all and the commandlie tool 'led' stopps working... At all the Status LED stuff is a bit confusing ... - It's not clear to me if the STATUS_LED_BIT should be e.g. 1 or e.g. AT91_PIN_PC5. - It's not clear what the benefit of using this is. - It's not clear if the coloured_LED stuff is part of it or something extra. Sorry, I can not help you here. Maybe it's better is I just switch on the green LED in board_init? but you will loose the led cmd which may be useful. For now I just switched the clock on in coloured_LED_init. At least I have some LED now. Thats ok with me. Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/4] MX28: Fix up the MMC driver DMA mode
On 06/08/2012 23:23, Marek Vasut wrote: Dear Marek Vasut, The DMA mode didn't properly configure the DMA_ENABLE bit in CTRL1. Also, it was using SSP0 DMA channel for all SSP devices. Signed-off-by: Marek Vasut ma...@denx.de Cc: Wolfgang Denk w...@denx.de Cc: Stefano Babic sba...@denx.de Cc: Fabio Estevam feste...@freescale.com Cc: Andy Fleming aflem...@freescale.com Stefano, can you please apply these? They fix trouble and improve the platform and I ain't getting no reply from Andy and they shouldn't colide with anything in his tree. Ok - changes are only related to the MX28 driver. Maybe the patches should be in any case merged into u-boot-imx and not into u-boot-mmc. I am often unsure which custodian should take care of patches when they spread across more as one area. I will merge them now. Best regards, Stefano -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v5 4/5] OMAP: networking support for SPL
This patch adds support for networking in SPL. Some devices are capable of loading SPL via network so it makes sense to load the main U-Boot binary via network too. This patch tries to use existing network code as much as possible. Unfortunately, it depends on environment which in turn depends on other code so SPL size is increased significantly. No effort was done to decouple network code and environment so far. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- Changes in v3: - use BOOTP in SPL regardless of CONFIG_CMD_DHCP - add support for setting different VCI in SPL Changes in v4: - fix compilation of SPL's libcommon with CONFIG_HUSH_PARSER and CONFIG_BOOTD defined - rename spl_eth.c to spl_net.c - set ethact variable if device name is passed Changes in v5: - set up guards in cmd_nvedit.c more carefully - now we don't need command.c and only need main.c for show_boot_progress() so defined it to be noop and remove both files from SPL sources - SPL guards in command.c and main.c are no longer needed - add some guards in env_common.c - qsort.c is no longer needed - add guard to hashtable.c to save some space - undefine unneeded CONFIG_CMD_* while building SPL to save space arch/arm/cpu/armv7/omap-common/Makefile |3 ++ arch/arm/cpu/armv7/omap-common/spl.c |9 ++ arch/arm/cpu/armv7/omap-common/spl_net.c | 52 ++ arch/arm/include/asm/omap_common.h |4 +++ common/Makefile |4 +++ common/cmd_nvedit.c | 11 ++- common/command.c |2 +- common/env_common.c |7 ++-- include/bootstage.h |6 +++- lib/Makefile |9 -- lib/hashtable.c |2 ++ lib/vsprintf.c |2 +- net/bootp.c | 11 ++- net/net.c| 13 net/tftp.c |4 +++ spl/Makefile |3 ++ 16 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 arch/arm/cpu/armv7/omap-common/spl_net.c diff --git a/arch/arm/cpu/armv7/omap-common/Makefile b/arch/arm/cpu/armv7/omap-common/Makefile index d37b22d..f042078 100644 --- a/arch/arm/cpu/armv7/omap-common/Makefile +++ b/arch/arm/cpu/armv7/omap-common/Makefile @@ -53,6 +53,9 @@ endif ifdef CONFIG_SPL_YMODEM_SUPPORT COBJS += spl_ymodem.o endif +ifdef CONFIG_SPL_NET_SUPPORT +COBJS += spl_net.o +endif endif ifndef CONFIG_SPL_BUILD diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c index f0d766c..53b9261 100644 --- a/arch/arm/cpu/armv7/omap-common/spl.c +++ b/arch/arm/cpu/armv7/omap-common/spl.c @@ -178,6 +178,15 @@ void board_init_r(gd_t *id, ulong dummy) spl_ymodem_load_image(); break; #endif +#ifdef CONFIG_SPL_ETH_SUPPORT + case BOOT_DEVICE_CPGMAC: +#ifdef CONFIG_SPL_ETH_DEVICE + spl_net_load_image(CONFIG_SPL_ETH_DEVICE); +#else + spl_net_load_image(NULL); +#endif + break; +#endif default: printf(SPL: Un-supported Boot Device - %d!!!\n, boot_device); hang(); diff --git a/arch/arm/cpu/armv7/omap-common/spl_net.c b/arch/arm/cpu/armv7/omap-common/spl_net.c new file mode 100644 index 000..cbb3087 --- /dev/null +++ b/arch/arm/cpu/armv7/omap-common/spl_net.c @@ -0,0 +1,52 @@ +/* + * (C) Copyright 2000-2004 + * Wolfgang Denk, DENX Software Engineering, w...@denx.de. + * + * (C) Copyright 2012 + * Ilya Yanok ilya.ya...@gmail.com + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc. + */ +#include common.h +#include net.h +#include asm/omap_common.h + +DECLARE_GLOBAL_DATA_PTR; + +void spl_net_load_image(const char *device) +{ + int rv; + + env_init(); + env_relocate(); + setenv(autoload, yes); + load_addr = CONFIG_SYS_TEXT_BASE - sizeof(struct image_header); + rv = eth_initialize(gd-bd); + if (rv == 0) { + printf(No Ethernet devices found\n); + hang(); + } + if (device) + setenv(ethact, device); + rv =
Re: [U-Boot] [PATCH v4 2/5] spl: don't mark __u_boot_cmd* as undefined
Hi Tom, On Tue, Aug 7, 2012 at 1:11 AM, Ilya Yanok ilya.ya...@cogentembedded.comwrote: Yes. What I meant was that not all of the stuff that is guarded today is garbage collected so the resulting image is larger than it must be. Yep. And that's actually goes beyond the subject of this patch: as long as we rely on linker GC and not putting guards by hands we will get unused string literals compiled in. I still think that this patch does the correct things (UNDEF_SYM is there to protect commands from GC and we don't really want commands in SPL so there is nothing to protect). But I will try to add guards to make net-spl compile even without this patch. I've just posted v5 for patch 4/5 that doesn't depend on this patch. It really has some improvement wrt size (~50KB net-only SPL image) so probably it could be useful not only for AM33xx... Regards, Ilya. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 08/16] Blackfin: add more print info for Bf60x
Add system0, system1, dclk and cgu print info for Bf60x. Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/lib/board.c |6 ++ arch/blackfin/lib/clocks.c| 10 +- common/cmd_reginfo.c | 17 + include/configs/bf609-ezkit.h |1 + 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index 4e44bf0..e03bd57 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -311,7 +311,13 @@ void board_init_f(ulong bootflag) printf(Clock: VCO: %s MHz, , strmhz(buf, get_vco())); printf(Core: %s MHz, , strmhz(buf, get_cclk())); +#if defined(__ADSPBF60x__) + printf(System0: %s MHz, , strmhz(buf, get_sclk0())); + printf(System1: %s MHz, , strmhz(buf, get_sclk1())); + printf(Dclk: %s MHz\n, strmhz(buf, get_dclk())); +#else printf(System: %s MHz\n, strmhz(buf, get_sclk())); +#endif if (CONFIG_MEM_SIZE) { printf(RAM: ); diff --git a/arch/blackfin/lib/clocks.c b/arch/blackfin/lib/clocks.c index f867123..519a3e1 100644 --- a/arch/blackfin/lib/clocks.c +++ b/arch/blackfin/lib/clocks.c @@ -79,7 +79,7 @@ u_long get_cclk(void) /* Get the System clock */ #ifdef CGU_DIV -static u_long cached_sclk_pll_div, cached_sclk, cached_sclk0, cached_sclk1; +static u_long cached_sclk_pll_div, cached_sclk, cached_sclk0, cached_sclk1, cached_dclk; static u_long _get_sclk(u_long *cache) { u_long div, ssel; @@ -132,6 +132,14 @@ u_long get_sclk1(void) #endif } +u_long get_dclk(void) +{ +#ifndef CONFIG_BFIN_GET_DCLK + return _get_sclk(cached_dclk); +#else + return CONFIG_BFIN_GET_DCLK; +#endif +} #else u_long get_sclk(void) diff --git a/common/cmd_reginfo.c b/common/cmd_reginfo.c index bf94119..ef49017 100644 --- a/common/cmd_reginfo.c +++ b/common/cmd_reginfo.c @@ -226,6 +226,23 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) printf(\tEBIU_SDSTAT: 0x%04x EBIU_SDGCTL: 0x%08x\n, bfin_read_EBIU_SDSTAT(), bfin_read_EBIU_SDGCTL()); # endif +#else + puts(\nCGU Registers\n); + printf(\tCGU_DIV: 0x%08x CGU_CTL: 0x%08x\n, + bfin_read_CGU_DIV(), bfin_read_CGU_CTL()); + printf(\tCGU_STAT: 0x%08x CGU_LOCKCNT: 0x%08x\n, + bfin_read_CGU_STAT(), bfin_read_CGU_CLKOUTSEL()); + + puts(\nSMC DDR Registers\n); + printf(\tDDR_CFG: 0x%08x DDR_TR0: 0x%08x\n, + bfin_read_DMC0_CFG(), bfin_read_DMC0_TR0()); + printf(\tDDR_TR1: 0x%08x DDR_TR2: 0x%08x\n, + bfin_read_DMC0_TR1(), bfin_read_DMC0_TR2()); + printf(\tDDR_MR:0x%08x DDR_EMR1: 0x%08x\n, + bfin_read_DMC0_MR(), bfin_read_DMC0_EMR1()); + printf(\tDDR_CTL: 0x%08x DDR_STAT: 0x%08x\n, + bfin_read_DMC0_CTL(), bfin_read_DMC0_STAT()); + printf(\tDDR_DLLCTL:0x%08x\n, bfin_read_DMC0_DLLCTL()); #endif #endif /* CONFIG_BLACKFIN */ diff --git a/include/configs/bf609-ezkit.h b/include/configs/bf609-ezkit.h index c847069..c7cb834 100644 --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h @@ -64,6 +64,7 @@ #define CONFIG_BFIN_GET_SCLK (CONFIG_PLL_CLK/CONFIG_SYSCLK_DIV) #define CONFIG_BFIN_GET_SCLK0 (get_sclk()/CONFIG_SCLK0_DIV) #define CONFIG_BFIN_GET_SCLK1 (get_sclk()/CONFIG_SCLK1_DIV) +#define CONFIG_BFIN_GET_DCLK (get_cclk()/CONFIG_DCLK_DIV) /* * Memory Settings -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 03/16] Blackfin: Bf60x: support big cplb page
Bf60x support 16K, 64K, 16M and 64M cplb pages, this patch add support for them. So that bf609-ezkit can use it's 128M memory. Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/include/asm/cplb.h | 13 +- arch/blackfin/include/asm/mach-common/bits/mpu.h |6 - arch/blackfin/lib/board.c| 28 -- include/configs/bf609-ezkit.h|6 + 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/arch/blackfin/include/asm/cplb.h b/arch/blackfin/include/asm/cplb.h index cc21e93..5a0588b 100644 --- a/arch/blackfin/include/asm/cplb.h +++ b/arch/blackfin/include/asm/cplb.h @@ -46,8 +46,11 @@ #define CPLB_IDOCACHE CPLB_INOCACHE | CPLB_L1_CHBL /* Data Attibutes*/ - +#if defined(__ADSPBF60x__) +#define SDRAM_IGENERIC (PAGE_SIZE_16MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID) +#else #define SDRAM_IGENERIC (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID) +#endif #define SDRAM_IKERNEL (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) #define L1_IMEMORY (PAGE_SIZE_1MB | CPLB_USER_RD | CPLB_VALID | CPLB_LOCK) #define SDRAM_INON_CHBL (PAGE_SIZE_4MB | CPLB_USER_RD | CPLB_VALID) @@ -59,14 +62,22 @@ #endif #ifdef CONFIG_DCACHE_WB/*Write Back Policy */ +#if defined(__ADSPBF60x__) +#define SDRAM_DGENERIC (PAGE_SIZE_16MB | CPLB_L1_CHBL | CPLB_DIRTY | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) +#else #define SDRAM_DGENERIC (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_DIRTY | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) +#endif #define SDRAM_DNON_CHBL (PAGE_SIZE_4MB | CPLB_DIRTY | CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR | CPLB_VALID | ANOMALY_05000158_WORKAROUND) #define SDRAM_DKERNEL (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_USER_WR | CPLB_DIRTY | CPLB_SUPV_WR | CPLB_VALID | CPLB_LOCK | ANOMALY_05000158_WORKAROUND) #define L1_DMEMORY (PAGE_SIZE_4MB | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) #define SDRAM_EBIU (PAGE_SIZE_4MB | CPLB_DIRTY | CPLB_USER_RD | CPLB_USER_WR | CPLB_SUPV_WR | CPLB_VALID | ANOMALY_05000158_WORKAROUND) #else /*Write Through */ +#if defined(__ADSPBF60x__) +#define SDRAM_DGENERIC (PAGE_SIZE_16MB | CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR | CPLB_VALID | ANOMALY_05000158_WORKAROUND) +#else #define SDRAM_DGENERIC (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR | CPLB_VALID | ANOMALY_05000158_WORKAROUND) +#endif #define SDRAM_DNON_CHBL (PAGE_SIZE_4MB | CPLB_WT | CPLB_L1_AOW | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID | ANOMALY_05000158_WORKAROUND) #define SDRAM_DKERNEL (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_WT | CPLB_L1_AOW | CPLB_USER_RD | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_VALID | CPLB_LOCK | ANOMALY_05000158_WORKAROUND) #define L1_DMEMORY (PAGE_SIZE_4MB | CPLB_SUPV_WR | CPLB_USER_WR | CPLB_VALID | ANOMALY_05000158_WORKAROUND) diff --git a/arch/blackfin/include/asm/mach-common/bits/mpu.h b/arch/blackfin/include/asm/mach-common/bits/mpu.h index 39998f8..d067ef9 100644 --- a/arch/blackfin/include/asm/mach-common/bits/mpu.h +++ b/arch/blackfin/include/asm/mach-common/bits/mpu.h @@ -70,7 +70,11 @@ #define PAGE_SIZE_4KB 0x0001 /* 4 KB page size */ #define PAGE_SIZE_1MB 0x0002 /* 1 MB page size */ #define PAGE_SIZE_4MB 0x0003 /* 4 MB page size */ -#define PAGE_SIZE_MASK 0x0003 /* the bits for the page_size field */ +#define PAGE_SIZE_16KB 0x0004 /* 16 KB page size */ +#define PAGE_SIZE_64KB 0x0005 /* 64 KB page size */ +#define PAGE_SIZE_16MB 0x0006 /* 16 MB page size */ +#define PAGE_SIZE_64MB 0x0007 /* 64 MB page size */ +#define PAGE_SIZE_MASK 0x0007 /* the bits for the page_size field */ #define PAGE_SIZE_SHIFT16 #define CPLB_L1SRAM0x0020 /* 0=SRAM mapped in L1, 0=SRAM not mapped to L1 */ #define CPLB_PORTPRIO 0x0200 /* 0=low priority port, 1= high priority port */ diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index cfb38e8..4e44bf0 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -94,12 +94,12 @@ static void display_global_data(void) printf( \\-bi_flashoffset: %lx\n, bd-bi_flashoffset); } -#define CPLB_PAGE_SIZE (4 * 1024 * 1024) -#define CPLB_PAGE_MASK (~(CPLB_PAGE_SIZE - 1)) void init_cplbtables(void) { volatile uint32_t *ICPLB_ADDR, *ICPLB_DATA; volatile uint32_t *DCPLB_ADDR,
[U-Boot] [PATCH 06/16] Blackfin: Bf609-ezkit: implement soft switch
From: Sonic Zhang sonic.zh...@analog.com Set up soft switch pins properly in board init code. Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- board/bf609-ezkit/Makefile |1 + board/bf609-ezkit/bf609-ezkit.c | 22 +++-- board/bf609-ezkit/soft_switch.c | 173 +++ board/bf609-ezkit/soft_switch.h | 71 include/configs/bf609-ezkit.h |6 +- 5 files changed, 260 insertions(+), 13 deletions(-) create mode 100644 board/bf609-ezkit/soft_switch.c create mode 100644 board/bf609-ezkit/soft_switch.h diff --git a/board/bf609-ezkit/Makefile b/board/bf609-ezkit/Makefile index cde8168..0bb8fe6 100644 --- a/board/bf609-ezkit/Makefile +++ b/board/bf609-ezkit/Makefile @@ -30,6 +30,7 @@ include $(TOPDIR)/config.mk LIB= $(obj)lib$(BOARD).o COBJS-y:= $(BOARD).o +COBJS-$(CONFIG_BFIN_SOFT_SWITCH) += soft_switch.o SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(COBJS-y)) diff --git a/board/bf609-ezkit/bf609-ezkit.c b/board/bf609-ezkit/bf609-ezkit.c index d701c36..d54906b 100644 --- a/board/bf609-ezkit/bf609-ezkit.c +++ b/board/bf609-ezkit/bf609-ezkit.c @@ -11,6 +11,7 @@ #include asm/blackfin.h #include asm/io.h #include asm/portmux.h +#include soft_switch.h int checkboard(void) { @@ -32,30 +33,20 @@ int board_early_init_f(void) } #ifdef CONFIG_DESIGNWARE_ETH -#define TWI_ADDR 0x20 int board_eth_init(bd_t *bis) { int ret = 0; - uchar idira = 0x0; - uchar lata = 0xff; if (CONFIG_DW_PORTS 1) { static const unsigned short pins[] = P_RMII0; if (!peripheral_request_list(pins, emac0)) { - /* enable phy clk */ - ret = i2c_write(TWI_ADDR, 0x0, 1, idira, 1); - if (!ret) { - ret = i2c_write(TWI_ADDR, 0x14, 1, lata, 1); - if (!ret) - ret += designware_initialize(0, EMAC0_MACCFG, 1, 0); - } + ret += designware_initialize(0, EMAC0_MACCFG, 1, 0); } } - if (CONFIG_DW_PORTS 2) { static const unsigned short pins[] = P_RMII1; if (!peripheral_request_list(pins, emac1)) - ret += designware_initialize(1, EMAC1_MACCFG, 1, 0, 1); + ret += designware_initialize(1, EMAC1_MACCFG, 1, 0); } return ret; @@ -68,3 +59,10 @@ int board_mmc_init(bd_t *bis) return bfin_mmc_init(bis); } #endif + +/* miscellaneous platform dependent initialisations */ +int misc_init_r(void) +{ + printf(other init\n); + return setup_board_switches(); +} diff --git a/board/bf609-ezkit/soft_switch.c b/board/bf609-ezkit/soft_switch.c new file mode 100644 index 000..9e2265a --- /dev/null +++ b/board/bf609-ezkit/soft_switch.c @@ -0,0 +1,173 @@ +/* + * U-boot - main board file + * + * Copyright (c) 2008-2011 Analog Devices Inc. + * + * Licensed under the GPL-2 or later. + */ + +#include common.h +#include asm/blackfin.h +#include asm/io.h +#include i2c.h +#include soft_switch.h + +#ifdef CONFIG_BFIN_BOARD_VERSION_1_0 +#define SWITCH_ADDR 0x21 +#else +#define SWITCH_ADDR 0x20 +#endif + +#define NUM_SWITCH 3 +#define IODIRA 0x0 +#define IODIRB 0x1 +#define OLATA 0x14 +#define OLATB 0x15 + +struct switch_config { + uchar dir0; /* IODIRA */ + uchar dir1; /* IODIRB */ + uchar value0; /* OLATA */ + uchar value1; /* OLATB */ +}; + +static struct switch_config switch_config_array[NUM_SWITCH] = { + { +/* + U45 Port A U45 Port B + + 7--- RMII_CLK_EN | 7--- ~TEMP_THERM_EN + | 6- ~CNT0ZM_EN | | 6- ~TEMP_IRQ_EN + | | 5--- ~CNT0DG_EN | | | 5--- ~UART0CTS_146_EN + | | | 4- ~CNT0UD_EN | | | | 4- ~UART0CTS_RST_EN + | | | | 3--- ~CAN0RX_EN | | | | | 3--- ~UART0CTS_RTS_LPBK + | | | | | 2- ~CAN0_ERR_EN | | | | | | 2- ~UART0CTS_EN + | | | | | | 1--- ~CAN_STB | | | | | | | 1--- ~UART0RX_EN + | | | | | | | 0- CAN_EN| | | | | | | | 0- ~UART0RTS_EN + | | | | | | | | | | | | | | | | | + O O O O O O O O | O O O O O O O O ( I/O direction ) + 1 0 0 0 0 0 1 1 | 1 1 1 1 1 0 0 0 ( value being set ) +*/ + .dir0 = 0x0, /* all output */ + .dir1 = 0x0, /* all output */ + .value0 = RMII_CLK_EN | CAN_STB | CAN_EN, + .value1 = TEMP_THERM_EN | TEMP_IRQ_EN | UART0CTS_146_EN +
[U-Boot] [PATCH 02/16] Blackfin: bf609-ezkit: new board port
From: Mike Frysinger vap...@gentoo.org Add basic support for new board bf609-ezkit. Signed-off-by: Mike Frysinger vap...@gentoo.org Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.c | 96 ++- arch/blackfin/cpu/initcode.h |9 ++ arch/blackfin/cpu/serial1.h| 19 +++ arch/blackfin/cpu/serial4.h| 35 +- arch/blackfin/include/asm/mach-bf609/portmux.h |5 + arch/blackfin/include/asm/mach-bf609/ports.h | 56 +++-- board/bf609-ezkit/Makefile | 54 + board/bf609-ezkit/bf609-ezkit.c| 63 ++ boards.cfg |1 + common/cmd_reginfo.c |4 +- include/configs/bf609-ezkit.h | 148 11 files changed, 446 insertions(+), 44 deletions(-) create mode 100644 board/bf609-ezkit/Makefile create mode 100644 board/bf609-ezkit/bf609-ezkit.c create mode 100644 include/configs/bf609-ezkit.h diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index ae3fe7a..9888f10 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -23,16 +23,18 @@ #include serial.h -#if 0 - +#ifndef __ADSPBF60x__ #include asm/mach-common/bits/pll.h +#else +#include asm/mach-common/bits/cgu.h +#endif __attribute__((always_inline)) static inline void serial_init(void) { uint32_t uart_base = UART_BASE; -#ifdef __ADSPBF54x__ +#if defined(__ADSPBF54x__) || defined(__ADSPBF60x__) # ifdef BFIN_BOOT_UART_USE_RTS # define BFIN_UART_USE_RTS 1 # else @@ -42,7 +44,11 @@ static inline void serial_init(void) size_t i; /* force RTS rather than relying on auto RTS */ +#if BFIN_UART_HW_VER 4 bfin_write16(pUART-mcr, bfin_read16(pUART-mcr) | FCPOL); +#else + bfin_write32(pUART-control, bfin_read32(pUART-control) | FCPOL); +#endif /* Wait for the line to clear up. We cannot rely on UART * registers as none of them reflect the status of the RSR. @@ -86,12 +92,16 @@ static inline void serial_init(void) __attribute__((always_inline)) static inline void serial_deinit(void) { -#ifdef __ADSPBF54x__ +#if defined(__ADSPBF54x__) || defined(__ADSPBF60x__) uint32_t uart_base = UART_BASE; if (BFIN_UART_USE_RTS CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_UART) { /* clear forced RTS rather than relying on auto RTS */ +#if BFIN_UART_HW_VER 4 bfin_write16(pUART-mcr, bfin_read16(pUART-mcr) ~FCPOL); +#else + bfin_write32(pUART-control, bfin_read32(pUART-control) ~FCPOL); +#endif } #endif } @@ -107,7 +117,7 @@ static inline void serial_putc(char c) if (c == '\n') serial_putc('\r'); - bfin_write16(pUART-thr, c); + bfin_write(pUART-thr, c); while (!(_lsr_read(pUART) TEMT)) continue; @@ -156,6 +166,25 @@ program_nmi_handler(void) # define bfin_write_SPI_BAUD bfin_write_SPI0_BAUD #endif +#ifdef __ADSPBF60x__ + +#ifndef CONFIG_CGU_CTL_VAL +# define CONFIG_CGU_CTL_VAL ((CONFIG_VCO_MULT 8) | CONFIG_CLKIN_HALF) +#endif + +#ifndef CONFIG_CGU_DIV_VAL +# define CONFIG_CGU_DIV_VAL \ + (1 UPDT_P) | \ + ((CONFIG_CCLK_DIVCSEL_P) | \ +(CONFIG_SCLK0_DIV S0SEL_P) | \ +(CONFIG_SCLK_DIV SYSSEL_P) | \ +(CONFIG_SCLK1_DIV S1SEL_P) | \ +(CONFIG_DCLK_DIVDSEL_P) | \ +(CONFIG_OCLK_DIVOSEL_P)) +#endif + +#else /* __ADSPBF60x__ */ + /* PLL_DIV defines */ #ifndef CONFIG_PLL_DIV_VAL # if (CONFIG_CCLK_DIV == 1) @@ -279,6 +308,8 @@ program_nmi_handler(void) # endif #endif +#endif /* __ADSPBF60x__ */ + __attribute__((always_inline)) static inline void program_early_devices(ADI_BOOT_DATA *bs, uint *sdivB, uint *divB, uint *vcoB) { @@ -287,8 +318,12 @@ program_early_devices(ADI_BOOT_DATA *bs, uint *sdivB, uint *divB, uint *vcoB) /* Save the clock pieces that are used in baud rate calculation */ if (BFIN_DEBUG_EARLY_SERIAL || CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_UART) { serial_putc('b'); +#ifdef __ADSPBF60x__ + +#else *sdivB = bfin_read_PLL_DIV() 0xf; *vcoB = (bfin_read_PLL_CTL() 9) 0x3f; +#endif *divB = serial_early_get_div(); serial_putc('c'); } @@ -341,6 +376,10 @@ maybe_self_refresh(ADI_BOOT_DATA *bs) if (!CONFIG_MEM_SIZE) return false; +#ifdef __ADSPBF60x__ + +#else /* __ADSPBF60x__ */ + /* If external memory is enabled, put it into self refresh first. */ #if defined(EBIU_RSTCTL) if (bfin_read_EBIU_RSTCTL() DDR_SRESET) { @@ -356,6 +395,7 @@ maybe_self_refresh(ADI_BOOT_DATA *bs) } #endif +#endif /* __ADSPBF60x__ */
[U-Boot] [PATCH 12/16] Blackfin: Bf60x: initcode: set up uart baud properly
From: Sonic Zhang sonic.zh...@analog.com Set up uart baud properly for booting u-boot over UART Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.c |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index 3bb2b98..3197c40 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -433,7 +433,9 @@ program_early_devices(ADI_BOOT_DATA *bs, uint *sdivB, uint *divB, uint *vcoB) if (BFIN_DEBUG_EARLY_SERIAL || CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_UART) { serial_putc('b'); #ifdef __ADSPBF60x__ - + *sdivB = bfin_read_CGU_DIV(); + *sdivB = ((*sdivB 8) 0x1f) * ((*sdivB 5) 0x7); + *vcoB = (bfin_read_CGU_CTL() 8) 0x7f; #else *sdivB = bfin_read_PLL_DIV() 0xf; *vcoB = (bfin_read_PLL_CTL() 9) 0x3f; @@ -701,7 +703,9 @@ update_serial_clocks(ADI_BOOT_DATA *bs, uint sdivB, uint divB, uint vcoB) serial_putc('b'); unsigned int sdivR, vcoR; #ifdef __ADSPBF60x__ - + sdivR = bfin_read_CGU_DIV(); + sdivR = ((sdivR 8) 0x1f) * ((sdivR 5) 0x7); + vcoR = (bfin_read_CGU_CTL() 8) 0x7f; #else sdivR = bfin_read_PLL_DIV() 0xf; vcoR = (bfin_read_PLL_CTL() 9) 0x3f; -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 11/16] Blackfin: Bf60x: support clock init
Add a way to set clock to values getting from config file bf609-ezkit.h Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.c | 221 +- arch/blackfin/include/asm/mach-common/bits/cgu.h |2 + include/configs/bf609-ezkit.h| 35 ++-- 3 files changed, 234 insertions(+), 24 deletions(-) diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index 9888f10..3bb2b98 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -29,6 +29,121 @@ #include asm/mach-common/bits/cgu.h #endif +#ifdef __ADSPBF60x__ +#define CONFIG_BFIN_GET_DCLK_M (CONFIG_BFIN_GET_DCLK/100) + +#ifndef CONFIG_DMC_DDRCFG +#if ((CONFIG_BFIN_GET_DCLK_M != 125) \ + (CONFIG_BFIN_GET_DCLK_M != 133) \ + (CONFIG_BFIN_GET_DCLK_M != 150) \ + (CONFIG_BFIN_GET_DCLK_M != 166) \ + (CONFIG_BFIN_GET_DCLK_M != 200) \ + (CONFIG_BFIN_GET_DCLK_M != 225) \ + (CONFIG_BFIN_GET_DCLK_M != 250)) +#error DDR2 CLK must be in (125, 133, 150, 166, 200, 225, 250)MHz +#endif +#endif + +/* DMC status bits */ +#define IDLE0x1 +#define MEMINITDONE 0x4 +#define SRACK 0x8 +#define PDACK 0x10 +#define DPDACK 0x20 +#define DLLCALDONE 0x2000 +#define PENDREF 0xF +#define PHYRDPHASE 0xF0 +#define PHYRDPHASE_OFFSET 20 + +/* DMC DLL control bits */ +#define DLLCALRDCNT 0xFF +#define DATACYC_OFFSET 8 + +struct ddr_config { + u32 ddr_clk; + u32 dmc_ddrctl; + u32 dmc_ddrcfg; + u32 dmc_ddrtr0; + u32 dmc_ddrtr1; + u32 dmc_ddrtr2; + u32 dmc_ddrmr; + u32 dmc_ddrmr1; +}; + +static struct ddr_config ddr_config_table[] = { + [0] = { + .ddr_clk= 125, /* 125MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20705212, + .dmc_ddrtr1 = 0x201003CF, + .dmc_ddrtr2 = 0x00320107, + .dmc_ddrmr = 0x0422, + .dmc_ddrmr1 = 0x4, + }, + [1] = { + .ddr_clk= 133, /* 133MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20806313, + .dmc_ddrtr1 = 0x2013040D, + .dmc_ddrtr2 = 0x00320108, + .dmc_ddrmr = 0x0632, + .dmc_ddrmr1 = 0x4, + }, + [2] = { + .ddr_clk= 150, /* 150MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20A07323, + .dmc_ddrtr1 = 0x20160492, + .dmc_ddrtr2 = 0x00320209, + .dmc_ddrmr = 0x0632, + .dmc_ddrmr1 = 0x4, + }, + [3] = { + .ddr_clk= 166, /* 166MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20A07323, + .dmc_ddrtr1 = 0x2016050E, + .dmc_ddrtr2 = 0x00320209, + .dmc_ddrmr = 0x0632, + .dmc_ddrmr1 = 0x4, + }, + [4] = { + .ddr_clk= 200, /* 200MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20a07323, + .dmc_ddrtr1 = 0x2016050f, + .dmc_ddrtr2 = 0x00320509, + .dmc_ddrmr = 0x0632, + .dmc_ddrmr1 = 0x4, + }, + [5] = { + .ddr_clk= 225, /* 225MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20E0A424, + .dmc_ddrtr1 = 0x302006DB, + .dmc_ddrtr2 = 0x0032020D, + .dmc_ddrmr = 0x0842, + .dmc_ddrmr1 = 0x4, + }, + [6] = { + .ddr_clk= 250, /* 250MHz */ + .dmc_ddrctl = 0x0904, + .dmc_ddrcfg = 0x0422, + .dmc_ddrtr0 = 0x20E0A424, + .dmc_ddrtr1 = 0x3020079E, + .dmc_ddrtr2 = 0x0032020D, + .dmc_ddrmr = 0x0842, + .dmc_ddrmr1 = 0x4, + }, +}; +#endif + __attribute__((always_inline)) static inline void serial_init(void) { @@ -174,7 +289,6 @@ program_nmi_handler(void) #ifndef CONFIG_CGU_DIV_VAL # define CONFIG_CGU_DIV_VAL \ - (1 UPDT_P) | \ ((CONFIG_CCLK_DIVCSEL_P) | \ (CONFIG_SCLK0_DIV S0SEL_P) | \ (CONFIG_SCLK_DIV SYSSEL_P) | \ @@ -409,12 +523,34 @@ program_clocks(ADI_BOOT_DATA *bs, bool put_into_srfs) serial_putc('a'); #ifdef __ADSPBF60x__ + if (bfin_read_DMC0_STAT() MEMINITDONE) { +
[U-Boot] [PATCH 13/16] Blackfin: Bf60x: add hw watchdog support
Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.c | 14 ++ arch/blackfin/cpu/start.S |2 ++ include/configs/bf609-ezkit.h |1 + 3 files changed, 17 insertions(+) diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index 3197c40..c68302f 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -458,8 +458,22 @@ program_early_devices(ADI_BOOT_DATA *bs, uint *sdivB, uint *divB, uint *vcoB) */ if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_BYPASS) { serial_putc('e'); +#ifdef __ADSPBF60x__ + int i; + bfin_write_SEC_GCTL(0x2); + while (i++ 10); + bfin_write_SEC_FCTL(0xc1); + bfin_write_SEC_SCTL(2, bfin_read_SEC_SCTL(2) | 0x6); + + bfin_write_SEC_CCTL(0x2); + while (i++ 10); + bfin_write_SEC_GCTL(0x1); + bfin_write_SEC_CCTL(0x1); +#endif bfin_write_WDOG_CNT(MSEC_TO_SCLK(CONFIG_HW_WATCHDOG_TIMEOUT_INITCODE)); +#if CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_UART bfin_write_WDOG_CTL(0); +#endif serial_putc('f'); } #endif diff --git a/arch/blackfin/cpu/start.S b/arch/blackfin/cpu/start.S index 90b4d1a..7155fc8 100644 --- a/arch/blackfin/cpu/start.S +++ b/arch/blackfin/cpu/start.S @@ -65,6 +65,7 @@ ENTRY(_start) p5.h = HI(COREMMR_BASE); #ifdef CONFIG_HW_WATCHDOG +#ifndef __ADSPBF60x__ # ifndef CONFIG_HW_WATCHDOG_TIMEOUT_START # define CONFIG_HW_WATCHDOG_TIMEOUT_START 5000 # endif @@ -78,6 +79,7 @@ ENTRY(_start) /* fire up the watchdog - R0.L above needs to be 0x */ W[p4 + (WDOG_CTL - SYSMMR_BASE)] = r0; #endif +#endif /* Turn on the serial for debugging the init process */ serial_early_init diff --git a/include/configs/bf609-ezkit.h b/include/configs/bf609-ezkit.h index 311b2e4..64b1eb6 100644 --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h @@ -78,6 +78,7 @@ #define CONFIG_SYS_MONITOR_LEN (512 * 1024) #define CONFIG_SYS_MALLOC_LEN (256 * 1024) +#define CONFIG_HW_WATCHDOG /* * Network Settings */ -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 09/16] Blackfin: Bf60x: add reset support
Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/reset.c |4 1 file changed, 4 insertions(+) diff --git a/arch/blackfin/cpu/reset.c b/arch/blackfin/cpu/reset.c index 33df0fc..b6718d3 100644 --- a/arch/blackfin/cpu/reset.c +++ b/arch/blackfin/cpu/reset.c @@ -70,8 +70,12 @@ static void bfin_reset(void) #endif while (1) +#if defined(__ADSPBF60x__) + bfin_write_RCU0_CTL(0x1); +#else /* Issue core reset */ asm(raise 1); +#endif } /* We need to trampoline ourselves up into L1 since our linker -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 04/16] Blackfin: Rsi: add support for bf609-ezkit
From: Sonic Zhang sonic.zh...@analog.com Add support for bf609-ezkit to board file and mmc driver. Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/include/asm/config-pre.h |4 ++ arch/blackfin/include/asm/mach-common/bits/dma.h | 47 +- arch/blackfin/include/asm/mach-common/bits/sdh.h | 38 - board/bf609-ezkit/bf609-ezkit.c |7 drivers/mmc/bfin_sdh.c | 45 +++-- include/configs/bf609-ezkit.h|9 - 6 files changed, 132 insertions(+), 18 deletions(-) diff --git a/arch/blackfin/include/asm/config-pre.h b/arch/blackfin/include/asm/config-pre.h index 4ce67d4..88aa1da 100644 --- a/arch/blackfin/include/asm/config-pre.h +++ b/arch/blackfin/include/asm/config-pre.h @@ -31,6 +31,8 @@ #define BFIN_BOOT_16HOST_DMA 11 /* boot ldr from 16-bit host dma */ #define BFIN_BOOT_8HOST_DMA 12 /* boot ldr from 8-bit host dma */ #define BFIN_BOOT_NAND13 /* boot ldr from nand flash */ +#define BFIN_BOOT_RSI_MASTER 14 /* boot ldr from rsi */ +#define BFIN_BOOT_LP_SLAVE15 /* boot ldr from link port */ #ifndef __ASSEMBLY__ static inline const char *get_bfin_boot_mode(int bfin_boot) @@ -49,6 +51,8 @@ static inline const char *get_bfin_boot_mode(int bfin_boot) case BFIN_BOOT_16HOST_DMA: return 16bit dma; case BFIN_BOOT_8HOST_DMA: return 8bit dma; case BFIN_BOOT_NAND: return nand flash; + case BFIN_BOOT_RSI_MASTER: return rsi master; + case BFIN_BOOT_LP_SLAVE: return link port slave; default: return INVALID; } } diff --git a/arch/blackfin/include/asm/mach-common/bits/dma.h b/arch/blackfin/include/asm/mach-common/bits/dma.h index ee209c6..1126c44 100644 --- a/arch/blackfin/include/asm/mach-common/bits/dma.h +++ b/arch/blackfin/include/asm/mach-common/bits/dma.h @@ -9,8 +9,48 @@ #define DMAEN 0x0001 /* DMA Channel Enable */ #define WNR0x0002 /* Channel Direction (W/R*) */ #define WDSIZE_8 0x /* Transfer Word Size = 8 */ + +#ifdef CONFIG_BF60x + +#define PSIZE_80x /* Transfer Word Size = 16 */ +#define PSIZE_16 0x0010 /* Transfer Word Size = 16 */ +#define PSIZE_32 0x0020 /* Transfer Word Size = 32 */ +#define PSIZE_64 0x0030 /* Transfer Word Size = 32 */ +#define WDSIZE_16 0x0100 /* Transfer Word Size = 16 */ +#define WDSIZE_32 0x0200 /* Transfer Word Size = 32 */ +#define WDSIZE_64 0x0300 /* Transfer Word Size = 32 */ +#define WDSIZE_128 0x0400 /* Transfer Word Size = 32 */ +#define WDSIZE_256 0x0500 /* Transfer Word Size = 32 */ +#define DMA2D 0x0400 /* DMA Mode (2D/1D*) */ +#define RESTART0x0004 /* DMA Buffer Clear SYNC */ +#define DI_EN_X0x0010 /* Data Interrupt Enable in X count */ +#define DI_EN_Y0x0020 /* Data Interrupt Enable in Y count */ +#define DI_EN_P0x0030 /* Data Interrupt Enable in Peripheral */ +#define DI_EN DI_EN_X /* Data Interrupt Enable */ +#define NDSIZE_0 0x /* Next Descriptor Size = 0 (Stop/Autobuffer) */ +#define NDSIZE_1 0x0001 /* Next Descriptor Size = 1 */ +#define NDSIZE_2 0x0002 /* Next Descriptor Size = 2 */ +#define NDSIZE_3 0x0003 /* Next Descriptor Size = 3 */ +#define NDSIZE_4 0x0004 /* Next Descriptor Size = 4 */ +#define NDSIZE_5 0x0005 /* Next Descriptor Size = 5 */ +#define NDSIZE_6 0x0006 /* Next Descriptor Size = 6 */ +#define NDSIZE 0x0007 /* Next Descriptor Size */ +#define NDSIZE_OFFSET 16 /* Next Descriptor Size Offset */ +#define DMAFLOW_LIST 0x4000 /* Descriptor List Mode */ +#define DMAFLOW_ARRAY 0x5000 /* Descriptor Array Mode */ +#define DMAFLOW_LIST_DEMAND0x6000 /* Descriptor Demand List Mode */ +#define DMAFLOW_ARRAY_DEMAND 0x7000 /* Descriptor Demand Array Mode */ +#define DMA_RUN_DFETCH 0x0100 /* DMA Channel Running Indicator (DFETCH) */ +#define DMA_RUN0x0200 /* DMA Channel Running Indicator */ +#define DMA_RUN_WAIT_TRIG 0x0300 /* DMA Channel Running Indicator (WAIT TRIG) */ +#define DMA_RUN_WAIT_ACK 0x0400 /* DMA Channel Running Indicator (WAIT ACK) */ + +#else + #define WDSIZE_16 0x0004 /* Transfer Word Size = 16 */
[U-Boot] [PATCH 05/16] Blackfin: Paraflash: add support for bf609-ezkit
Add paraflash support for bf609-ezkit to board file. Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/include/asm/mach-bf609/portmux.h |1 + board/bf609-ezkit/bf609-ezkit.c|8 +++--- include/configs/bf609-ezkit.h | 35 +++- include/configs/bfin_adi_common.h |4 ++- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/arch/blackfin/include/asm/mach-bf609/portmux.h b/arch/blackfin/include/asm/mach-bf609/portmux.h index 1cf6fd8..757570f 100644 --- a/arch/blackfin/include/asm/mach-bf609/portmux.h +++ b/arch/blackfin/include/asm/mach-bf609/portmux.h @@ -241,6 +241,7 @@ #define P_A23 (P_DEFINED | P_IDENT(GPIO_PB8) | P_FUNCT(0)) #define P_A24 (P_DEFINED | P_IDENT(GPIO_PB10) | P_FUNCT(0)) #define P_A25 (P_DEFINED | P_IDENT(GPIO_PB11) | P_FUNCT(0)) +#define P_NORCK (P_DEFINED | P_IDENT(GPIO_PB0) | P_FUNCT(0)) #define P_AMS1 (P_DEFINED | P_IDENT(GPIO_PB1) | P_FUNCT(0)) #define P_AMS2 (P_DEFINED | P_IDENT(GPIO_PB4) | P_FUNCT(0)) diff --git a/board/bf609-ezkit/bf609-ezkit.c b/board/bf609-ezkit/bf609-ezkit.c index 398a6b0..d701c36 100644 --- a/board/bf609-ezkit/bf609-ezkit.c +++ b/board/bf609-ezkit/bf609-ezkit.c @@ -22,11 +22,11 @@ int checkboard(void) int board_early_init_f(void) { static const unsigned short pins[] = { - P_A4, P_A5, P_A6, P_A7, P_A8, P_A9, P_A10, P_A11, P_A12, P_A13, - P_A14, P_A15, P_A16, P_A17, P_A18, P_A19, P_A20, P_A21, P_A22, - P_A23, P_A24, P_A25, P_AMS1, P_ABE0, P_ABE1, 0, + P_A3, P_A4, P_A5, P_A6, P_A7, P_A8, P_A9, P_A10, P_A11, P_A12, + P_A13, P_A14, P_A15, P_A16, P_A17, P_A18, P_A19, P_A20, P_A21, + P_A22, P_A23, P_A24, P_A25, P_NORCK, 0, }; - peripheral_request_list(pins, smc); + peripheral_request_list(pins, smc0); return 0; } diff --git a/include/configs/bf609-ezkit.h b/include/configs/bf609-ezkit.h index 4dcfeca..91b0cf3 100644 --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h @@ -68,9 +68,9 @@ #define CONFIG_MEM_SIZE128 #define CONFIG_SMC_GCTL_VAL0x0010 -#define CONFIG_SMC_B1CTL_VAL 0x01002001 -#define CONFIG_SMC_B1TIM_VAL 0x08070977 -#define CONFIG_SMC_B1ETIM_VAL 0x00092231 +#define CONFIG_SMC_B0CTL_VAL 0x01007011 +#define CONFIG_SMC_B0TIM_VAL 0x08170977 +#define CONFIG_SMC_B0ETIM_VAL 0x00092231 #define CONFIG_SYS_MONITOR_LEN (512 * 1024) #define CONFIG_SYS_MALLOC_LEN (256 * 1024) @@ -107,14 +107,35 @@ #define CONFIG_SYS_FLASH_PROTECTION #define CONFIG_SYS_MAX_FLASH_BANKS 1 #define CONFIG_SYS_MAX_FLASH_SECT 131 +#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS /* * Env Storage Settings */ -#define CONFIG_ENV_IS_NOWHERE -#define CONFIG_ENV_SIZE 0x600 -#undef CONFIG_CMD_EXPORTENV -#undef CONFIG_CMD_IMPORTENV +#if (CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_SPI_MASTER) +#define CONFIG_ENV_IS_IN_SPI_FLASH +#define CONFIG_ENV_OFFSET 0x1 +#define CONFIG_ENV_SIZE 0x2000 +#define CONFIG_ENV_SECT_SIZE0x1 +#define CONFIG_ENV_IS_EMBEDDED_IN_LDR +#elif (CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_NAND) +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET 0x6 +#define CONFIG_ENV_SIZE 0x2 +#else +#define CONFIG_ENV_IS_IN_FLASH +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET) +#define CONFIG_ENV_OFFSET 0x8000 +#define CONFIG_ENV_SIZE 0x8000 +#define CONFIG_ENV_SECT_SIZE0x8000 +#define CONFIG_ENV_IS_EMBEDDED_IN_LDR +#define UBOOT_ENV_UPDATE \ +protect off 0xB000 +$(filesize); \ +erase 0xB000 +$(filesize); \ +cp.b $(loadaddr) 0xB000 $(filesize) +#endif + +#define FLASHBOOT_ENV_SETTINGS flashboot=bootm 0xB010\0 /* * SDH Settings diff --git a/include/configs/bfin_adi_common.h b/include/configs/bfin_adi_common.h index 5cec778..164e8ca 100644 --- a/include/configs/bfin_adi_common.h +++ b/include/configs/bfin_adi_common.h @@ -195,10 +195,12 @@ nand erase 0 0x4; \ nand write $(loadaddr) 0 0x4 # else -# define UBOOT_ENV_UPDATE \ +# ifndef UBOOT_ENV_UPDATE +# define UBOOT_ENV_UPDATE \ protect off 0x2000 +$(filesize); \ erase 0x2000 +$(filesize); \ cp.b $(loadaddr) 0x2000 $(filesize) +# endif # endif # ifdef CONFIG_NETCONSOLE # define NETCONSOLE_ENV \ -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 10/16] Blackfin: Bf60x: Check card ready for each RSI command
From: Sonic Zhang sonic.zh...@analog.com Set up RSI data before sending RSI command if data is applicable. Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- drivers/mmc/bfin_sdh.c | 23 --- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/bfin_sdh.c b/drivers/mmc/bfin_sdh.c index 4dd9b78..f22429a 100644 --- a/drivers/mmc/bfin_sdh.c +++ b/drivers/mmc/bfin_sdh.c @@ -79,6 +79,9 @@ sdh_send_cmd(struct mmc *mmc, struct mmc_cmd *mmc_cmd) sdh_cmd |= CMD_RSP; if (flags MMC_RSP_136) sdh_cmd |= CMD_L_RSP; +#ifdef RSI_BLKSZ + sdh_cmd |= CMD_DATA0_BUSY; +#endif bfin_write_SDH_ARGUMENT(arg); bfin_write_SDH_COMMAND(sdh_cmd); @@ -113,6 +116,12 @@ sdh_send_cmd(struct mmc *mmc, struct mmc_cmd *mmc_cmd) bfin_write_SDH_STATUS_CLR(CMD_SENT_STAT | CMD_RESP_END_STAT | CMD_TIMEOUT_STAT | CMD_CRC_FAIL_STAT); +#ifdef RSI_BLKSZ + /* wait till card ready */ + while (!(bfin_read_RSI_ESTAT() SD_CARD_READY)) + ; + bfin_write_RSI_ESTAT(SD_CARD_READY); +#endif return ret; } @@ -122,7 +131,6 @@ static int sdh_setup_data(struct mmc *mmc, struct mmc_data *data) { u16 data_ctl = 0; u16 dma_cfg = 0; - int ret = 0; unsigned long data_size = data-blocksize * data-blocks; /* Don't support write yet. */ @@ -150,7 +158,7 @@ static int sdh_setup_data(struct mmc *mmc, struct mmc_data *data) /* kick off transfer */ bfin_write_SDH_DATA_CTL(bfin_read_SDH_DATA_CTL() | DTX_DMA_E | DTX_E); - return ret; + return 0; } @@ -160,15 +168,23 @@ static int bfin_sdh_request(struct mmc *mmc, struct mmc_cmd *cmd, u32 status; int ret = 0; + if (data) { + ret = sdh_setup_data(mmc, data); + if (ret) + return ret; + } + ret = sdh_send_cmd(mmc, cmd); if (ret) { bfin_write_SDH_COMMAND(0); + bfin_write_DMA_CONFIG(0); + bfin_write_SDH_DATA_CTL(0); SSYNC(); printf(sending CMD%d failed\n, cmd-cmdidx); return ret; } + if (data) { - ret = sdh_setup_data(mmc, data); do { udelay(1); status = bfin_read_SDH_STATUS(); @@ -253,6 +269,7 @@ static int bfin_sdh_init(struct mmc *mmc) bfin_write_SDH_PWR_CTL(PWR_ON | ROD_CTL); #else bfin_write_SDH_CFG(bfin_read_SDH_CFG() | PWR_ON); +#endif return 0; } -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 07/16] Blackfin: Spi: add bf6xx spi driver
From: Scott Jiang scott.jiang.li...@gmail.com Spi driver for bf60x is different from old one, so implement a new driver for it. Signed-off-by: Scott Jiang scott.jiang.li...@gmail.com Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- .../blackfin/include/asm/mach-common/bits/spi6xx.h | 240 +++ drivers/spi/Makefile |1 + drivers/spi/bfin_spi6xx.c | 308 include/configs/bf609-ezkit.h |9 + 4 files changed, 558 insertions(+) create mode 100644 arch/blackfin/include/asm/mach-common/bits/spi6xx.h create mode 100644 drivers/spi/bfin_spi6xx.c diff --git a/arch/blackfin/include/asm/mach-common/bits/spi6xx.h b/arch/blackfin/include/asm/mach-common/bits/spi6xx.h new file mode 100644 index 000..535a24a --- /dev/null +++ b/arch/blackfin/include/asm/mach-common/bits/spi6xx.h @@ -0,0 +1,240 @@ +/* + * Analog Devices SPI3 controller driver + * + * Copyright (c) 2011 Analog Devices Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef _SPI_CHANNEL_H_ +#define _SPI_CHANNEL_H_ + +#include linux/types.h + +/* SPI_CONTROL */ +#define SPI_CTL_EN 0x0001/* Enable */ +#define SPI_CTL_MSTR0x0002/* Master/Slave */ +#define SPI_CTL_PSSE0x0004/* controls modf error in master mode */ +#define SPI_CTL_ODM 0x0008/* Open Drain Mode */ +#define SPI_CTL_CPHA0x0010/* Clock Phase */ +#define SPI_CTL_CPOL0x0020/* Clock Polarity */ +#define SPI_CTL_ASSEL 0x0040/* Slave Select Pin Control */ +#define SPI_CTL_SELST 0x0080/* Slave Select Polarity in-between transfers */ +#define SPI_CTL_EMISO 0x0100/* Enable MISO */ +#define SPI_CTL_SIZE0x0600/* Word Transfer Size */ +#define SPI_CTL_SIZE08 0x/* SIZE: 8 bits */ +#define SPI_CTL_SIZE16 0x0200/* SIZE: 16 bits */ +#define SPI_CTL_SIZE32 0x0400/* SIZE: 32 bits */ +#define SPI_CTL_LSBF0x1000/* LSB First */ +#define SPI_CTL_FCEN0x2000/* Flow-Control Enable */ +#define SPI_CTL_FCCH0x4000/* Flow-Control Channel Selection */ +#define SPI_CTL_FCPL0x8000/* Flow-Control Polarity */ +#define SPI_CTL_FCWM0x0003/* Flow-Control Water-Mark */ +#define SPI_CTL_FIFO0 0x/* FCWM: TFIFO empty or RFIFO Full */ +#define SPI_CTL_FIFO1 0x0001/* FCWM: TFIFO 75% or more empty or RFIFO 75% or more full */ +#define SPI_CTL_FIFO2 0x0002/* FCWM: TFIFO 50% or more empty or RFIFO 50% or more full */ +#define SPI_CTL_FMODE 0x0004/* Fast-mode Enable */ +#define SPI_CTL_MIOM0x0030/* Multiple I/O Mode */ +#define SPI_CTL_MIO_DIS 0x/* MIOM: Disable */ +#define SPI_CTL_MIO_DUAL0x0010/* MIOM: Enable DIOM (Dual I/O Mode) */ +#define SPI_CTL_MIO_QUAD0x0020/* MIOM: Enable QUAD (Quad SPI Mode) */ +#define SPI_CTL_SOSI0x0040/* Start on MOSI */ +/* SPI_RX_CONTROL */ +#define SPI_RXCTL_REN 0x0001/* Receive Channel Enable */ +#define SPI_RXCTL_RTI 0x0004/* Receive Transfer Initiate */ +#define SPI_RXCTL_RWCEN 0x0008/* Receive Word Counter Enable */ +#define SPI_RXCTL_RDR 0x0070/* Receive Data Request */ +#define SPI_RXCTL_RDR_DIS 0x/* RDR: Disabled */ +#define SPI_RXCTL_RDR_NE0x0010/* RDR: RFIFO not empty */ +#define SPI_RXCTL_RDR_250x0020/* RDR: RFIFO 25% full */ +#define SPI_RXCTL_RDR_500x0030/* RDR: RFIFO 50% full */ +#define SPI_RXCTL_RDR_750x0040/* RDR: RFIFO 75% full */ +#define SPI_RXCTL_RDR_FULL 0x0050/* RDR: RFIFO full */ +#define SPI_RXCTL_RDO 0x0100/* Receive Data Over-Run */ +#define SPI_RXCTL_RRWM 0x3000/* FIFO Regular Water-Mark */ +#define SPI_RXCTL_RWM_0 0x/*
[U-Boot] [PATCH 16/16] Blackfin: update license to Clear BSD license.
From: Sonic Zhang sonic.zh...@analog.com Per the request from ADI Legal. Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/Clear_BSD.txt| 33 arch/blackfin/cpu/bootcount.c |2 +- arch/blackfin/cpu/os_log.c |2 +- arch/blackfin/include/asm/mach-bf506/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf518/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf527/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf533/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf537/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf538/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf548/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf561/anomaly.h |3 +-- arch/blackfin/include/asm/mach-bf609/anomaly.h |3 +-- 12 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 arch/blackfin/Clear_BSD.txt diff --git a/arch/blackfin/Clear_BSD.txt b/arch/blackfin/Clear_BSD.txt new file mode 100644 index 000..bfa4b37 --- /dev/null +++ b/arch/blackfin/Clear_BSD.txt @@ -0,0 +1,33 @@ +The Clear BSD license: + +Copyright (c) 2012, Analog Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted (subject to the limitations in the +disclaimer below) provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + +* Neither the name of Analog Devices, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE +GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT +HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/arch/blackfin/cpu/bootcount.c b/arch/blackfin/cpu/bootcount.c index 6cf6dd5..83e8546 100644 --- a/arch/blackfin/cpu/bootcount.c +++ b/arch/blackfin/cpu/bootcount.c @@ -3,7 +3,7 @@ * * Copyright (c) 2010 Analog Devices Inc. * - * Licensed under the 2-clause BSD. + * Licensed under the Clear BSD. */ /* This version uses one 32bit storage and combines the magic/count */ diff --git a/arch/blackfin/cpu/os_log.c b/arch/blackfin/cpu/os_log.c index e1c8e29..51501f7 100644 --- a/arch/blackfin/cpu/os_log.c +++ b/arch/blackfin/cpu/os_log.c @@ -3,7 +3,7 @@ * * Copyright (c) 2009 Analog Devices Inc. * - * Licensed under the 2-clause BSD. + * Licensed under the Clear BSD. */ #include common.h diff --git a/arch/blackfin/include/asm/mach-bf506/anomaly.h b/arch/blackfin/include/asm/mach-bf506/anomaly.h index 5b3227a..00d5e43 100644 --- a/arch/blackfin/include/asm/mach-bf506/anomaly.h +++ b/arch/blackfin/include/asm/mach-bf506/anomaly.h @@ -6,8 +6,7 @@ * DO NOT EDIT THIS FILE * * Copyright 2004-2011 Analog Devices Inc. - * Licensed under the ADI BSD license. - * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd + * Licensed under the Clear BSD license. */ /* This file should be up to date with: diff --git a/arch/blackfin/include/asm/mach-bf518/anomaly.h b/arch/blackfin/include/asm/mach-bf518/anomaly.h index 56383f7..845e6bc 100644 --- a/arch/blackfin/include/asm/mach-bf518/anomaly.h +++ b/arch/blackfin/include/asm/mach-bf518/anomaly.h @@ -6,8 +6,7 @@ * DO NOT EDIT THIS FILE * * Copyright 2004-2011 Analog Devices Inc. - * Licensed under the ADI BSD license. - * https://docs.blackfin.uclinux.org/doku.php?id=adi_bsd + * Licensed under the Clear BSD license. */ /* This file should be up to date with: diff --git a/arch/blackfin/include/asm/mach-bf527/anomaly.h b/arch/blackfin/include/asm/mach-bf527/anomaly.h index 6884706..aa14110 100644 --- a/arch/blackfin/include/asm/mach-bf527/anomaly.h +++ b/arch/blackfin/include/asm/mach-bf527/anomaly.h @@ -6,8 +6,7 @@ * DO NOT EDIT THIS FILE * * Copyright 2004-2011 Analog Devices Inc. - *
[U-Boot] [PATCH 14/16] Blackfin: setup SMC if user desires it
From: Mike Frysinger vap...@gentoo.org The static memory controller is how people connect flashes to newer Blackfin processors, so add knobs for people to program settings if they so desire. Signed-off-by: Mike Frysinger vap...@gentoo.org Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.h | 51 ++ 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/arch/blackfin/cpu/initcode.h b/arch/blackfin/cpu/initcode.h index d263ab3..0b8c033 100644 --- a/arch/blackfin/cpu/initcode.h +++ b/arch/blackfin/cpu/initcode.h @@ -50,13 +50,12 @@ program_async_controller(ADI_BOOT_DATA *bs) serial_putc('a'); #ifdef __ADSPBF60x__ - -#else /* __ADSPBF60x__ */ - /* Program the async banks controller. */ +#ifdef EBIU_AMGCTL bfin_write_EBIU_AMBCTL0(CONFIG_EBIU_AMBCTL0_VAL); bfin_write_EBIU_AMBCTL1(CONFIG_EBIU_AMBCTL1_VAL); bfin_write_EBIU_AMGCTL(CONFIG_EBIU_AMGCTL_VAL); +#endif serial_putc('b'); @@ -73,8 +72,52 @@ program_async_controller(ADI_BOOT_DATA *bs) # endif #endif -#endif serial_putc('c'); + +#else /* __ADSPBF60x__ */ + /* Program the static memory controller. */ +# ifdef CONFIG_SMC_GCTL_VAL + bfin_write_SMC_GCTL(CONFIG_SMC_GCTL_VAL); +# endif +# ifdef CONFIG_SMC_B0CTL_VAL + bfin_write_SMC_B0CTL(CONFIG_SMC_B0CTL_VAL); +# endif +# ifdef CONFIG_SMC_B0TIM_VAL + bfin_write_SMC_B0TIM(CONFIG_SMC_B0TIM_VAL); +# endif +# ifdef CONFIG_SMC_B0ETIM_VAL + bfin_write_SMC_B0ETIM(CONFIG_SMC_B0ETIM_VAL); +# endif +# ifdef CONFIG_SMC_B1CTL_VAL + bfin_write_SMC_B1CTL(CONFIG_SMC_B1CTL_VAL); +# endif +# ifdef CONFIG_SMC_B1TIM_VAL + bfin_write_SMC_B1TIM(CONFIG_SMC_B1TIM_VAL); +# endif +# ifdef CONFIG_SMC_B1ETIM_VAL + bfin_write_SMC_B1ETIM(CONFIG_SMC_B1ETIM_VAL); +# endif +# ifdef CONFIG_SMC_B2CTL_VAL + bfin_write_SMC_B2CTL(CONFIG_SMC_B2CTL_VAL); +# endif +# ifdef CONFIG_SMC_B2TIM_VAL + bfin_write_SMC_B2TIM(CONFIG_SMC_B2TIM_VAL); +# endif +# ifdef CONFIG_SMC_B2ETIM_VAL + bfin_write_SMC_B2ETIM(CONFIG_SMC_B2ETIM_VAL); +# endif +# ifdef CONFIG_SMC_B3CTL_VAL + bfin_write_SMC_B3CTL(CONFIG_SMC_B3CTL_VAL); +# endif +# ifdef CONFIG_SMC_B3TIM_VAL + bfin_write_SMC_B3TIM(CONFIG_SMC_B3TIM_VAL); +# endif +# ifdef CONFIG_SMC_B3ETIM_VAL + bfin_write_SMC_B3ETIM(CONFIG_SMC_B3ETIM_VAL); +# endif + +#endif + serial_putc('d'); } #endif -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 15/16] Blackfin: Bf60x: add resume from hibernate
From: Steven Miao real...@gmail.com Add Bf60x resume from hibernate support Signed-off-by: Steven Miao real...@gmail.com Signed-off-by: Sonic Zhang sonic.zh...@analog.com Signed-off-by: Bob Liu lliu...@gmail.com --- arch/blackfin/cpu/initcode.c | 46 ++ 1 file changed, 46 insertions(+) diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index c68302f..0640c81 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -507,6 +507,11 @@ maybe_self_refresh(ADI_BOOT_DATA *bs) return false; #ifdef __ADSPBF60x__ + /* resume from hibernate, return false let ddr initialize */ + if ((bfin_read32(DPM0_STAT) 0xF0) == 0x50) { + serial_putc('b'); + return false; + } #else /* __ADSPBF60x__ */ @@ -821,6 +826,7 @@ program_memory_controller(ADI_BOOT_DATA *bs, bool put_into_srfs) while (!(bfin_read_DMC0_STAT() DLLCALDONE)) continue; serial_putc('!'); + #else /* __ADSPBF60x__ */ /* Program the external memory controller before we come out of @@ -888,7 +894,46 @@ check_hibernation(ADI_BOOT_DATA *bs, u16 vr_ctl, bool put_into_srfs) return; serial_putc('b'); +#ifdef __ADSPBF60x__ + if (bfin_read32(DPM0_RESTORE0) != 0) { + uint32_t reg = bfin_read_DMC0_CTL(); + reg = ~0x8; + bfin_write_DMC0_CTL(reg); + + while ((bfin_read_DMC0_STAT() 0x8)) + continue; + while (!(bfin_read_DMC0_STAT() 0x1)) + continue; + + serial_putc('z'); + volatile uint32_t *hibernate_magic = bfin_read32(DPM0_RESTORE4); + __builtin_bfin_ssync(); /* make sure memory controller is done */ + if (hibernate_magic[0] == 0xDEADBEEF) { + serial_putc('c'); + + __builtin_bfin_ssync(); + + bfin_write_EVT15(hibernate_magic[1]); + bfin_write_IMASK(EVT_IVG15); + __asm__ __volatile__ ( + /* load reti early to avoid anomaly 281 */ + reti = %2; + /* clear hibernate magic */ + [%0] = %1; + /* load stack pointer */ + SP = [%0 + 8]; + /* lower ourselves from reset ivg to ivg15 */ + raise 15; + nop;nop;nop; + rti; + : + : p(hibernate_magic), d(0x2000 /* jump.s 0 */), d(0xffa0) + ); + } + + } +#else /* Are we coming out of hibernate (suspend to memory) ? * The memory layout is: * 0x0: hibernate magic for anomaly 307 (0xDEADBEEF) @@ -920,6 +965,7 @@ check_hibernation(ADI_BOOT_DATA *bs, u16 vr_ctl, bool put_into_srfs) } serial_putc('d'); } +#endif serial_putc('e'); } -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] patman patches
Hi guys, Is it a good place to post patman patches? Or should I go to some chromium list? Regards, Ilya. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] patman patches
On 07/08/2012 10:54, Ilya Yanok wrote: Hi guys, Hi Ilya, Is it a good place to post patman patches? Or should I go to some chromium list? IMHO here is the best place, patman is integrated in u-boot and your patches can be discussed on this ML - my 2 cents. Regards, Stefano -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] patman patches
Hi Stefano, On Tue, Aug 7, 2012 at 12:57 PM, Stefano Babic sba...@denx.de wrote: On 07/08/2012 10:54, Ilya Yanok wrote: Hi guys, Hi Ilya, Is it a good place to post patman patches? Or should I go to some chromium list? IMHO here is the best place, patman is integrated in u-boot and your patches can be discussed on this ML - my 2 cents. Ok, I'll post some then. Regards, Ilya. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/6] mxs: reorganize source directory for easy sharing of code in i.MXS SoCs
On 05/08/2012 21:05, Otavio Salvador wrote: Most code can be shared between i.MX23 and i.MX28 as both are from i.MXS family; this source directory structure makes easy to share code among them. Signed-off-by: Otavio Salvador ota...@ossystems.com.br --- Whole series applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/4] MX28: Fix up the MMC driver DMA mode
On 07/07/2012 09:25, Marek Vasut wrote: The DMA mode didn't properly configure the DMA_ENABLE bit in CTRL1. Also, it was using SSP0 DMA channel for all SSP devices. Signed-off-by: Marek Vasut ma...@denx.de Cc: Wolfgang Denk w...@denx.de Cc: Stefano Babic sba...@denx.de Cc: Fabio Estevam feste...@freescale.com Cc: Andy Fleming aflem...@freescale.com --- Whole series applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/2] ARM: OMAP4/5: Remove dead code against CONFIG_SYS_CLOCKS_ENABLE_ALL
The commit f3f98bb0 : ARM: OMAP4/5: Do not configure non essential pads, clocks, dplls removed the config option aimed towards moving that stuff into kernel, which renders some code unreachable. Remove that code. Signed-off-by: Jassi Brar jaswinder.si...@linaro.org --- Hi, The commit f3f98bb0 seems to suggest we want to move these settings into the kernel, but perhaps we should also evaluate the option of making these inits fully board specific but in u-boot? Thanks. arch/arm/cpu/armv7/omap-common/clocks-common.c | 47 - arch/arm/cpu/armv7/omap4/clocks.c | 84 --- arch/arm/cpu/armv7/omap5/clocks.c | 87 arch/arm/include/asm/arch-omap4/clocks.h |1 - arch/arm/include/asm/arch-omap5/clocks.h |1 - 5 files changed, 0 insertions(+), 220 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/clocks-common.c b/arch/arm/cpu/armv7/omap-common/clocks-common.c index b1fd277..fc14465 100644 --- a/arch/arm/cpu/armv7/omap-common/clocks-common.c +++ b/arch/arm/cpu/armv7/omap-common/clocks-common.c @@ -326,49 +326,6 @@ static void setup_dplls(void) #endif } -#ifdef CONFIG_SYS_CLOCKS_ENABLE_ALL -static void setup_non_essential_dplls(void) -{ - u32 abe_ref_clk; - const struct dpll_params *params; - - /* IVA */ - clrsetbits_le32(prcm-cm_bypclk_dpll_iva, - CM_BYPCLK_DPLL_IVA_CLKSEL_MASK, DPLL_IVA_CLKSEL_CORE_X2_DIV_2); - - params = get_iva_dpll_params(); - do_setup_dpll(prcm-cm_clkmode_dpll_iva, params, DPLL_LOCK, iva); - - /* Configure ABE dpll */ - params = get_abe_dpll_params(); -#ifdef CONFIG_SYS_OMAP_ABE_SYSCK - abe_ref_clk = CM_ABE_PLL_REF_CLKSEL_CLKSEL_SYSCLK; -#else - abe_ref_clk = CM_ABE_PLL_REF_CLKSEL_CLKSEL_32KCLK; - /* -* We need to enable some additional options to achieve -* 196.608MHz from 32768 Hz -*/ - setbits_le32(prcm-cm_clkmode_dpll_abe, - CM_CLKMODE_DPLL_DRIFTGUARD_EN_MASK| - CM_CLKMODE_DPLL_RELOCK_RAMP_EN_MASK| - CM_CLKMODE_DPLL_LPMODE_EN_MASK| - CM_CLKMODE_DPLL_REGM4XEN_MASK); - /* Spend 4 REFCLK cycles at each stage */ - clrsetbits_le32(prcm-cm_clkmode_dpll_abe, - CM_CLKMODE_DPLL_RAMP_RATE_MASK, - 1 CM_CLKMODE_DPLL_RAMP_RATE_SHIFT); -#endif - - /* Select the right reference clk */ - clrsetbits_le32(prcm-cm_abe_pll_ref_clksel, - CM_ABE_PLL_REF_CLKSEL_CLKSEL_MASK, - abe_ref_clk CM_ABE_PLL_REF_CLKSEL_CLKSEL_SHIFT); - /* Lock the dpll */ - do_setup_dpll(prcm-cm_clkmode_dpll_abe, params, DPLL_LOCK, abe); -} -#endif - void do_scale_tps62361(int gpio, u32 reg, u32 volt_mv) { u32 step; @@ -584,10 +541,6 @@ void prcm_init(void) enable_basic_clocks(); scale_vcores(); setup_dplls(); -#ifdef CONFIG_SYS_CLOCKS_ENABLE_ALL - setup_non_essential_dplls(); - enable_non_essential_clocks(); -#endif break; default: break; diff --git a/arch/arm/cpu/armv7/omap4/clocks.c b/arch/arm/cpu/armv7/omap4/clocks.c index 5bd0a88..b3fc652 100644 --- a/arch/arm/cpu/armv7/omap4/clocks.c +++ b/arch/arm/cpu/armv7/omap4/clocks.c @@ -431,87 +431,3 @@ void enable_basic_uboot_clocks(void) clk_modules_explicit_en_essential, 1); } - -/* - * Enable non-essential clock domains, modules and - * do some additional special settings needed - */ -void enable_non_essential_clocks(void) -{ - u32 *const clk_domains_non_essential[] = { - prcm-cm_mpu_m3_clkstctrl, - prcm-cm_ivahd_clkstctrl, - prcm-cm_dsp_clkstctrl, - prcm-cm_dss_clkstctrl, - prcm-cm_sgx_clkstctrl, - prcm-cm1_abe_clkstctrl, - prcm-cm_c2c_clkstctrl, - prcm-cm_cam_clkstctrl, - prcm-cm_dss_clkstctrl, - prcm-cm_sdma_clkstctrl, - 0 - }; - - u32 *const clk_modules_hw_auto_non_essential[] = { - prcm-cm_l3instr_l3_3_clkctrl, - prcm-cm_l3instr_l3_instr_clkctrl, - prcm-cm_l3instr_intrconn_wp1_clkctrl, - prcm-cm_l3init_hsi_clkctrl, - 0 - }; - - u32 *const clk_modules_explicit_en_non_essential[] = { - prcm-cm1_abe_aess_clkctrl, - prcm-cm1_abe_pdm_clkctrl, - prcm-cm1_abe_dmic_clkctrl, - prcm-cm1_abe_mcasp_clkctrl, - prcm-cm1_abe_mcbsp1_clkctrl, - prcm-cm1_abe_mcbsp2_clkctrl, - prcm-cm1_abe_mcbsp3_clkctrl, - prcm-cm1_abe_slimbus_clkctrl, - prcm-cm1_abe_timer5_clkctrl, - prcm-cm1_abe_timer6_clkctrl, -
[U-Boot] [PATCH 2/2] ARM: OMAP4/5: Remove dead code against CONFIG_SYS_ENABLE_PADS_ALL
The commit f3f98bb0 : ARM: OMAP4/5: Do not configure non essential pads, clocks, dplls removed the config option aimed towards moving that stuff into kernel, which renders some code unreachable. Remove that code. Signed-off-by: Jassi Brar jaswinder.si...@linaro.org --- arch/arm/cpu/armv7/omap-common/hwinit-common.c |6 - arch/arm/include/asm/arch-omap4/sys_proto.h|1 - arch/arm/include/asm/arch-omap5/sys_proto.h|1 - board/ti/omap5_evm/evm.c | 11 - board/ti/omap5_evm/mux_data.h | 234 board/ti/panda/panda.c | 28 --- board/ti/panda/panda_mux_data.h| 186 --- board/ti/sdp4430/sdp.c | 18 -- board/ti/sdp4430/sdp4430_mux_data.h| 197 9 files changed, 0 insertions(+), 682 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c index 459ebb5..077fc27 100644 --- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c +++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c @@ -51,16 +51,10 @@ static void set_mux_conf_regs(void) set_muxconf_regs_essential(); break; case OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL: -#ifdef CONFIG_SYS_ENABLE_PADS_ALL - set_muxconf_regs_non_essential(); -#endif break; case OMAP_INIT_CONTEXT_UBOOT_FROM_NOR: case OMAP_INIT_CONTEXT_UBOOT_AFTER_CH: set_muxconf_regs_essential(); -#ifdef CONFIG_SYS_ENABLE_PADS_ALL - set_muxconf_regs_non_essential(); -#endif break; } } diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h index d633573..90befa1 100644 --- a/arch/arm/include/asm/arch-omap4/sys_proto.h +++ b/arch/arm/include/asm/arch-omap4/sys_proto.h @@ -37,7 +37,6 @@ void watchdog_init(void); u32 get_device_type(void); void do_set_mux(u32 base, struct pad_conf_entry const *array, int size); void set_muxconf_regs_essential(void); -void set_muxconf_regs_non_essential(void); void sr32(void *, u32, u32, u32); u32 wait_on_value(u32, u32, void *, u32); void sdelay(unsigned long); diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h index 74feb90..9a49393 100644 --- a/arch/arm/include/asm/arch-omap5/sys_proto.h +++ b/arch/arm/include/asm/arch-omap5/sys_proto.h @@ -38,7 +38,6 @@ void watchdog_init(void); u32 get_device_type(void); void do_set_mux(u32 base, struct pad_conf_entry const *array, int size); void set_muxconf_regs_essential(void); -void set_muxconf_regs_non_essential(void); void sr32(void *, u32, u32, u32); u32 wait_on_value(u32, u32, void *, u32); void sdelay(unsigned long); diff --git a/board/ti/omap5_evm/evm.c b/board/ti/omap5_evm/evm.c index c8dfdf8..4b61819 100644 --- a/board/ti/omap5_evm/evm.c +++ b/board/ti/omap5_evm/evm.c @@ -80,17 +80,6 @@ void set_muxconf_regs_essential(void) sizeof(struct pad_conf_entry)); } -void set_muxconf_regs_non_essential(void) -{ - do_set_mux(CONTROL_PADCONF_CORE, core_padconf_array_non_essential, - sizeof(core_padconf_array_non_essential) / - sizeof(struct pad_conf_entry)); - - do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_non_essential, - sizeof(wkup_padconf_array_non_essential) / - sizeof(struct pad_conf_entry)); -} - #if !defined(CONFIG_SPL_BUILD) defined(CONFIG_GENERIC_MMC) int board_mmc_init(bd_t *bis) { diff --git a/board/ti/omap5_evm/mux_data.h b/board/ti/omap5_evm/mux_data.h index a82795d..c5af6cd 100644 --- a/board/ti/omap5_evm/mux_data.h +++ b/board/ti/omap5_evm/mux_data.h @@ -67,238 +67,4 @@ const struct pad_conf_entry wkup_padconf_array_essential[] = { }; -const struct pad_conf_entry core_padconf_array_non_essential[] = { - - {C2C_DATAIN0, (IEN | M0)},/* C2C_DATAIN0 */ - {C2C_DATAIN1, (IEN | M0)},/* C2C_DATAIN1 */ - {C2C_DATAIN2, (IEN | M0)},/* C2C_DATAIN2 */ - {C2C_DATAIN3, (IEN | M0)},/* C2C_DATAIN3 */ - {C2C_DATAIN4, (IEN | M0)},/* C2C_DATAIN4 */ - {C2C_DATAIN5, (IEN | M0)},/* C2C_DATAIN5 */ - {C2C_DATAIN6, (IEN | M0)},/* C2C_DATAIN6 */ - {C2C_DATAIN7, (IEN | M0)},/* C2C_DATAIN7 */ - {C2C_CLKIN1, (IEN | M0)},/* C2C_CLKIN1*/ - {C2C_CLKIN0, (IEN | M0)},/* C2C_CLKIN0*/ - {C2C_CLKOUT0, (M0)},/* C2C_CLKOUT0 */ - {C2C_CLKOUT1, (M0)},/* C2C_CLKOUT1 */ - {C2C_DATAOUT0, (M0)},/* C2C_DATAOUT0 */ - {C2C_DATAOUT1, (M0)},/* C2C_DATAOUT1 */ - {C2C_DATAOUT2, (M0)},/* C2C_DATAOUT2 */ - {C2C_DATAOUT3, (M0)},/* C2C_DATAOUT3 */ - {C2C_DATAOUT4, (M0)},/* C2C_DATAOUT4 */ - {C2C_DATAOUT5, (M0)},/* C2C_DATAOUT5 */
Re: [U-Boot] [PATCH 2/2] vision2: do not overwrite the console
On 05/08/2012 19:31, Fabio Estevam wrote: From: Fabio Estevam fabio.este...@freescale.com On this board, the console is always set to the serial line. Do not allow to overwrite it when video is enabled. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] mx51evk: do not overwrite the console
On 05/08/2012 19:31, Fabio Estevam wrote: From: Fabio Estevam fabio.este...@freescale.com On this board, the console is always set to the serial line. Do not allow to overwrite it when video is enabled. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2] MX28: Add SchulerControl SC_SPS_1 platform
On 05/08/2012 12:37, Marek Vasut wrote: This i.MX28 platform supports the following: * 2x FEC ethernet * USB on USBH0 * I2C EEPROM * SPI NVRAM * LEDs Signed-off-by: Marek Vasut ma...@denx.de --- board/schulercontrol/sc_sps_1/Makefile | 47 +++ board/schulercontrol/sc_sps_1/sc_sps_1.c | 113 board/schulercontrol/sc_sps_1/spl_boot.c | 165 boards.cfg |1 + include/configs/sc_sps_1.h | 208 ++ 5 files changed, 534 insertions(+) create mode 100644 board/schulercontrol/sc_sps_1/Makefile create mode 100644 board/schulercontrol/sc_sps_1/sc_sps_1.c create mode 100644 board/schulercontrol/sc_sps_1/spl_boot.c create mode 100644 include/configs/sc_sps_1.h You forget the MAINTAINER file Stefano -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/4] patman: fix end of changes detection
Changes may end in '---' line or Signoff line (generated by git format-patch) in case of Series-changes: lines being the last ones in commit message. So detect it properly. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- tools/patman/patchstream.py |6 ++ 1 file changed, 6 insertions(+) diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py index be40af3..036b129 100644 --- a/tools/patman/patchstream.py +++ b/tools/patman/patchstream.py @@ -36,6 +36,9 @@ re_remove = re.compile('^BUG=|^TEST=|^Change-Id:|^Review URL:' # Lines which are allowed after a TEST= line re_allowed_after_test = re.compile('^Signed-off-by:') +# Signoffs +re_signoff = re.compile('^Signed-off-by:') + # The start of the cover letter re_cover = re.compile('^Cover-letter:') @@ -207,6 +210,9 @@ class PatchStream: if is_blank: # Blank line ends this change list self.in_change = 0 +elif line == '---' or re_signoff.match(line): +self.in_change = 0 +out = self.ProcessLine(line) else: self.series.AddChange(self.in_change, self.commit, line) self.skip_blank = False -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 0/4] Some patman fixes
Patman is the great tool but I've found it nearly unusable for me. First of all I need to work with multiple signoffs in commits, then I'd like to use multiline changelog entries and I accostomed to putting changelog enties to the bottom of the commit. These patches fix changelog processing and disables additional signoff and changelog processing. Ilya Yanok (4): patman: fix end of changes detection patman: don't pick changes while processing patches patman: don't mess with changelog patman: don't mess with signoffs tools/patman/patchstream.py | 22 ++ tools/patman/series.py |5 ++--- 2 files changed, 12 insertions(+), 15 deletions(-) -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/4] patman: don't pick changes while processing patches
We already got all changes from git log output and the comment to the ProcessLine function clearly states that 'patch' mode is not for scanning tags. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- tools/patman/patchstream.py |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py index 036b129..3de32d5 100644 --- a/tools/patman/patchstream.py +++ b/tools/patman/patchstream.py @@ -214,7 +214,8 @@ class PatchStream: self.in_change = 0 out = self.ProcessLine(line) else: -self.series.AddChange(self.in_change, self.commit, line) +if self.is_log: +self.series.AddChange(self.in_change, self.commit, line) self.skip_blank = False # Detect Series-xxx tags -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 3/4] patman: don't mess with changelog
Don't try to sort and uniq changelog entries as this breaks multiline entries. It will be better to add some real multi-line support but for now just preserve the entries as is. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- tools/patman/series.py |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/patman/series.py b/tools/patman/series.py index 05d9e73..4e7cb71 100644 --- a/tools/patman/series.py +++ b/tools/patman/series.py @@ -154,10 +154,9 @@ class Series(dict): for this_commit, text in self.changes[change]: if commit and this_commit != commit: continue -if text not in out: -out.append(text) +out.append(text) if out: -out = ['Changes in v%d:' % change] + sorted(out) +out = ['Changes in v%d:' % change] + out if need_blank: out = [''] + out final += out -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 4/4] patman: don't mess with signoffs
Currently patman assumes that there should be only one Signoff line and this is obviously incorrect: we often have to work with patches containing other people signoffs. Moreover, it's really desirable to preserve the comments between signoffs. So until some sophisticated signoff processing will be developed I suggest just don't mess with signoffs at all and treat them like plain text lines. The only drawback I've found so far is the case where you have a patch with someones else signoff but not yours and also have to patman tags under signoff line. In this case you will get extra empty line between signoffs. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- tools/patman/patchstream.py | 13 ++--- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py index 3de32d5..0503bac 100644 --- a/tools/patman/patchstream.py +++ b/tools/patman/patchstream.py @@ -46,7 +46,7 @@ re_cover = re.compile('^Cover-letter:') re_series = re.compile('^Series-(\w*): *(.*)') # Commit tags that we want to collect and keep -re_tag = re.compile('^(Tested-by|Acked-by|Signed-off-by|Cc): (.*)') +re_tag = re.compile('^(Tested-by|Acked-by|Cc): (.*)') # The start of a new commit in the git log re_commit = re.compile('^commit (.*)') @@ -241,15 +241,8 @@ class PatchStream: # Detect tags in the commit message elif tag_match: -# Onlly allow a single signoff tag -if tag_match.group(1) == 'Signed-off-by': -if self.signoff: -self.warn.append('Patch has more than one Signed-off-by ' -'tag') -self.signoff += [line] - # Remove Tested-by self, since few will take much notice -elif (tag_match.group(1) == 'Tested-by' and +if (tag_match.group(1) == 'Tested-by' and tag_match.group(2).find(os.getenv('USER') + '@') != -1): self.warn.append(Ignoring %s % line) elif tag_match.group(1) == 'Cc': @@ -288,8 +281,6 @@ class PatchStream: # Output the tags (signeoff first), then change list out = [] -if self.signoff: -out += self.signoff log = self.series.MakeChangeLog(self.commit) out += self.FormatTags(self.tags) out += [line] + log -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V3] MX28: Add SchulerControl SC_SPS_1 platform
This i.MX28 platform supports the following: * 2x FEC ethernet * USB on USBH0 * I2C EEPROM * SPI NVRAM * LEDs Signed-off-by: Marek Vasut ma...@denx.de --- MAINTAINERS |1 + board/schulercontrol/sc_sps_1/Makefile | 47 +++ board/schulercontrol/sc_sps_1/sc_sps_1.c | 113 board/schulercontrol/sc_sps_1/spl_boot.c | 165 boards.cfg |1 + include/configs/sc_sps_1.h | 208 ++ 6 files changed, 535 insertions(+) create mode 100644 board/schulercontrol/sc_sps_1/Makefile create mode 100644 board/schulercontrol/sc_sps_1/sc_sps_1.c create mode 100644 board/schulercontrol/sc_sps_1/spl_boot.c create mode 100644 include/configs/sc_sps_1.h V2: Removed u-boot.bd in favor of shared file V3: Add missing maintainers entry diff --git a/MAINTAINERS b/MAINTAINERS index 2bd22cc..7ef4451 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -895,6 +895,7 @@ Marek Vasut marek.va...@gmail.com vpac270 xscale/pxa zipitz2 xscale/pxa m28evk i.MX28 + sc_sps_1i.MX28 efikamx i.MX51 efikasb i.MX51 diff --git a/board/schulercontrol/sc_sps_1/Makefile b/board/schulercontrol/sc_sps_1/Makefile new file mode 100644 index 000..24a1003 --- /dev/null +++ b/board/schulercontrol/sc_sps_1/Makefile @@ -0,0 +1,47 @@ +# +# (C) Copyright 2000-2012 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).o + +ifndef CONFIG_SPL_BUILD +COBJS := sc_sps_1.o +else +COBJS := spl_boot.o +endif + +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +$(LIB):$(obj).depend $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/schulercontrol/sc_sps_1/sc_sps_1.c b/board/schulercontrol/sc_sps_1/sc_sps_1.c new file mode 100644 index 000..0fee289 --- /dev/null +++ b/board/schulercontrol/sc_sps_1/sc_sps_1.c @@ -0,0 +1,113 @@ +/* + * SchulerControl GmbH, SC_SPS_1 module + * + * Copyright (C) 2012 Marek Vasut ma...@denx.de + * on behalf of DENX Software Engineering GmbH + * + * 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 common.h +#include asm/gpio.h +#include asm/io.h +#include asm/arch/imx-regs.h +#include asm/arch/iomux-mx28.h +#include asm/arch/clock.h +#include asm/arch/sys_proto.h +#include linux/mii.h +#include miiphy.h +#include netdev.h +#include errno.h + +DECLARE_GLOBAL_DATA_PTR; + +/* + * Functions + */ +int board_early_init_f(void) +{ + /* IO0 clock at 480MHz */ + mx28_set_ioclk(MXC_IOCLK0, 48); + /* IO1 clock at 480MHz */ + mx28_set_ioclk(MXC_IOCLK1, 48); + + /* SSP0 clock at 96MHz */ + mx28_set_sspclk(MXC_SSPCLK0, 96000, 0); + /* SSP2 clock at 96MHz */ + mx28_set_sspclk(MXC_SSPCLK2, 96000, 0); + +#ifdef CONFIG_CMD_USB + mxs_iomux_setup_pad(MX28_PAD_AUART1_CTS__USB0_OVERCURRENT); + mxs_iomux_setup_pad(MX28_PAD_AUART2_TX__GPIO_3_9 | + MXS_PAD_4MA | MXS_PAD_3V3 | MXS_PAD_NOPULL); +
Re: [U-Boot] [PATCH 1/4] MX28: Fix up the MMC driver DMA mode
Dear Stefano Babic, On 06/08/2012 23:23, Marek Vasut wrote: Dear Marek Vasut, The DMA mode didn't properly configure the DMA_ENABLE bit in CTRL1. Also, it was using SSP0 DMA channel for all SSP devices. Signed-off-by: Marek Vasut ma...@denx.de Cc: Wolfgang Denk w...@denx.de Cc: Stefano Babic sba...@denx.de Cc: Fabio Estevam feste...@freescale.com Cc: Andy Fleming aflem...@freescale.com Stefano, can you please apply these? They fix trouble and improve the platform and I ain't getting no reply from Andy and they shouldn't colide with anything in his tree. Ok - changes are only related to the MX28 driver. Maybe the patches should be in any case merged into u-boot-imx and not into u-boot-mmc. They should definitelly go through u-boot-mmc, I'm just circumventing the system here really, since I didn't get reply from Andy for a while. I am often unsure which custodian should take care of patches when they spread across more as one area. Andy (mmc) in this case ;-) I will merge them now. Best regards, Stefano Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] am335x_evm: enable SMSC PHY driver
Beaglebone uses SMSC PHY which works incorrectly with generic PHY driver so enable SMSC PHY driver to fix networking problems on Beaglebone. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com --- include/configs/am335x_evm.h |1 + 1 file changed, 1 insertion(+) diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 69ab076..c827ebf 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -242,5 +242,6 @@ #define CONFIG_NET_MULTI #define CONFIG_PHY_GIGE #define CONFIG_PHYLIB +#define CONFIG_PHY_SMSC #endif /* ! __CONFIG_AM335X_EVM_H */ -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2] serial: uartlite: Init all uartlites for serial multi
Initialize all possible uartlites and return the first initialized port. For static configuration is initialization done in userial_ports array. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/serial/serial_xuartlite.c | 34 +++--- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c index 3a38f9e..2bdb68b 100644 --- a/drivers/serial/serial_xuartlite.c +++ b/drivers/serial/serial_xuartlite.c @@ -89,11 +89,17 @@ int uartlite_serial_tstc(const int port) return in_be32(regs-status) SR_RX_FIFO_VALID_DATA; } +static int uartlite_serial_init(const int port) +{ + if (userial_ports[port]) + return 0; + return -1; +} + #if !defined(CONFIG_SERIAL_MULTI) int serial_init(void) { - /* FIXME: Nothing for now. We should initialize fifo, etc */ - return 0; + return uartlite_serial_init(0); } void serial_setbrg(void) @@ -126,7 +132,7 @@ int serial_tstc(void) /* Multi serial device functions */ #define DECLARE_ESERIAL_FUNCTIONS(port) \ int userial##port##_init(void) \ - { return(0); } \ + { return uartlite_serial_init(port); } \ void userial##port##_setbrg(void) {} \ int userial##port##_getc(void) \ { return uartlite_serial_getc(port); } \ @@ -163,17 +169,15 @@ struct serial_device uartlite_serial3_device = __weak struct serial_device *default_serial_console(void) { -# ifdef XILINX_UARTLITE_BASEADDR - return uartlite_serial0_device; -# endif /* XILINX_UARTLITE_BASEADDR */ -# ifdef XILINX_UARTLITE_BASEADDR1 - return uartlite_serial1_device; -# endif /* XILINX_UARTLITE_BASEADDR1 */ -# ifdef XILINX_UARTLITE_BASEADDR2 - return uartlite_serial2_device; -# endif /* XILINX_UARTLITE_BASEADDR2 */ -# ifdef XILINX_UARTLITE_BASEADDR3 - return uartlite_serial3_device; -# endif /* XILINX_UARTLITE_BASEADDR3 */ + if (userial_ports[0]) + return uartlite_serial0_device; + if (userial_ports[1]) + return uartlite_serial1_device; + if (userial_ports[2]) + return uartlite_serial2_device; + if (userial_ports[3]) + return uartlite_serial3_device; + + return NULL; } #endif /* CONFIG_SERIAL_MULTI */ -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/2] serial: Support serial multi for Microblaze
enable serial multi for Microblaze. Signed-off-by: Michal Simek mon...@monstr.eu --- include/serial.h |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/include/serial.h b/include/serial.h index 5173499..9475779 100644 --- a/include/serial.h +++ b/include/serial.h @@ -31,7 +31,8 @@ extern struct serial_device *default_serial_console(void); defined(CONFIG_MB86R0x) || defined(CONFIG_MPC5xxx) || \ defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \ defined(CONFIG_MPC86xx) || defined(CONFIG_SYS_SC520) || \ - defined(CONFIG_TEGRA2) || defined(CONFIG_SYS_COREBOOT) + defined(CONFIG_TEGRA2) || defined(CONFIG_SYS_COREBOOT) || \ + defined(CONFIG_MICROBLAZE) extern struct serial_device serial0_device; extern struct serial_device serial1_device; #if defined(CONFIG_SYS_NS16550_SERIAL) -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] phy: Add support for Marvell 88E1118R
Marvell 88E1118R has different uid then 88E1118. Signed-off-by: Michal Simek mon...@monstr.eu CC: Andy Fleming aflem...@freescale.com CC: Zang Roy-R61911 tie-fei.z...@freescale.com CC: Kumar Gala ga...@kernel.crashing.org --- drivers/net/phy/marvell.c | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index e51e799..4b27198 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -425,6 +425,16 @@ static struct phy_driver M88E1118_driver = { .shutdown = genphy_shutdown, }; +static struct phy_driver M88E1118R_driver = { + .name = Marvell 88E1118R, + .uid = 0x1410e40, + .mask = 0xff0, + .features = PHY_GBIT_FEATURES, + .config = m88e1118_config, + .startup = m88e1118_startup, + .shutdown = genphy_shutdown, +}; + static struct phy_driver M88E1121R_driver = { .name = Marvell 88E1121R, .uid = 0x1410cb0, @@ -461,6 +471,7 @@ int phy_marvell_init(void) phy_register(M88E1145_driver); phy_register(M88E1121R_driver); phy_register(M88E1118_driver); + phy_register(M88E1118R_driver); phy_register(M88ES_driver); phy_register(M88E1011S_driver); -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 01/11 v2] snowball: Add support for ux500 based snowball board
On Fri, Aug 3, 2012 at 11:05 PM, mathieu.poir...@linaro.org wrote: From: Mathieu J. Poirier mathieu.poir...@linaro.org Signed-off-by: Mathieu Poirier mathieu.poir...@linaro.org Signed-off-by: John Rigby john.ri...@linaro.org Acked-by: Linus Walleij linus.wall...@linaro.org For this entire series. Yours, Linus Walleij ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] arm:exynos: Enable data cache at exynos based processors.
This patch enables the L1 data cache for systems based on Samsung Exynos processor. Signed-off-by: Lukasz Majewski l.majew...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Cc: Minkyu Kang mk7.k...@samsung.com --- arch/arm/cpu/armv7/exynos/soc.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/soc.c b/arch/arm/cpu/armv7/exynos/soc.c index dcfcec2..ab65b8d 100644 --- a/arch/arm/cpu/armv7/exynos/soc.c +++ b/arch/arm/cpu/armv7/exynos/soc.c @@ -28,3 +28,11 @@ void reset_cpu(ulong addr) { writel(0x1, samsung_get_base_swreset()); } + +#ifndef CONFIG_SYS_DCACHE_OFF +void enable_caches(void) +{ + /* Enable D-cache. I-cache is already enabled in start.S */ + dcache_enable(); +} +#endif -- 1.7.2.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] arm:cache:trats: Enable PL310 L2 Cache Controller at TRATS Samsung board
Enable the PL310 L2 cache controller at TRATS Samsung board. Signed-off-by: Lukasz Majewski l.majew...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Cc: Minkyu Kang mk7.k...@samsung.com --- include/configs/trats.h |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/configs/trats.h b/include/configs/trats.h index 9cd1292..9c31f47 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -42,8 +42,10 @@ #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO -/* Keep L2 Cache Disabled */ -#define CONFIG_SYS_L2CACHE_OFF +#ifndef CONFIG_SYS_L2CACHE_OFF +#define CONFIG_SYS_L2_PL310 +#define CONFIG_SYS_PL310_BASE 0x10502000 +#endif #define CONFIG_SYS_SDRAM_BASE 0x4000 #define CONFIG_SYS_TEXT_BASE 0x6330 -- 1.7.2.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RESEND PATCH v2] i.MX28: bug fixes in PMU configuration code
On 07/08/2012 16:56, Stathis Voukelatos wrote: Signed-off-by: Stathis Voukelatos stathis.voukela...@linn.co.uk Cc: Stefano Babic sba...@denx.de Cc: Marek Vasut marek.va...@gmail.com --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [GIT PULL] Pull request: u-boot-imx
Hi Albert, please pull from u-boot-imx, thanks. The following changes since commit 8abcd8ab962cd5fb2a4c025e7c7b62a9faf4aa08: DaVinci DA8xx: fix set_cpu_clk_info() (2012-08-05 22:02:40 +0200) are available in the git repository at: git://www.denx.de/git/u-boot-imx.git master for you to fetch changes up to c031cea4c7f5af2aba58e8883eb5cca871213d1b: MX28: Add SchulerControl SC_SPS_1 platform (2012-08-07 17:49:55 +0200) Fabio Estevam (3): mx28evk: Turn on caches mx51evk: do not overwrite the console vision2: do not overwrite the console Marek Vasut (9): MX28: SPI: Refactor spi_xfer a bit MX28: SPI: Pull out the PIO transfer function MX28: SPI: Add DMA transfer support MX28: Fix up the MMC driver DMA mode MX28: Split out the PIO and DMA transfer functions MX28: Transfer small blocks via PIO in MXS MMC MX28: Fix MXS MMC DMA issues MX28: Move the u-boot.bd info CPUDIR/SOCDIR MX28: Add SchulerControl SC_SPS_1 platform Otavio Salvador (9): imx: Use a clear identification of an unidentified CPU type MX28: extend print_cpuinfo() to use chip information MX28: use a clear name for DDR2 initialization mxs: reorganize source directory for easy sharing of code in i.MXS SoCs mxs: prefix register acessor macros with 'mxs' prefix mxs: prefix register structs with 'mxs' prefix mxs: Reowork SPL to use 'mxs' prefix for methods mxs: Clarify why we poweroff in case of brownout in 5v conflict mxs: rename mx28.c to mxs.c as it is common to i.MX233 and i.MX28 SoCs Stathis Voukelatos (1): i.MX28: bug fixes in PMU configuration code Stefano Babic (1): MX5: mx53loco: do not overwrite the console Veli-Pekka Peltola (1): Add support for Bluegiga APX4 Development Kit MAINTAINERS|5 + Makefile |2 +- arch/arm/cpu/arm926ejs/{mx28 = mxs}/Makefile |2 +- arch/arm/cpu/arm926ejs/{mx28 = mxs}/clock.c | 40 +-- arch/arm/cpu/arm926ejs/{mx28 = mxs}/iomux.c |6 +- arch/arm/cpu/arm926ejs/{mx28/mx28.c = mxs/mxs.c} | 72 +++-- .../arm926ejs/{mx28/mx28_init.h = mxs/mxs_init.h} | 14 +- arch/arm/cpu/arm926ejs/{mx28 = mxs}/spl_boot.c| 20 +- .../cpu/arm926ejs/{mx28 = mxs}/spl_lradc_init.c | 10 +- .../arm/cpu/arm926ejs/{mx28 = mxs}/spl_mem_init.c | 64 ++--- .../cpu/arm926ejs/{mx28 = mxs}/spl_power_init.c | 274 ++-- arch/arm/cpu/arm926ejs/{mx28 = mxs}/start.S |0 arch/arm/cpu/arm926ejs/{mx28 = mxs}/timer.c |8 +- .../arm/cpu/arm926ejs/{mx28 = mxs}/u-boot-spl.lds |2 +- .../arm/cpu/arm926ejs/mxs}/u-boot.bd |0 arch/arm/cpu/armv7/imx-common/cpu.c|4 +- .../include/asm/{arch-mx28 = arch-mxs}/clock.h|0 arch/arm/include/asm/{arch-mx28 = arch-mxs}/dma.h |0 .../arm/include/asm/{arch-mx28 = arch-mxs}/gpio.h |0 .../include/asm/{arch-mx28 = arch-mxs}/imx-regs.h |0 .../asm/{arch-mx28 = arch-mxs}/iomux-mx28.h |0 .../include/asm/{arch-mx28 = arch-mxs}/iomux.h|0 .../asm/{arch-mx28 = arch-mxs}/regs-apbh.h| 256 +- .../asm/{arch-mx28 = arch-mxs}/regs-base.h|0 .../include/asm/{arch-mx28 = arch-mxs}/regs-bch.h | 44 ++-- .../asm/{arch-mx28 = arch-mxs}/regs-clkctrl.h | 60 ++--- .../asm/{arch-mx28 = arch-mxs}/regs-common.h | 34 +-- .../asm/{arch-mx28 = arch-mxs}/regs-digctl.h | 56 ++-- .../asm/{arch-mx28 = arch-mxs}/regs-gpmi.h| 28 +- .../include/asm/{arch-mx28 = arch-mxs}/regs-i2c.h | 30 +-- .../asm/{arch-mx28 = arch-mxs}/regs-lcdif.h | 66 ++--- .../asm/{arch-mx28 = arch-mxs}/regs-lradc.h | 50 ++-- .../asm/{arch-mx28 = arch-mxs}/regs-ocotp.h | 88 +++ .../asm/{arch-mx28 = arch-mxs}/regs-pinctrl.h | 170 ++-- .../asm/{arch-mx28 = arch-mxs}/regs-power.h | 30 +-- .../include/asm/{arch-mx28 = arch-mxs}/regs-rtc.h | 30 +-- .../include/asm/{arch-mx28 = arch-mxs}/regs-ssp.h | 42 +-- .../asm/{arch-mx28 = arch-mxs}/regs-timrot.h | 40 +-- .../include/asm/{arch-mx28 = arch-mxs}/regs-usb.h |2 +- .../asm/{arch-mx28 = arch-mxs}/regs-usbphy.h | 22 +- .../asm/{arch-mx28 = arch-mxs}/sys_proto.h| 10 +- board/bluegiga/apx4devkit/Makefile | 47 board/bluegiga/apx4devkit/apx4devkit.c | 150 +++ board/bluegiga/apx4devkit/spl_boot.c | 164 board/denx/m28evk/m28evk.c |4 +- board/denx/m28evk/spl_boot.c |2 +- board/freescale/mx28evk/iomux.c|2 +- board/freescale/mx28evk/mx28evk.c |4 +- board/freescale/mx28evk/u-boot.bd | 14 - board/freescale/mx51evk/mx51evk.c
Re: [U-Boot] pull request for u-boot-tegra/master
Albert, -Original Message- From: Albert ARIBAUD [mailto:albert.u.b...@aribaud.net] Sent: Monday, August 06, 2012 11:53 PM To: Allen Martin Cc: Tom Warren; Tom Warren; si...@theia.denx.de; u-boot@lists.denx.de; Stephen Warren Subject: Re: [U-Boot] pull request for u-boot-tegra/master Hi Allen, On Mon, 6 Aug 2012 15:46:22 -0700, Allen Martin amar...@nvidia.com wrote: -Original Message- From: Albert ARIBAUD [mailto:albert.u.b...@aribaud.net] Sent: Sunday, August 05, 2012 1:01 PM To: Albert ARIBAUD Cc: Tom Warren; si...@theia.denx.de; u-boot@lists.denx.de; Stephen Warren; Tom Warren Subject: Re: [U-Boot] pull request for u-boot-tegra/master Hi Albert, On Sun, 5 Aug 2012 21:46:21 +0200, Albert ARIBAUD albert.u.b...@aribaud.net wrote: Hi Tom, On Fri, 3 Aug 2012 16:35:40 -0700, Tom Warren twarren.nvi...@gmail.com wrote: Albert, Has this been pulled into ARM master? I don't think I saw a response from you, but I might have missed it. Sorry Tom, but I have been unavailable for some time and especially on jul 30 and 31, so no, it has not been pulled in. :( I am pulling it in right now, but I have sparse access to Internet right now. Seems like f414d013c5e129e66c04ff699bd60b34894d3d38 breaks a lot of builds with the stock Ubuntu linaro toolchain, e.g. -- -- -- $ ./MAKEALL jornada Configuring for jornada board... make: *** [jornada_config] Error 1 arm-linux-gnueabi-size: './u-boot': No such file make: *** No rule to make target `include/autoconf.mk', needed by `depend'. Stop. make: *** Waiting for unfinished jobs I think I found the problem. For some reason I don't fully understand when a board doesn't have ${soc} defined the following code in mkconfig: ( echo ARCH = ${arch} if [ ! -z $spl_cpu ] ; then echo 'ifeq ($(CONFIG_SPL_BUILD),y)' echo CPU= ${spl_cpu} echo else echo CPU= ${cpu} echo endif else echo CPU= ${cpu} fi echo BOARD = ${board} [ ${vendor} ] echo VENDOR = ${vendor} [ ${soc}] echo SOC= ${soc} ) config.mk causes the subshell to return a nonzero exit status. I think the behavior may change depending on what shell you have /bin/sh pointing to. Can you try out the following fix to verify? I'll put together a proper patch in the mean time diff --git a/mkconfig b/mkconfig index 07031c6..d3363c6 100755 --- a/mkconfig +++ b/mkconfig @@ -144,7 +144,8 @@ fi echo BOARD = ${board} [ ${vendor} ] echo VENDOR = ${vendor} -[ ${soc}] echo SOC= ${soc} ) config.mk +[ ${soc}] echo SOC= ${soc} +exit 0 ) config.mk # Assign board directory to BOARDIR variable if [ -z ${vendor} ] ; then Seems to work with this fix applied on top of the current tegra/master. Tom, can you fix the branch so that the original commit (f414d013...) contains the fix above, rather than just adding the fix on top of the branch? That'll help any bisecting through this branch's commits. Will do. I'll send a new pull request when I've fixed uploaded a new u-boot-tegra/master. Thanks, Tom Also, Allen: -- - This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. -- - Can this be removed from future e-mails to the list? Amicalement, -- Albert. -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] pull request for u-boot-tegra/master
Albert, Please pull u-boot-tegra/master into ARM master. I've rebased to your current TOT and slipstreamed in the mkconfig fix. Thanks! The following changes since commit 8abcd8ab962cd5fb2a4c025e7c7b62a9faf4aa08: Laurence Withers (1): DaVinci DA8xx: fix set_cpu_clk_info() are available in the git repository at: git://git.denx.de/u-boot-tegra master Allen Martin (15): tegra20: rename tegra2 - tegra20 tegra20: move tegra20 SoC code to arch/arm/cpu/tegra20-common tegra20: rename CONFIG_MACH_TEGRA_GENERIC tegra20: tec: add tegra20-common-post.h tegra20: make board mkdir commands unconditional mkconfig: add support for SPL CPU ARM: Fix arm720t SPL build tegra20: remove timer_init from SPL build ARM: add tegra20 support to arm720t tegra20: add u-boot-*-tegra.bin targets tegra20: move SDRAM param save to later in boot tegra20: enable SPL for tegra20 boards arm: enable libgcc build for SPL spl: fix SPL build of private libgcc tegra20: Remove armv4t build flags MAINTAINERS| 18 ++-- Makefile | 26 arch/arm/cpu/arm720t/cpu.c |2 + arch/arm/cpu/arm720t/interrupts.c |5 + arch/arm/cpu/arm720t/start.S | 19 +++- .../cpu/{armv7/tegra2 = arm720t/tegra20}/Makefile | 28 +--- .../arch-tegra2 = cpu/arm720t/tegra20}/board.h| 11 +- .../{armv7/tegra2 = arm720t/tegra20}/config.mk| 12 -- .../{armv7/tegra2/ap20.c = arm720t/tegra20/cpu.c} | 148 ++-- .../ap20.h = cpu/arm720t/tegra20/cpu.h} | 15 +-- arch/arm/cpu/arm720t/tegra20/spl.c | 132 + arch/arm/cpu/armv7/start.S |2 - arch/arm/cpu/armv7/{tegra2 = tegra20}/Makefile| 15 +-- .../cpu/armv7/{tegra2 = tegra20}/cmd_enterrcm.c |4 +- arch/arm/cpu/armv7/{tegra2 = tegra20}/config.mk | 12 -- arch/arm/cpu/armv7/{tegra2 = tegra20}/usb.c |2 +- .../cpu/{armv7/tegra2 = tegra20-common}/Makefile | 29 ++--- arch/arm/cpu/tegra20-common/ap20.c | 131 + .../cpu/{armv7/tegra2 = tegra20-common}/board.c | 39 ++ .../cpu/{armv7/tegra2 = tegra20-common}/clock.c | 10 +- .../cpu/{armv7/tegra2 = tegra20-common}/crypto.c |0 .../cpu/{armv7/tegra2 = tegra20-common}/crypto.h |0 .../arm/cpu/{armv7/tegra2 = tegra20-common}/emc.c |2 +- .../cpu/{armv7/tegra2 = tegra20-common}/funcmux.c |2 +- .../tegra2 = tegra20-common}/lowlevel_init.S |0 .../cpu/{armv7/tegra2 = tegra20-common}/pinmux.c |4 +- .../arm/cpu/{armv7/tegra2 = tegra20-common}/pmu.c |2 +- .../{armv7/tegra2 = tegra20-common}/sys_info.c|2 +- .../cpu/{armv7/tegra2 = tegra20-common}/timer.c |2 +- .../{armv7/tegra2 = tegra20-common}/warmboot.c| 18 ++-- .../tegra2 = tegra20-common}/warmboot_avp.c |4 +- .../tegra2 = tegra20-common}/warmboot_avp.h |0 .../asm/{arch-tegra2 = arch-tegra20}/ap20.h |4 +- .../asm/{arch-tegra2 = arch-tegra20}/apb_misc.h |0 .../asm/{arch-tegra2 = arch-tegra20}/board.h |0 .../asm/{arch-tegra2 = arch-tegra20}/clk_rst.h|0 .../asm/{arch-tegra2 = arch-tegra20}/clock.h |0 .../asm/{arch-tegra2 = arch-tegra20}/emc.h|0 .../asm/{arch-tegra2 = arch-tegra20}/flow.h |0 .../asm/{arch-tegra2 = arch-tegra20}/funcmux.h|2 +- .../asm/{arch-tegra2 = arch-tegra20}/fuse.h |0 .../asm/{arch-tegra2 = arch-tegra20}/gp_padctrl.h |2 +- .../asm/{arch-tegra2 = arch-tegra20}/gpio.h |2 +- arch/arm/include/asm/arch-tegra20/hardware.h | 29 .../asm/{arch-tegra2 = arch-tegra20}/mmc.h|8 +- .../asm/{arch-tegra2 = arch-tegra20}/pinmux.h |0 .../asm/{arch-tegra2 = arch-tegra20}/pmc.h|0 .../asm/{arch-tegra2 = arch-tegra20}/pmu.h|0 .../asm/{arch-tegra2 = arch-tegra20}/scu.h|0 .../{arch-tegra2 = arch-tegra20}/sdram_param.h|0 .../asm/{arch-tegra2 = arch-tegra20}/sys_proto.h |4 +- .../tegra2.h = arch-tegra20/tegra20.h}| 18 ++-- .../asm/{arch-tegra2 = arch-tegra20}/tegra_i2c.h |2 +- .../asm/{arch-tegra2 = arch-tegra20}/tegra_spi.h |4 +- .../asm/{arch-tegra2 = arch-tegra20}/timer.h |6 +- .../uart-spi-switch.h |0 .../asm/{arch-tegra2 = arch-tegra20}/uart.h |0 .../asm/{arch-tegra2 = arch-tegra20}/usb.h|0 .../asm/{arch-tegra2 = arch-tegra20}/warmboot.h |0 arch/arm/lib/Makefile |2 +- board/avionic-design/common/tamonten.c |4 +- .../dts/{tegra2-medcom.dts = tegra20-medcom.dts} |0 .../dts/{tegra2-plutux.dts = tegra20-plutux.dts} |0 .../dts/{tegra2-tec.dts = tegra20-tec.dts}|0
[U-Boot] [PATCH] ext2fs: fix warning: 'blocknxt' may be used uninitialized with gcc 4.2
The above warning was introduced originally in 436da3c ext2load: increase read speed and fixed for newer toolchains in b803273 ext2fs: fix warning: 'blocknxt' may be used uninitialized. This change did not fix the warning with gcc 4.2, as found in ELDK 4.2. If we rework the while loop to initalize blocknxt before entering the warning really goes away. Tested on am335x with an approx 7mb file and crc32 in U-Boot befor and after this change. Cc: Wolfgang Denk w...@denx.de Cc: Eric Nelson eric.nel...@boundarydevices.com Cc: Thierry Reding thierry.red...@avionic-design.de Cc: Jason Cooper u-b...@lakedaemon.net Cc: Andreas Bießmann andreas.de...@googlemail.com Cc: Reinhard Arlt reinhard.a...@esd-electronics.com Cc: Kim Phillips kim.phill...@freescale.com Signed-off-by: Tom Rini tr...@ti.com --- fs/ext2/ext2fs.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/ext2/ext2fs.c b/fs/ext2/ext2fs.c index 182f0ac..418404e 100644 --- a/fs/ext2/ext2fs.c +++ b/fs/ext2/ext2fs.c @@ -440,9 +440,8 @@ int ext2fs_read_file /* grab middle blocks in one go */ if (i != pos / blocksize i blockcnt - 1 blockcnt 3) { int oldblk = blknr; - int blocknxt; + int blocknxt = ext2fs_read_block(node, i + 1); while (i blockcnt - 1) { - blocknxt = ext2fs_read_block(node, i + 1); if (blocknxt == (oldblk + 1)) { oldblk = blocknxt; i++; @@ -450,6 +449,7 @@ int ext2fs_read_file blocknxt = ext2fs_read_block(node, i); break; } + blocknxt = ext2fs_read_block(node, i); } if (oldblk == blknr) -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
On 08/06/2012 06:19 PM, Lucas Stach wrote: As discussed here [http://patchwork.ozlabs.org/patch/158202/] we want to use USE_PRIVATE_LIBGCC still. However commit 5286f1ce dropped it regardless. Adding this back fixes a hang while handing over from SPL to U-Boot on Colibri T20. This probably makes sense, but Allen should comment on this. I wonder why I haven't seen any issue with this; perhaps SPL on all the boards I tested ended up not using any libgcc functions? But in that case, why would the Colibri board end up using them? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] tegra: init MMC from common board init
On 08/06/2012 07:18 PM, Lucas Stach wrote: There's no description here justifying why you want this change. I don't think the change is correct; in arch/arm/lib/board.c, board_init_r() calls drivers/mmc/mmc.c:mmc_initialize() which calls board_mmc_init(). With this patch, won't this function get called twice? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Please pull u-boot-ti/master
Hello, The following changes since commit 8abcd8ab962cd5fb2a4c025e7c7b62a9faf4aa08: DaVinci DA8xx: fix set_cpu_clk_info() (2012-08-05 22:02:40 +0200) are available in the git repository at: git://git.denx.de/u-boot-ti next for you to fetch changes up to a47233a30055660ad64d865f1fde19503ed02696: am335x_evm: enable SMSC PHY driver (2012-08-07 10:07:22 -0700) Enric Balletb?? i Serra (1): OMAP3: fix DRAM size for IGEP-based boards. Ilya Yanok (1): am335x_evm: enable SMSC PHY driver board/isee/igep0020/igep0020.c |6 +++--- board/isee/igep0030/igep0030.c |6 +++--- include/configs/am335x_evm.h |1 + 3 files changed, 7 insertions(+), 6 deletions(-) -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] OMAP3: fix DRAM size for IGEP-based boards.
On Sun, Aug 05, 2012 at 07:27:30PM +0200, Javier Martinez Canillas wrote: On Sun, Aug 5, 2012 at 12:55 PM, Enric Balletbo i Serra eballe...@gmail.com wrote: The total RAM size of the IGEP-based boards is 512MiB not 1GiB, the LPDDR memory consist on two dies of 256MiB. Signed-off-by: Enric Balletbo i Serra eballe...@gmail.com --- board/isee/igep0020/igep0020.c |6 +++--- board/isee/igep0030/igep0030.c |6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/isee/igep0020/igep0020.c b/board/isee/igep0020/igep0020.c index a4d099a..a8257a3 100644 --- a/board/isee/igep0020/igep0020.c +++ b/board/isee/igep0020/igep0020.c @@ -77,19 +77,19 @@ void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl, { *mr = MICRON_V_MR_165; #ifdef CONFIG_BOOT_NAND - *mcfg = MICRON_V_MCFG_200(512 20); + *mcfg = MICRON_V_MCFG_200(256 20); *ctrla = MICRON_V_ACTIMA_200; *ctrlb = MICRON_V_ACTIMB_200; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; #else if (get_cpu_family() == CPU_OMAP34XX) { - *mcfg = NUMONYX_V_MCFG_165(512 20); + *mcfg = NUMONYX_V_MCFG_165(256 20); *ctrla = NUMONYX_V_ACTIMA_165; *ctrlb = NUMONYX_V_ACTIMB_165; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz; } else { - *mcfg = NUMONYX_V_MCFG_200(512 20); + *mcfg = NUMONYX_V_MCFG_200(256 20); *ctrla = NUMONYX_V_ACTIMA_200; *ctrlb = NUMONYX_V_ACTIMB_200; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; diff --git a/board/isee/igep0030/igep0030.c b/board/isee/igep0030/igep0030.c index 4f8b645..107cb7f 100644 --- a/board/isee/igep0030/igep0030.c +++ b/board/isee/igep0030/igep0030.c @@ -64,19 +64,19 @@ void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl, { *mr = MICRON_V_MR_165; #ifdef CONFIG_BOOT_NAND - *mcfg = MICRON_V_MCFG_200(512 20); + *mcfg = MICRON_V_MCFG_200(256 20); *ctrla = MICRON_V_ACTIMA_200; *ctrlb = MICRON_V_ACTIMB_200; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; #else if (get_cpu_family() == CPU_OMAP34XX) { - *mcfg = NUMONYX_V_MCFG_165(512 20); + *mcfg = NUMONYX_V_MCFG_165(256 20); *ctrla = NUMONYX_V_ACTIMA_165; *ctrlb = NUMONYX_V_ACTIMB_165; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz; } else { - *mcfg = NUMONYX_V_MCFG_200(512 20); + *mcfg = NUMONYX_V_MCFG_200(256 20); *ctrla = NUMONYX_V_ACTIMA_200; *ctrlb = NUMONYX_V_ACTIMB_200; *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; -- 1.7.9.5 Hi Enric, I missed that on the original patch, thanks for fixing it. Tested-by: Javier Martinez Canillas jav...@dowhile0.org Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
Am Dienstag, den 07.08.2012, 11:00 -0600 schrieb Stephen Warren: On 08/06/2012 06:19 PM, Lucas Stach wrote: As discussed here [http://patchwork.ozlabs.org/patch/158202/] we want to use USE_PRIVATE_LIBGCC still. However commit 5286f1ce dropped it regardless. Adding this back fixes a hang while handing over from SPL to U-Boot on Colibri T20. This probably makes sense, but Allen should comment on this. I wonder why I haven't seen any issue with this; perhaps SPL on all the boards I tested ended up not using any libgcc functions? But in that case, why would the Colibri board end up using them? Could also be a toolchain issue. My normal workflow uses a toolchain without a libgcc, as we didn't needed it to this point. After porting over my changes to the new SPL boot I had to switch to a CodeSourcery toolchain containing a libgcc. So I'm not entirely sure where the problem lies, as I varied codebase and toolchain at one. But I confirmed that this patch works with both of my toolchains. So yes, I'm really in favour of some comments. Thanks, Lucas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] am335x_evm: enable SMSC PHY driver
On Tue, Aug 07, 2012 at 02:50:08PM +0400, Ilya Yanok wrote: Beaglebone uses SMSC PHY which works incorrectly with generic PHY driver so enable SMSC PHY driver to fix networking problems on Beaglebone. Signed-off-by: Ilya Yanok ilya.ya...@cogentembedded.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] tegra: convert gpio_config_uart to weak symbol
On 08/06/2012 07:18 PM, Lucas Stach wrote: Most boards don't need this fixup hook. To avoid a lot of empty implementations in board files convert it to a weak symbol. This seems OK on the surface, but I think there may be more opportunity for cleanup here. In board/nvidia/common/board.c, I see both of the following: board_init: #ifdef CONFIG_SPI_UART_SWITCH gpio_config_uart(); #endif board_early_init_f: /* Initialize periph GPIOs */ gpio_early_init(); #ifdef CONFIG_SPI_UART_SWITCH gpio_early_init_uart(); #else gpio_config_uart(); #endif and in arch/arm/cpu/arm720t/tegra20/spl.c: board_init_f: #ifdef CONFIG_SPI_UART_SWITCH gpio_early_init_uart(); #else gpio_config_uart(); #endif It sure seems like we don't need to call those two init function all those times. Perhaps we can clarify which of the functions are actually needed at all, and when they should be called. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] kernel upgradation 2.6.23 to 2.6.35.13 with old U-boot 1.3.0 version
Hi, I have MPC8313E-RDB board on which U-boot 1.3.0(along with patches) and kernel 2.6.23(along with patches) are running. Now, i would like to upgrade the kernel from 2.6.23 to 2.6.35.13 with old U-boot 1.3.0(along with patches), i am facing problem in loading firmware and ethernet interfaces like eth0/eth1 : are not attached to PHY. Is that i have to upgrade also U-boot also to latest version? If so what version of u-boot is compatiable with linux kernel 2.6.35.13. Please let me know what is the issue. ASAP. -- Thanks Regards, Rajesh Vangari. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RESEND PATCH v2] i.MX28: bug fixes in PMU configuration code
Signed-off-by: Stathis Voukelatos stathis.voukela...@linn.co.uk Cc: Stefano Babic sba...@denx.de Cc: Marek Vasut marek.va...@gmail.com --- Changes for v2: - White space cleanup arch/arm/cpu/arm926ejs/mx28/spl_power_init.c | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c index 4b09b0c..cc71af8 100644 --- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c +++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c @@ -716,7 +716,7 @@ int mx28_get_vddio_power_source_off(void) tmp = readl(power_regs-hw_power_vddioctrl); if (tmp POWER_VDDIOCTRL_DISABLE_FET) { if ((tmp POWER_VDDIOCTRL_LINREG_OFFSET_MASK) == - POWER_VDDDCTRL_LINREG_OFFSET_0STEPS) { + POWER_VDDIOCTRL_LINREG_OFFSET_0STEPS) { return 1; } } @@ -724,7 +724,7 @@ int mx28_get_vddio_power_source_off(void) if (!(readl(power_regs-hw_power_5vctrl) POWER_5VCTRL_ENABLE_DCDC)) { if ((tmp POWER_VDDIOCTRL_LINREG_OFFSET_MASK) == - POWER_VDDDCTRL_LINREG_OFFSET_0STEPS) { + POWER_VDDIOCTRL_LINREG_OFFSET_0STEPS) { return 1; } } @@ -772,7 +772,7 @@ void mx28_power_set_vddio(uint32_t new_target, uint32_t new_brownout) uint32_t cur_target, diff, bo_int = 0; uint32_t powered_by_linreg = 0; - new_brownout = new_target - new_brownout; + new_brownout = (new_target - new_brownout + 25) / 50; cur_target = readl(power_regs-hw_power_vddioctrl); cur_target = POWER_VDDIOCTRL_TRG_MASK; @@ -858,8 +858,8 @@ void mx28_power_set_vddio(uint32_t new_target, uint32_t new_brownout) } clrsetbits_le32(power_regs-hw_power_vddioctrl, - POWER_VDDDCTRL_BO_OFFSET_MASK, - new_brownout POWER_VDDDCTRL_BO_OFFSET_OFFSET); + POWER_VDDIOCTRL_BO_OFFSET_MASK, + new_brownout POWER_VDDIOCTRL_BO_OFFSET_OFFSET); } void mx28_power_set_vddd(uint32_t new_target, uint32_t new_brownout) @@ -869,7 +869,7 @@ void mx28_power_set_vddd(uint32_t new_target, uint32_t new_brownout) uint32_t cur_target, diff, bo_int = 0; uint32_t powered_by_linreg = 0; - new_brownout = new_target - new_brownout; + new_brownout = (new_target - new_brownout + 12) / 25; cur_target = readl(power_regs-hw_power_vdddctrl); cur_target = POWER_VDDDCTRL_TRG_MASK; -- 1.7.2.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Save/restore global data pointer on API boundary
Most architectures keep the global data pointer (gd) in a register. When using the external app API, because they are calling us rather than we calling them, this register can be corrupted. The attached (trivial) patch saves the gd pointer at api_init(), and restores it on every entry to syscall(). This may want to be put behind an ifdef for those architectures that don't use a dedicated register. Signed-off-by: Leif Lindholm leif.lindh...@arm.com --- diff --git a/api/api.c b/api/api.c index a3bf60a..b911270 100644 --- a/api/api.c +++ b/api/api.c @@ -33,6 +33,8 @@ #include api_private.h +DECLARE_GLOBAL_DATA_PTR; + #define DEBUG #undef DEBUG @@ -600,6 +602,13 @@ static int API_display_clear(va_list ap) static cfp_t calls_table[API_MAXCALL] = { NULL, }; /* + * The global data pointer is held in a register on most if not all + * architectures. Its value is not retained across the API boundary, + * so must be manually restored. + */ +static void volatile *gd_backup; + +/* * The main syscall entry point - this is not reentrant, only one call is * serviced until finished. * @@ -620,6 +629,8 @@ int syscall(int call, int *retval, ...) va_list ap; int rv; + gd = gd_backup; + if (call 0 || call = calls_no) { debugf(invalid call #%d\n, call); return 0; @@ -686,6 +697,7 @@ void api_init(void) sig-checksum = crc32(0, (unsigned char *)sig, sizeof(struct api_signature)); debugf(syscall entry: 0x%08x\n, sig-syscall); + gd_backup = gd; } void platform_set_mr(struct sys_info *si, unsigned long start, unsigned long size, ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] u-boot script question
I'm using spare bytes of the nvram of the RTC chip to determine which of my two kernels should be booted. Trying to scrip that in u-boot script I'm doing the following. 1. Load 200010 with 0 (mw.b 200010 0) 2. Load 200014 with value from nvram (i2c read 68 15 1 200014) 3. if cmp.b 200010 200014 1; then run boot0; else run boot1;fi Is it possible to compare the contents of the memory location with a constant like if test #200010 == 1; then run boot0; else run boot1;fi Thanks S___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] pull request for u-boot-tegra/master
On Mon, Aug 06, 2012 at 11:53:03PM -0700, Albert ARIBAUD wrote: Hi Allen, Also, Allen: --- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. --- Can this be removed from future e-mails to the list? My bad, the nvpublic in my .signature prevents our mail server from adding the legal crap, but I must have accidentaly snipped it. Thank you for finding the regression also, sorry I didn't find it myself. -Allen -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] tegra: init MMC from common board init
Am Dienstag, den 07.08.2012, 11:04 -0600 schrieb Stephen Warren: On 08/06/2012 07:18 PM, Lucas Stach wrote: There's no description here justifying why you want this change. I don't think the change is correct; in arch/arm/lib/board.c, board_init_r() calls drivers/mmc/mmc.c:mmc_initialize() which calls board_mmc_init(). With this patch, won't this function get called twice? Please disregard this patch. It was only needed because of an error on my side. Sorry for the inconvenience. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
On Tue, Aug 07, 2012 at 10:09:00AM -0700, Lucas Stach wrote: Am Dienstag, den 07.08.2012, 11:00 -0600 schrieb Stephen Warren: On 08/06/2012 06:19 PM, Lucas Stach wrote: As discussed here [http://patchwork.ozlabs.org/patch/158202/] we want to use USE_PRIVATE_LIBGCC still. However commit 5286f1ce dropped it regardless. Adding this back fixes a hang while handing over from SPL to U-Boot on Colibri T20. This probably makes sense, but Allen should comment on this. I wonder why I haven't seen any issue with this; perhaps SPL on all the boards I tested ended up not using any libgcc functions? But in that case, why would the Colibri board end up using them? Could also be a toolchain issue. My normal workflow uses a toolchain without a libgcc, as we didn't needed it to this point. After porting over my changes to the new SPL boot I had to switch to a CodeSourcery toolchain containing a libgcc. So I'm not entirely sure where the problem lies, as I varied codebase and toolchain at one. But I confirmed that this patch works with both of my toolchains. So yes, I'm really in favour of some comments. What's the CodeSourcery toolchain you're using? The USE_PRIVATE_LIBGCC was used to prevent armv5 instructions from the toolchain's libgcc from getting into the code that executes on the AVP which is an arm7tdmi (armv4t). Since all the code that runs on the AVP is built separately now as part of the SPL, using the toolchain's libgcc should work for the main u-boot build. USE_PRIVATE_LIBGCC is still turned on for the SPL build. I've tested the following toolchains on ventana and seaboard tegra20 platforms: gcc 4.4.6 arm7tdmi-linux-gnueabi built with crosstool-ng gcc 4.4.6 cortex_a9-linux-gnueabi built with crosstool-ng gcc 4.6.1 cortex_a9-linux-gnueabi built with crosstool-ng Tell me what CodeSourcery version you're using and I'll test it here as well and see if I can reproduce the problem. -Allen -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
Hi Allen, Am Dienstag, den 07.08.2012, 10:43 -0700 schrieb Allen Martin: On Tue, Aug 07, 2012 at 10:09:00AM -0700, Lucas Stach wrote: Am Dienstag, den 07.08.2012, 11:00 -0600 schrieb Stephen Warren: On 08/06/2012 06:19 PM, Lucas Stach wrote: As discussed here [http://patchwork.ozlabs.org/patch/158202/] we want to use USE_PRIVATE_LIBGCC still. However commit 5286f1ce dropped it regardless. Adding this back fixes a hang while handing over from SPL to U-Boot on Colibri T20. This probably makes sense, but Allen should comment on this. I wonder why I haven't seen any issue with this; perhaps SPL on all the boards I tested ended up not using any libgcc functions? But in that case, why would the Colibri board end up using them? Could also be a toolchain issue. My normal workflow uses a toolchain without a libgcc, as we didn't needed it to this point. After porting over my changes to the new SPL boot I had to switch to a CodeSourcery toolchain containing a libgcc. So I'm not entirely sure where the problem lies, as I varied codebase and toolchain at one. But I confirmed that this patch works with both of my toolchains. So yes, I'm really in favour of some comments. What's the CodeSourcery toolchain you're using? The USE_PRIVATE_LIBGCC was used to prevent armv5 instructions from the toolchain's libgcc from getting into the code that executes on the AVP which is an arm7tdmi (armv4t). Since all the code that runs on the AVP is built separately now as part of the SPL, using the toolchain's libgcc should work for the main u-boot build. USE_PRIVATE_LIBGCC is still turned on for the SPL build. I've tested the following toolchains on ventana and seaboard tegra20 platforms: gcc 4.4.6 arm7tdmi-linux-gnueabi built with crosstool-ng gcc 4.4.6 cortex_a9-linux-gnueabi built with crosstool-ng gcc 4.6.1 cortex_a9-linux-gnueabi built with crosstool-ng Tell me what CodeSourcery version you're using and I'll test it here as well and see if I can reproduce the problem. I used CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi to test this. And to answer Tom's question: the failure was that the real U-Boot would not come up after the SPL. All I could see was the one line printed by the SPL and nothing more. Thanks, Lucas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] tegra20: usb: rework set_host_mode
This allows for two things: - VBus GPIO may be used on other ports than the OTG one - VBus GPIO may be low active if specified by DT Signed-off-by: Lucas Stach d...@lynxeye.de CC: Stephen Warren swar...@wwwdotorg.org CC: Tom Warren twar...@nvidia.com --- arch/arm/cpu/armv7/tegra20/usb.c | 35 +++ 1 Datei geändert, 19 Zeilen hinzugefügt(+), 16 Zeilen entfernt(-) diff --git a/arch/arm/cpu/armv7/tegra20/usb.c b/arch/arm/cpu/armv7/tegra20/usb.c index 84260e6..77966e5 100644 --- a/arch/arm/cpu/armv7/tegra20/usb.c +++ b/arch/arm/cpu/armv7/tegra20/usb.c @@ -137,24 +137,27 @@ static const u8 utmip_elastic_limit = 16; /* UTMIP High Speed Sync Start Delay */ static const u8 utmip_hs_sync_start_delay = 9; -/* Put the port into host mode (this only works for OTG ports) */ +/* Put the port into host mode */ static void set_host_mode(struct fdt_usb *config) { - if (config-dr_mode == DR_MODE_OTG) { - /* Check whether remote host from USB1 is driving VBus */ - if (readl(config-reg-phy_vbus_sensors) VBUS_VLD_STS) - return; - - /* -* If not driving, we set the GPIO to enable VBUS. We assume -* that the pinmux is set up correctly for this. -*/ - if (fdt_gpio_isvalid(config-vbus_gpio)) { - fdtdec_setup_gpio(config-vbus_gpio); - gpio_direction_output(config-vbus_gpio.gpio, 1); - debug(set_host_mode: GPIO %d high\n, - config-vbus_gpio.gpio); - } + /* +* If we are an OTG port, check if remote host is driving VBus and +* bail out in this case. +*/ + if (config-dr_mode == DR_MODE_OTG + (readl(config-reg-phy_vbus_sensors) VBUS_VLD_STS)) + return; + + /* +* If not driving, we set the GPIO to enable VBUS. We assume +* that the pinmux is set up correctly for this. +*/ + if (fdt_gpio_isvalid(config-vbus_gpio)) { + fdtdec_setup_gpio(config-vbus_gpio); + gpio_direction_output(config-vbus_gpio.gpio, + (config-vbus_gpio.flags FDT_GPIO_ACTIVE_LOW) ? 0 : 1); + debug(set_host_mode: GPIO %d %s\n, config-vbus_gpio.gpio, + (config-vbus_gpio.flags FDT_GPIO_ACTIVE_LOW) ? low : high); } } -- 1.7.11.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] kernel upgradation 2.6.23 to 2.6.35.13 with old U-boot 1.3.0 version
Dear Rajesh, In message CAHGpkNj+E7QY7HKCJ4=BoGvOdW9vu=peib9azqzfqsoy3kw...@mail.gmail.com you wrote: I have MPC8313E-RDB board on which U-boot 1.3.0(along with patches) and kernel 2.6.23(along with patches) are running. Now, i would like to upgrade the kernel from 2.6.23 to 2.6.35.13 with old U-boot 1.3.0(along with patches), i am facing problem in loading firmware and ethernet interfaces like eth0/eth1 : are not attached to PHY. Is that i have to upgrade also U-boot also to latest version? This makes a lot of sense in any case. If so what version of u-boot is compatiable with linux kernel 2.6.35.13. Just use the latest version (top o git tree) or at least latest release, v2012.07. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The value of marriage is not that adults produce children, but that children produce adults.- Peter De Vries ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Save/restore global data pointer on API boundary
Dear Leif Lindholm, In message 50214a38.3000...@arm.com you wrote: Most architectures keep the global data pointer (gd) in a register. This may, or may not be. You should not make any assumptions on how gd is implemented. When using the external app API, because they are calling us rather than we calling them, this register can be corrupted. How can this be? The caller should always use the same register convention as we do - otherwise we are in a much deeper trouble. It is up to the caller to make sure it uses the published API (resp. ABI). The attached (trivial) patch saves the gd pointer at api_init(), and restores it on every entry to syscall(). This may want to be put behind an ifdef for those architectures that don't use a dedicated register. This is wrong. You make assumptions here why may be correct, but may be wrong as well. If we were to implement this, you would have to make sure it always works, no matter how gd is implemented on a specific board / platform. But I doubt this is the right approach. This should be done by the caller. BTW: Please also note that there are a few coding style errors. Checkpatch says: WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt WARNING: please, no spaces at the start of a line (2 x) Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de If the odds are a million to one against something occuring, chances are 50-50 it will. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] u-boot script question
Dear Sridhar Addagada, In message 1344359350.57879.yahoomail...@web162902.mail.bf1.yahoo.com you wrote: Is it possible to compare the contents of the memory location with a constant like if test #200010 == 1; then run boot0; else run boot1;fi Yes, this is possible. For example: if itest.b *200010 == 1; then run boot0; else run boot1; fi Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The Empire didn't encourage its subjects to go far away, in case they saw things that might disturb them. For the same reason it had built a wall around the entire country, patrolled by the Heavenly Guard whose main function was to tread heavily on the fingers of any inha- bitants who felt they might like to step outside for five minutes for a breath of fresh air. - Terry Pratchett, _Mort_ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
Dear Lucas Stach, In message 1344298788-7059-1-git-send-email-...@lynxeye.de you wrote: As discussed here [http://patchwork.ozlabs.org/patch/158202/] we want to use USE_PRIVATE_LIBGCC still. However commit 5286f1ce dropped it regardless. Adding this back fixes a hang while handing over from SPL to U-Boot on Colibri T20. Signed-off-by: Lucas Stach d...@lynxeye.de CC: Stephen Warren swar...@wwwdotorg.org CC: Tom Warren twar...@nvidia.com --- arch/arm/cpu/armv7/tegra20/config.mk | 2 ++ 1 Datei geändert, 2 Zeilen hinzugefügt(+) diff --git a/arch/arm/cpu/armv7/tegra20/config.mk b/arch/arm/cpu/armv7/tegra20/config.mk index 6432e75..e666f6b 100644 --- a/arch/arm/cpu/armv7/tegra20/config.mk +++ b/arch/arm/cpu/armv7/tegra20/config.mk @@ -23,4 +23,6 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # +USE_PRIVATE_LIBGCC = yes NAK. USE_PRIVATE_LIBGCC is a workaround for broken tool chains only. It must never be automatically set for any configuration. If you know of tool chains that require this, then complain there and have the bugs fixed with hteir upstream. Yes, I know this may be painful to you, and it _shall_ be painful, so that you finally take some action to have the tool chains fixed that need so. I will not accept anything like this in mainline. Sorry. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Status quo. Latin for the mess we're in. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ext2fs: fix warning: 'blocknxt' may be used uninitialized with gcc 4.2
Dear Tom Rini, In message 1344358714-14032-1-git-send-email-tr...@ti.com you wrote: The above warning was introduced originally in 436da3c ext2load: increase read speed and fixed for newer toolchains in b803273 ext2fs: fix warning: 'blocknxt' may be used uninitialized. This change did not fix the warning with gcc 4.2, as found in ELDK 4.2. If we rework the while loop to initalize blocknxt before entering the warning really goes away. Tested on am335x with an approx 7mb file and crc32 in U-Boot befor and after this change. Cc: Wolfgang Denk w...@denx.de Cc: Eric Nelson eric.nel...@boundarydevices.com Cc: Thierry Reding thierry.red...@avionic-design.de Cc: Jason Cooper u-b...@lakedaemon.net Cc: Andreas Bießmann andreas.de...@googlemail.com Cc: Reinhard Arlt reinhard.a...@esd-electronics.com Cc: Kim Phillips kim.phill...@freescale.com Signed-off-by: Tom Rini tr...@ti.com --- fs/ext2/ext2fs.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Applied, 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: w...@denx.de I know engineers. They love to change things. - Dr. McCoy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RESEND PATCH v2] i.MX28: bug fixes in PMU configuration code
Dear Stathis Voukelatos, Signed-off-by: Stathis Voukelatos stathis.voukela...@linn.co.uk Cc: Stefano Babic sba...@denx.de Cc: Marek Vasut marek.va...@gmail.com --- Thanks for the patch and your effort ! btw. how did you find it ? :) Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/7] microblaze: Add support for device tree driven board configuration
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: This is minimum code required to be able to use device-tree for u-boot initialization. Currently only for device driver initialization. Linker script change ensures DTB to be aligned for both options CONFIG_OF_EMBED and CONFIG_OF_SEPARATE. Signed-off-by: Michal Simek mon...@monstr.eu CC: Simon Glass s...@chromium.org Acked-by: Stephan Linz l...@li-pro.net Tested with AXI systems on Avnet S6LX150T and S6LX9 micro-evaluation. --- v2: Show message about DTB address in bootlog --- arch/microblaze/config.mk |2 ++ arch/microblaze/cpu/u-boot.lds|1 + arch/microblaze/include/asm/global_data.h |1 + arch/microblaze/lib/board.c | 24 4 files changed, 28 insertions(+), 0 deletions(-) diff --git a/arch/microblaze/config.mk b/arch/microblaze/config.mk index aca79e2..b4935f0 100644 --- a/arch/microblaze/config.mk +++ b/arch/microblaze/config.mk @@ -31,3 +31,5 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F0 PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__ LDSCRIPT ?= $(SRCTREE)/$(CPUDIR)/u-boot.lds + +CONFIG_ARCH_DEVICE_TREE := microblaze diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds index ee41145..d033a28 100644 --- a/arch/microblaze/cpu/u-boot.lds +++ b/arch/microblaze/cpu/u-boot.lds @@ -45,6 +45,7 @@ SECTIONS .data ALIGN(0x4): { __data_start = .; + dts/libdts.o (.data) *(.data) __data_end = .; } diff --git a/arch/microblaze/include/asm/global_data.h b/arch/microblaze/include/asm/global_data.h index 6e8537c..e802e4e 100644 --- a/arch/microblaze/include/asm/global_data.h +++ b/arch/microblaze/include/asm/global_data.h @@ -43,6 +43,7 @@ typedef struct global_data { unsigned long precon_buf_idx; /* Pre-Console buffer index */ #endif unsigned long env_addr; /* Address of Environment struct */ + const void *fdt_blob; /* Our device tree, NULL if none */ unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base;/* base address of frame buffer */ void**jt; /* jump table */ diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index b80250a..942e18c 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -34,6 +34,7 @@ #include net.h #include asm/processor.h #include asm/microblaze_intc.h +#include fdtdec.h DECLARE_GLOBAL_DATA_PTR; @@ -63,6 +64,9 @@ typedef int (init_fnc_t) (void); init_fnc_t *init_sequence[] = { env_init, +#ifdef CONFIG_OF_CONTROL + fdtdec_check_fdt, +#endif serial_init, console_init_f, #ifdef CONFIG_SYS_GPIO_0 @@ -103,6 +107,17 @@ void board_init (void) monitor_flash_len = __end - __text_start; +#ifdef CONFIG_OF_EMBED + /* Get a pointer to the FDT */ + gd-fdt_blob = _binary_dt_dtb_start; +#elif defined CONFIG_OF_SEPARATE + /* FDT is at end of image */ + gd-fdt_blob = (void *)__end; +#endif + /* Allow the early environment to override the fdt address */ + gd-fdt_blob = (void *)getenv_ulong(fdtcontroladdr, 16, + (uintptr_t)gd-fdt_blob); + /* * The Malloc area is immediately below the monitor copy in DRAM * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off @@ -121,6 +136,15 @@ void board_init (void) } } +#ifdef CONFIG_OF_CONTROL + /* For now, put this check after the console is ready */ + if (fdtdec_prepare_fdt()) { + panic(** CONFIG_OF_CONTROL defined but no FDT - please see + doc/README.fdt-control); + } else + printf(DTB: 0x%x\n, (u32)gd-fdt_blob); +#endif + puts (SDRAM :\n); printf (\t\tIcache:%s\n, icache_status() ? ON : OFF); printf (\t\tDcache:%s\n, dcache_status() ? ON : OFF); -- Viele Grüße, Stephan Linz __ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/7] microblaze: board: Remove compilation warning
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: Variable is used when CONFIG_SYS_FLASH_CHECKSUM is used. Warning log: board.c: In function 'board_init': board.c:101: warning: unused variable 's' Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Stephan Linz l...@li-pro.net --- v2: Use __mabe_unused prefix --- arch/microblaze/lib/board.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index 942e18c..b5f21d8 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -32,6 +32,7 @@ #include stdio_dev.h #include serial.h #include net.h +#include linux/compiler.h #include asm/processor.h #include asm/microblaze_intc.h #include fdtdec.h @@ -91,7 +92,7 @@ void board_init (void) gd = (gd_t *) (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET); bd = (bd_t *) (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET \ - GENERATED_BD_INFO_SIZE); - char *s; + __maybe_unused char *s; #if defined(CONFIG_CMD_FLASH) ulong flash_size = 0; #endif -- Viele Grüße, Stephan Linz __ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 3/7] microblaze: intc: Registering interrupt should return value
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: Return value to find out if un/registration was succesful. Signed-off-by: Michal Simek mon...@monstr.eu --- v2: Add comment to header file to describe parameters and return codes --- arch/microblaze/cpu/interrupts.c | 16 +--- arch/microblaze/include/asm/microblaze_intc.h | 11 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c index ee67082..08f6bad 100644 --- a/arch/microblaze/cpu/interrupts.c +++ b/arch/microblaze/cpu/interrupts.c @@ -91,14 +91,13 @@ static void disable_one_interrupt(int irq) #endif } -/* adding new handler for interrupt */ -void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, void *arg) +int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg) { struct irq_action *act; /* irq out of range */ if ((irq 0) || (irq irq_no)) { puts (IRQ out of range\n); - return; + return -1; } act = vecs[irq]; if (hdlr) { /* enable */ @@ -106,11 +105,14 @@ void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, void *arg) act-arg = arg; act-count = 0; enable_one_interrupt (irq); - } else {/* disable */ - act-handler = (interrupt_handler_t *) def_hdlr; - act-arg = (void *)irq; - disable_one_interrupt (irq); + return 0; } + + /* Disable */ + act-handler = (interrupt_handler_t *) def_hdlr; + act-arg = (void *)irq; + disable_one_interrupt(irq); + return 1; } /* initialization interrupt controller - hardware */ diff --git a/arch/microblaze/include/asm/microblaze_intc.h b/arch/microblaze/include/asm/microblaze_intc.h index 6142b9c..e9640f5 100644 --- a/arch/microblaze/include/asm/microblaze_intc.h +++ b/arch/microblaze/include/asm/microblaze_intc.h @@ -39,7 +39,16 @@ struct irq_action { int count; /* number of interrupt */ }; -void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, +/** + * Register and unregister interrupt handler rutines + * + * @param irqIRQ number + * @param hdlr Interrupt handler rutine + * @param argPointer to argument which is passed to int. handler rutine + * @return 0 if registration pass, 1 if unregistration pass, + * or an error code 0 otherwise + */ +int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg); Hi Michal, why not two different functions here, one for registration, another one for unregistration? To mee it is puzzling to use a 'install' function for unregistration ... ... whatever, you should evaluate the return code in fsl_init2() too. int interrupts_init(void); ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 4/7] microblaze: intc: Coding style cleanup
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: Just coding style cleanup. Remove unneeded externs. Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Simon Glass s...@chromium.org Acked-by: Stephan Linz l...@li-pro.net -- v2: Rebase - depends on previous intc patch --- arch/microblaze/cpu/interrupts.c | 26 +- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c index 08f6bad..7f2ee64 100644 --- a/arch/microblaze/cpu/interrupts.c +++ b/arch/microblaze/cpu/interrupts.c @@ -32,15 +32,12 @@ #undef DEBUG_INT -extern void microblaze_disable_interrupts (void); -extern void microblaze_enable_interrupts (void); - -void enable_interrupts (void) +void enable_interrupts(void) { MSRSET(0x2); } -int disable_interrupts (void) +int disable_interrupts(void) { unsigned int msr; @@ -58,20 +55,21 @@ microblaze_intc_t *intc; /* default handler */ static void def_hdlr(void) { - puts (def_hdlr\n); + puts(def_hdlr\n); } static void enable_one_interrupt(int irq) { int mask; int offset = 1; + offset = irq; mask = intc-ier; intc-ier = (mask | offset); #ifdef DEBUG_INT - printf (Enable one interrupt irq %x - mask %x,ier %x\n, offset, mask, + printf(Enable one interrupt irq %x - mask %x,ier %x\n, offset, mask, intc-ier); - printf (INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, + printf(INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, intc-iar, intc-mer); #endif } @@ -80,13 +78,14 @@ static void disable_one_interrupt(int irq) { int mask; int offset = 1; + offset = irq; mask = intc-ier; intc-ier = (mask ~offset); #ifdef DEBUG_INT - printf (Disable one interrupt irq %x - mask %x,ier %x\n, irq, mask, + printf(Disable one interrupt irq %x - mask %x,ier %x\n, irq, mask, intc-ier); - printf (INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, + printf(INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, intc-iar, intc-mer); #endif } @@ -94,9 +93,10 @@ static void disable_one_interrupt(int irq) int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg) { struct irq_action *act; + /* irq out of range */ if ((irq 0) || (irq irq_no)) { - puts (IRQ out of range\n); + puts(IRQ out of range\n); return -1; } act = vecs[irq]; @@ -124,7 +124,7 @@ static void intc_init(void) /* XIntc_Start - hw_interrupt enable and all interrupt enable */ intc-mer = 0x3; #ifdef DEBUG_INT - printf (INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, + printf(INTC isr %x, ier %x, iar %x, mer %x\n, intc-isr, intc-ier, intc-iar, intc-mer); #endif } @@ -159,7 +159,7 @@ int interrupts_init(void) return 0; } -void interrupt_handler (void) +void interrupt_handler(void) { int irqs = intc-ivr; /* find active interrupt */ int mask = 1; -- Viele Grüße, Stephan Linz __ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 5/7] microblaze: timer: Prepare for device-tree initialization
Hi Michal, looks fine, but ... (see below) Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: microblaze: Fix CONFIG_SYS_HZ usage in board config Do not use hardcoded value. Use CONFIG_SYS_HZ instead. Separate static configuration to single block. Signed-off-by: Michal Simek mon...@monstr.eu --- v2: Fix irq type irq == -1 means no IRQ --- arch/microblaze/cpu/timer.c| 69 --- arch/microblaze/include/asm/microblaze_timer.h |3 + arch/microblaze/lib/board.c|5 -- include/configs/microblaze-generic.h | 12 + 4 files changed, 41 insertions(+), 48 deletions(-) diff --git a/arch/microblaze/cpu/timer.c b/arch/microblaze/cpu/timer.c index cc6b897..1330401 100644 --- a/arch/microblaze/cpu/timer.c +++ b/arch/microblaze/cpu/timer.c @@ -27,42 +27,30 @@ #include asm/microblaze_intc.h volatile int timestamp = 0; +microblaze_timer_t *tmr; -#ifdef CONFIG_SYS_TIMER_0 ulong get_timer (ulong base) { - return (timestamp - base); + if (tmr) + return timestamp - base; + return timestamp++ - base; } -#else -ulong get_timer (ulong base) -{ - return (timestamp++ - base); -} -#endif -#ifdef CONFIG_SYS_TIMER_0 void __udelay(unsigned long usec) { - int i; + u32 i; - i = get_timer(0); - while ((get_timer(0) - i) (usec / 1000)) - ; + if (tmr) { + i = get_timer(0); + while ((get_timer(0) - i) (usec / 1000)) + ; + } else { + for (i = 0; i (usec * XILINX_CLOCK_FREQ / 1000); i++) + ; + } } -#else -void __udelay(unsigned long usec) -{ - unsigned int i; - for (i = 0; i (usec * CONFIG_XILINX_CLOCK_FREQ / 1000); i++) - ; -} -#endif - -#ifdef CONFIG_SYS_TIMER_0 -microblaze_timer_t *tmr = (microblaze_timer_t *) (CONFIG_SYS_TIMER_0_ADDR); - -void timer_isr (void *arg) +static void timer_isr(void *arg) { timestamp++; tmr-control = tmr-control | TIMER_INTERRUPT; @@ -70,15 +58,30 @@ void timer_isr (void *arg) int timer_init (void) { - tmr-loadreg = CONFIG_SYS_TIMER_0_PRELOAD; - tmr-control = TIMER_INTERRUPT | TIMER_RESET; - tmr-control = - TIMER_ENABLE | TIMER_ENABLE_INTR | TIMER_RELOAD | TIMER_DOWN_COUNT; - timestamp = 0; - install_interrupt_handler (CONFIG_SYS_TIMER_0_IRQ, timer_isr, (void *)tmr); + int irq = -1; + u32 preload = 0; + u32 ret = 0; + +#if defined(CONFIG_SYS_TIMER_0_ADDR) defined(CONFIG_SYS_INTC_0_NUM) + preload = XILINX_CLOCK_FREQ / CONFIG_SYS_HZ; + irq = CONFIG_SYS_TIMER_0_IRQ; + tmr = (microblaze_timer_t *) (CONFIG_SYS_TIMER_0_ADDR); +#endif + + if (tmr preload irq = 0) { + tmr-loadreg = preload; + tmr-control = TIMER_INTERRUPT | TIMER_RESET; + tmr-control = TIMER_ENABLE | TIMER_ENABLE_INTR |\ + TIMER_RELOAD | TIMER_DOWN_COUNT; + timestamp = 0; + ret = install_interrupt_handler (irq, timer_isr, (void *)tmr); + if (ret) + tmr = NULL; + } + + /* No problem if timer is not found/initialized */ return 0; } -#endif /* * This function is derived from PowerPC code (read timebase as long long). diff --git a/arch/microblaze/include/asm/microblaze_timer.h b/arch/microblaze/include/asm/microblaze_timer.h index 844c8db..28e8b02 100644 --- a/arch/microblaze/include/asm/microblaze_timer.h +++ b/arch/microblaze/include/asm/microblaze_timer.h @@ -39,3 +39,6 @@ typedef volatile struct microblaze_timer_t { int loadreg; /* load register TLR */ int counter; /* timer/counter register */ } microblaze_timer_t; + +int timer_init(void); + diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index b5f21d8..fde109f 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -42,9 +42,6 @@ DECLARE_GLOBAL_DATA_PTR; #ifdef CONFIG_SYS_GPIO_0 extern int gpio_init (void); #endif -#ifdef CONFIG_SYS_TIMER_0 -extern int timer_init (void); -#endif #ifdef CONFIG_SYS_FSL_2 extern void fsl_init2 (void); #endif @@ -74,9 +71,7 @@ init_fnc_t *init_sequence[] = { gpio_init, #endif interrupts_init, -#ifdef CONFIG_SYS_TIMER_0 timer_init, -#endif #ifdef CONFIG_SYS_FSL_2 fsl_init2, #endif diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h index 1266cf7..21ddb2b 100644 --- a/include/configs/microblaze-generic.h +++ b/include/configs/microblaze-generic.h @@ -115,19 +115,11 @@ #endif /* timer */ -#ifdef XILINX_TIMER_BASEADDR -# if (XILINX_TIMER_IRQ != -1) -# define CONFIG_SYS_TIMER_0 1 +#if defined(XILINX_TIMER_BASEADD) defined(XILINX_TIMER_IRQ) typo here
Re: [U-Boot] [PATCH v2 6/7] microblaze: Clean microblaze initialization
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: Move board specific function to board_init function in board/ folder Remove externs from generic board.c Use board_init_f function in board.c file. Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Stephan Linz l...@li-pro.net Tested with AXI systems on Avnet S6LX150T and S6LX9 micro-evaluation. --- v2: Remove global pointer Define board_init function in header --- arch/microblaze/cpu/start.S|2 +- arch/microblaze/include/asm/processor.h|3 +++ arch/microblaze/lib/board.c| 17 +++-- .../xilinx/microblaze-generic/microblaze-generic.c |9 + 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/arch/microblaze/cpu/start.S b/arch/microblaze/cpu/start.S index 8a2f634..8564c4e 100644 --- a/arch/microblaze/cpu/start.S +++ b/arch/microblaze/cpu/start.S @@ -149,7 +149,7 @@ clear_bss: cmp r6, r5, r4 /* check if we have reach the end */ bneir6, 2b 3: /* jumping to board_init */ - braiboard_init + braiboard_init_f 1: bri 1b /* diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h index 2295d0a..2c4d5ff 100644 --- a/arch/microblaze/include/asm/processor.h +++ b/arch/microblaze/include/asm/processor.h @@ -28,4 +28,7 @@ extern char __end[]; extern char __text_start[]; +/* Microblaze board initialization function */ +void board_init(void); + #endif /* __ASM_MICROBLAZE_PROCESSOR_H */ diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index fde109f..b450367 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -39,13 +39,6 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_SYS_GPIO_0 -extern int gpio_init (void); -#endif -#ifdef CONFIG_SYS_FSL_2 -extern void fsl_init2 (void); -#endif - /* * All attempts to come up with a common initialization sequence * that works for all boards and architectures failed: some of the @@ -67,20 +60,14 @@ init_fnc_t *init_sequence[] = { #endif serial_init, console_init_f, -#ifdef CONFIG_SYS_GPIO_0 - gpio_init, -#endif interrupts_init, timer_init, -#ifdef CONFIG_SYS_FSL_2 - fsl_init2, -#endif NULL, }; unsigned long monitor_flash_len; -void board_init (void) +void board_init_f(ulong not_used) { bd_t *bd; init_fnc_t **init_fnc_ptr; @@ -189,6 +176,8 @@ void board_init (void) /* Initialize the console (after the relocation and devices init) */ console_init_r(); + board_init(); + /* Initialize from environment */ load_addr = getenv_ulong(loadaddr, 16, load_addr); diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index a1e2bfe..b75e62c 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -28,6 +28,7 @@ #include common.h #include config.h #include netdev.h +#include asm/processor.h #include asm/microblaze_intc.h #include asm/asm.h @@ -69,6 +70,14 @@ int fsl_init2 (void) { } #endif +void board_init(void) +{ + gpio_init(); +#ifdef CONFIG_SYS_FSL_2 + fsl_init2(); +#endif +} + int board_eth_init(bd_t *bis) { int ret = 0; -- Viele Grüße, Stephan Linz __ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 7/7] microblaze: board: Use bi_flashstart instead of CONFIG_SYS_FLASH_BASE
Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: Prepare for device-tree driven configuration. Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Stephan Linz l...@li-pro.net Tested with AXI systems on Avnet S6LX150T and S6LX9 micro-evaluation. --- v2: Move bi_flashsize and bi_flashoffset from other patch --- arch/microblaze/lib/board.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index b450367..674b573 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -136,9 +136,8 @@ void board_init_f(ulong not_used) #if defined(CONFIG_CMD_FLASH) puts (Flash: ); bd-bi_flashstart = CONFIG_SYS_FLASH_BASE; - if (0 (flash_size = flash_init ())) { - bd-bi_flashsize = flash_size; - bd-bi_flashoffset = CONFIG_SYS_FLASH_BASE + flash_size; + flash_size = flash_init(); + if (bd-bi_flashstart flash_size 0) { # ifdef CONFIG_SYS_FLASH_CHECKSUM print_size (flash_size, ); /* @@ -149,13 +148,16 @@ void board_init_f(ulong not_used) s = getenv (flashchecksum); if (s (*s == 'y')) { printf ( CRC: %08X, - crc32 (0, (const unsigned char *) CONFIG_SYS_FLASH_BASE, flash_size) + crc32(0, (const u8 *)bd-bi_flashstart, + flash_size) ); } putc ('\n'); # else /* !CONFIG_SYS_FLASH_CHECKSUM */ print_size (flash_size, \n); # endif /* CONFIG_SYS_FLASH_CHECKSUM */ + bd-bi_flashsize = flash_size; + bd-bi_flashoffset = bd-bi_flashstart + flash_size; } else { puts (Flash init FAILED); bd-bi_flashstart = 0; -- Viele Grüße, Stephan Linz __ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
On Tue, Aug 07, 2012 at 10:53:00AM -0700, Lucas Stach wrote: Hi Allen, Tell me what CodeSourcery version you're using and I'll test it here as well and see if I can reproduce the problem. I used CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi to test this. And to answer Tom's question: the failure was that the real U-Boot would not come up after the SPL. All I could see was the one line printed by the SPL and nothing more. I'm able to reproduce this on seaboard with the CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi. I tried adding back USE_PRIVATE_LIBGCC=yes and I'm still seeing it fail the same way though, so maybe what I'm seeing is different or it's a combination of things. Regardless I have a JTAG debugger on the system so I'll drill down until I figure out what's wrong. -Allen -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: usb: rework set_host_mode
On 08/07/2012 12:19 PM, Lucas Stach wrote: This allows for two things: - VBus GPIO may be used on other ports than the OTG one - VBus GPIO may be low active if specified by DT Hmmm. Why would the board have control over whether VBUS is asserted if the port isn't intended to operate in OTG mode? Perhaps power-saving? In that case, I wonder if representing this as a regulator rather than as a VBUS GPIO would make more sense? But irrespective of those questions, I'm inclined to think the patch is probably OK. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: usb: rework set_host_mode
Am Dienstag, den 07.08.2012, 14:21 -0600 schrieb Stephen Warren: On 08/07/2012 12:19 PM, Lucas Stach wrote: This allows for two things: - VBus GPIO may be used on other ports than the OTG one - VBus GPIO may be low active if specified by DT Hmmm. Why would the board have control over whether VBUS is asserted if the port isn't intended to operate in OTG mode? Perhaps power-saving? In that case, I wonder if representing this as a regulator rather than as a VBUS GPIO would make more sense? But irrespective of those questions, I'm inclined to think the patch is probably OK. On Colibri the second USB Port is powered down by default and only powered up if we are really going to use it. And the GPIO does exactly what it tells you from it's name: turn on VBus by triggering the USB power switch. Thinking about a regulator for this in U-Boot is a bit of an overkill, for the Linux kernel this might be another story. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] disk/partition: Fix the depend for all the partitions file
Dear Zhong Hongbo, In message 1342860534-4710-1-git-send-email-bocui...@gmail.com you wrote: From: Zhong Hongbo bocui...@gmail.com all the patitions should depend CONFIG_PARTITIONS, no the CONFIG_CMD_$(device). The device symbol may be SATA, SCSI, USB, MMC, SYSTEMACE. Or else when the filesystem command be enabled, But board's configure file can not include any CONFIG_CMD_$(device), The u-boot will fail build. For example: CONFIG_CMD_EXT2 is defined in smdk6400.h, but the boards can not define any disk device. The error of build as following: --- It appears some text is missing here - most of all you SoB line... Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Vor allem kein Gedanke! Nichts ist kompromittierender als ein Gedan- ke!- Friedrich Wilhelm Nietzsche _Der Fall Wagner_ (1888) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] early_malloc outline
Dear Tomas, In message caeb7qlananotlqfzpaj2nmgndpv6qinczntvbz6fhg2yv99...@mail.gmail.com you wrote: Dear Wolfgang, On Wed, Aug 1, 2012 at 9:09 PM, Wolfgang Denk w...@denx.de wrote: Hm... I have to admit that I am not really happy about such an explanation. The statement that other guys want something is not exactly an explanation of a concept that I can understand, and without being able to understand it, I don't buy it. I wanted to say that this is outcome of an informal discussion with Marek Vasut, Pavel Hermann and Viktor Krivak, who are working on different parts of DM (and perhaps I should say that it is our school project to implement driver model for U-Boot, which is not relevant information to the current discussion, but it may explain why we closely cooperate on DM among ourselves). Statements like I/we want were not any notices nor decisions nor whatever final but rather wishes or ideas (mine or from others). Although we have elaborate outline of DM and supporting subsystems it is still subject to changes. As long as you don't actually EXPLAIN the rationale behind any suggestions or decisions, it is impossible to comment (otherwise we run the rist to repeat all your previous discussions, and this would be just a waste of time). So please explain your concepts, and the rationale. Each early heap (assuming we can have more than one contiguous early heaps as Graeme suggested) has a pointer to the beginning (and it is valid only before relocation and before caches are enabled). I can memcpy() the used part of the early heap somewhere else and preserve the original heap beginning pointer (I have in mind preservation of the pointers in GD; it is implementation detail indeed, but I would rather note this in order make sure that I am not working with false assumption about possibility of preserving pointers like that). Then I can compute copied_heap_address = original_address + (copied_heap_begin - original_heap_begin). Sure you can copy the content. But relocation means that you have to add the address difference (aka relocation offset) to _all_ pointers pointing into this area. And there is no way to keep track of _all_ such pointers. I am convinced that you _cannot_ reliably relocate the malloc arena if you use the standard malloc//calloc/free interface for early allocation. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de No problem is insoluble. -- Dr. Janet Wallace, The Deadly Years, stardate 3479.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: Fix merge conflicts - Makefile
Dear Michal Simek, In message 1344001064-762-1-git-send-email-mon...@monstr.eu you wrote: The patch spi: tegra2: rename tegra2_spi.* to tegra_spi.* (sha1: edffa63d3d6e76991998789f9fcbaa483731ca65) renamed tegra2_spi.c to tegra_spi.c and the patch Merge branch 'master' of git://git.denx.de/u-boot-microblaze (sha1: d978780b2e676c005460cd561f4f15b5220bdf49) has wrongly resolved confict. This patch fix it. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/spi/Makefile |1 - 1 files changed, 0 insertions(+), 1 deletions(-) Applied, 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: w...@denx.de He is truly wise who gains wisdom from another's mishap. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2] README: Reference nand monitor commands in U-Boot README
Dear Karl O. Pinc, In message 1344009441-854-1-git-send-email-...@meme.com you wrote: Reference nand monitor commands in U-Boot README Signed-off-by: Karl O. Pinc k...@meme.com --- Resend of patch to ease review/commit process. Changes for v2: - include a commit message - Change message subject to README: instead of cosmetic: README |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/README b/README index fb9d904..6bb5992 100644 --- a/README +++ b/README @@ -3725,6 +3725,7 @@ saveenv - save environment variables to persistent storage protect - enable or disable FLASH write protection erase- erase FLASH memory flinfo - print FLASH memory information +nand - NAND memory operations (see doc/README.nand) bdinfo - print Board Info structure iminfo - print header information for application image coninfo - print console devices and informations While we are at it - can we please sort this list, as recent versions of U-Boot would do? 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: w...@denx.de If I ever needed a brain transplant, I'd choose a teenager's because I'd want a brain that had never been used. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] MAINTAINERS: cleanup for km ppc boards
Dear Holger Brunck, In message 1344255393-18421-1-git-send-email-holger.bru...@keymile.com you wrote: Signed-off-by: Holger Brunck holger.bru...@keymile.com cc: Heiko Schocher h...@denx.de cc: Valentin Longchamp valentin.longch...@keymile.com cc: Gerlando Falauto gerlando.fala...@keymile.com --- MAINTAINERS |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Applied, 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: w...@denx.de Celestial navigation is based on the premise that the Earth is the center of the universe. The premise is wrong, but the navigation works. An incorrect model can be a useful tool. - Kelvin Throop III ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] serial: Support serial multi for Microblaze
Am Dienstag, den 07.08.2012, 14:20 +0200 schrieb Michal Simek: enable serial multi for Microblaze. Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Stephan Linz l...@li-pro.net --- include/serial.h |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/include/serial.h b/include/serial.h index 5173499..9475779 100644 --- a/include/serial.h +++ b/include/serial.h @@ -31,7 +31,8 @@ extern struct serial_device *default_serial_console(void); defined(CONFIG_MB86R0x) || defined(CONFIG_MPC5xxx) || \ defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx) || \ defined(CONFIG_MPC86xx) || defined(CONFIG_SYS_SC520) || \ - defined(CONFIG_TEGRA2) || defined(CONFIG_SYS_COREBOOT) + defined(CONFIG_TEGRA2) || defined(CONFIG_SYS_COREBOOT) || \ + defined(CONFIG_MICROBLAZE) extern struct serial_device serial0_device; extern struct serial_device serial1_device; #if defined(CONFIG_SYS_NS16550_SERIAL) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] serial: uartlite: Init all uartlites for serial multi
Am Dienstag, den 07.08.2012, 14:20 +0200 schrieb Michal Simek: Initialize all possible uartlites and return the first initialized port. For static configuration is initialization done in userial_ports array. Signed-off-by: Michal Simek mon...@monstr.eu Acked-by: Stephan Linz l...@li-pro.net Tested with AXI system on Avnet S6LX9 micro-evaluation. --- drivers/serial/serial_xuartlite.c | 34 +++--- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c index 3a38f9e..2bdb68b 100644 --- a/drivers/serial/serial_xuartlite.c +++ b/drivers/serial/serial_xuartlite.c @@ -89,11 +89,17 @@ int uartlite_serial_tstc(const int port) return in_be32(regs-status) SR_RX_FIFO_VALID_DATA; } +static int uartlite_serial_init(const int port) +{ + if (userial_ports[port]) + return 0; + return -1; +} + #if !defined(CONFIG_SERIAL_MULTI) int serial_init(void) { - /* FIXME: Nothing for now. We should initialize fifo, etc */ - return 0; + return uartlite_serial_init(0); } void serial_setbrg(void) @@ -126,7 +132,7 @@ int serial_tstc(void) /* Multi serial device functions */ #define DECLARE_ESERIAL_FUNCTIONS(port) \ int userial##port##_init(void) \ - { return(0); } \ + { return uartlite_serial_init(port); } \ void userial##port##_setbrg(void) {} \ int userial##port##_getc(void) \ { return uartlite_serial_getc(port); } \ @@ -163,17 +169,15 @@ struct serial_device uartlite_serial3_device = __weak struct serial_device *default_serial_console(void) { -# ifdef XILINX_UARTLITE_BASEADDR - return uartlite_serial0_device; -# endif /* XILINX_UARTLITE_BASEADDR */ -# ifdef XILINX_UARTLITE_BASEADDR1 - return uartlite_serial1_device; -# endif /* XILINX_UARTLITE_BASEADDR1 */ -# ifdef XILINX_UARTLITE_BASEADDR2 - return uartlite_serial2_device; -# endif /* XILINX_UARTLITE_BASEADDR2 */ -# ifdef XILINX_UARTLITE_BASEADDR3 - return uartlite_serial3_device; -# endif /* XILINX_UARTLITE_BASEADDR3 */ + if (userial_ports[0]) + return uartlite_serial0_device; + if (userial_ports[1]) + return uartlite_serial1_device; + if (userial_ports[2]) + return uartlite_serial2_device; + if (userial_ports[3]) + return uartlite_serial3_device; + + return NULL; } #endif /* CONFIG_SERIAL_MULTI */ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] spi: xilinx: Remove unused variable
Warning is: xilinx_spi.c: In function 'spi_setup_slave': xilinx_spi.c:81: warning: unused variable 'regs' Signed-off-by: Stephan Linz l...@li-pro.net CC: Michal Simek mon...@monstr.eu --- drivers/spi/xilinx_spi.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c index e563c19..52a4134 100644 --- a/drivers/spi/xilinx_spi.c +++ b/drivers/spi/xilinx_spi.c @@ -78,7 +78,6 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int mode) { struct xilinx_spi_slave *xilspi; - struct xilinx_spi_reg *regs; if (!spi_cs_is_valid(bus, cs)) { printf(XILSPI error: %s: unsupported bus %d / cs %d\n, -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [Pull request] u-boot-onenand
Dear Lukasz Majewski, In message 20120806112735.05fd945f@amdc308.digital.local you wrote: Hi Wolfgang, Please pull following commits: The following changes since commit 56249fea3d5e32cddcd9160e51ec93a9c4327c6b: powerpc/82xx: adapt SDRAM settings for mgcoge3ne (2012-07-31 22:36:38 +0200) are available in the git repository at: git://git.denx.de/u-boot-onenand.git master David du Colombier (1): env_onenand: set ONENAND_MAX_ENV_SIZE to CONFIG_ENV_SIZE common/env_onenand.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Applied, 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: w...@denx.de A student of probability soon realizes that by its nature the billion-to-one chance crops up nine times out of ten, and that the greatest odds boil down to a double-sided statement: it will happen, or it will not. - Terry Pratchett, _The Dark Side of the Sun_ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: usb: rework set_host_mode
On 08/07/2012 02:35 PM, Lucas Stach wrote: Am Dienstag, den 07.08.2012, 14:21 -0600 schrieb Stephen Warren: On 08/07/2012 12:19 PM, Lucas Stach wrote: This allows for two things: - VBus GPIO may be used on other ports than the OTG one - VBus GPIO may be low active if specified by DT Hmmm. Why would the board have control over whether VBUS is asserted if the port isn't intended to operate in OTG mode? Perhaps power-saving? In that case, I wonder if representing this as a regulator rather than as a VBUS GPIO would make more sense? But irrespective of those questions, I'm inclined to think the patch is probably OK. On Colibri the second USB Port is powered down by default and only powered up if we are really going to use it. And the GPIO does exactly what it tells you from it's name: turn on VBus by triggering the USB power switch. It's probably fine to do this; the kernel also unconditionally sets up the VBUS GPIO irrespective of USB port mode. Thinking about a regulator for this in U-Boot is a bit of an overkill, for the Linux kernel this might be another story. Device tree content isn't supposed to be influence by the consumer; it should be identical irrespective of which bootloader/OS/... is using it. So, in the future I expect this to be reworked to get rid of the vbus-gpio property and replace it with a regulator. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Enable the EMAC clock in at91_macb_hw_init().
Dear Markus Hubig, On 01.08.12 21:49, Markus Hubig wrote: Signed-off-by: Markus Hubig mhu...@imko.de Cc: Andreas Bießmann andreas.de...@googlemail.com --- applied to u-boot-atmel, thanks. Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] MAINTAINERS: fix entry of Ilko Iliev
Dear Andreas Bießmann, On 01.08.12 22:56, Andreas Bießmann wrote: These boards have ARM cores, move to the ARM section. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- applied to u-boot-atmel, thanks. Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] MAINTAINERS: fix Andreas Bießmann AVR32 entry
Dear Andreas Bießmann, On 01.08.12 23:12, Andreas Bießmann wrote: The grasshopper board is a avr32 based device and belongs therefore to the avr32 section. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- applied to u-boot-atmel, thanks. Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v6] at91: Add support for taskit AT91SAM9G20 boards.
Dear Markus Hubig, On 06.08.12 19:48, Markus Hubig wrote: This adds support for the AT91SAM9G20 boards by taskit GmbH. Both boards, Stamp9G20 and PortuxG20, are integrated in one file. PortuxG20 is basically a SBC built around the Stamp9G20. Signed-off-by: Markus Hubig mhu...@imko.de Cc: Andreas Bießmann andreas.de...@googlemail.com --- applied to u-boot-atmel, thanks Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
On Tue, Aug 07, 2012 at 10:53:00AM -0700, Lucas Stach wrote: Hi Allen, And to answer Tom's question: the failure was that the real U-Boot would not come up after the SPL. All I could see was the one line printed by the SPL and nothing more. I think I found the problem. It's the following code from start.S: ENTRY(cpu_init_crit) /* * Jump to board specific initialization... * The Mask ROM will have already initialized * basic memory. Go here to bump up clock rate and handle * wake up conditions. */ mov ip, lr @ persevere link reg across call bl lowlevel_init @ go setup pll,mux,memory mov lr, ip @ restore link mov pc, lr @ back to my caller ENDPROC(cpu_init_crit) The ip register is not preserved across function calls, and the CodeSourcery compiler is using it in lowlevel_init or one of the functions it calls. This code was there before the SPL changes, but wasn't being called because CONFIG_SKIP_LOWLEVEL_INIT was set, but now it isn't. Lucas, can you try the following change? I tested it on seaboard with CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi and I'm able to boot a kernel. Tom if this works we probably want to get it into your pull request to Albert. CodeSourcery toolchain is probably used by a lot of people. -Allen diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index 2506f27..02e47fa 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -152,7 +152,7 @@ reset: /* the mask ROM code should have PLL and others stable */ #ifndef CONFIG_SKIP_LOWLEVEL_INIT bl cpu_init_cp15 - bl cpu_init_crit + bl lowlevel_init @ go setup pll,mux,memory #endif /* Set stackpointer in internal RAM to call board_init_f */ @@ -339,29 +339,6 @@ ENTRY(cpu_init_cp15) mov pc, lr @ back to my caller ENDPROC(cpu_init_cp15) -#ifndef CONFIG_SKIP_LOWLEVEL_INIT -/* - * - * CPU_init_critical registers - * - * setup important registers - * setup memory timing - * - */ -ENTRY(cpu_init_crit) - /* -* Jump to board specific initialization... -* The Mask ROM will have already initialized -* basic memory. Go here to bump up clock rate and handle -* wake up conditions. -*/ - mov ip, lr @ persevere link reg across -call - bl lowlevel_init @ go setup pll,mux,memory - mov lr, ip @ restore link - mov pc, lr @ back to my caller -ENDPROC(cpu_init_crit) -#endif - #ifndef CONFIG_SPL_BUILD /* * -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Please pull u-boot-atmel/master
The following changes since commit 8abcd8ab962cd5fb2a4c025e7c7b62a9faf4aa08: DaVinci DA8xx: fix set_cpu_clk_info() (2012-08-05 22:02:40 +0200) are available in the git repository at: git://git.denx.de/u-boot-atmel.git master for you to fetch changes up to 17cda15fa6fb3ab2433bed951dad5c4ab30d8cbc: at91: Add support for taskit AT91SAM9G20 boards. (2012-08-07 23:47:29 +0200) Andreas Bießmann (3): doc/git-mailrc: update at91 and avr32 MAINTAINERS: fix entry of Ilko Iliev MAINTAINERS: fix Andreas Bießmann AVR32 entry Bo Shen (1): arm : Atmel : add at91sam9x5ek board support Markus Hubig (2): Enable the EMAC clock in at91_macb_hw_init(). at91: Add support for taskit AT91SAM9G20 boards. MAINTAINERS| 23 +- arch/arm/cpu/arm926ejs/at91/Makefile |1 + arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c |4 + arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c | 232 arch/arm/cpu/arm926ejs/at91/clock.c| 12 +- arch/arm/include/asm/arch-at91/at91sam9_matrix.h |2 + arch/arm/include/asm/arch-at91/at91sam9x5.h| 170 arch/arm/include/asm/arch-at91/at91sam9x5_matrix.h | 91 ++ arch/arm/include/asm/arch-at91/hardware.h |2 + board/atmel/at91sam9x5ek/Makefile | 52 board/atmel/at91sam9x5ek/at91sam9x5ek.c| 293 board/atmel/at91sam9x5ek/config.mk |1 + board/taskit/stamp9g20/Makefile| 53 board/taskit/stamp9g20/led.c | 138 + board/taskit/stamp9g20/stamp9g20.c | 191 + boards.cfg |3 + doc/git-mailrc |5 +- drivers/net/macb.c |4 +- include/configs/at91sam9x5ek.h | 183 include/configs/stamp9g20.h| 266 ++ 20 files changed, 1713 insertions(+), 13 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c create mode 100644 arch/arm/include/asm/arch-at91/at91sam9x5.h create mode 100644 arch/arm/include/asm/arch-at91/at91sam9x5_matrix.h create mode 100644 board/atmel/at91sam9x5ek/Makefile create mode 100644 board/atmel/at91sam9x5ek/at91sam9x5ek.c create mode 100644 board/atmel/at91sam9x5ek/config.mk create mode 100644 board/taskit/stamp9g20/Makefile create mode 100644 board/taskit/stamp9g20/led.c create mode 100644 board/taskit/stamp9g20/stamp9g20.c create mode 100644 include/configs/at91sam9x5ek.h create mode 100644 include/configs/stamp9g20.h ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
Am Dienstag, den 07.08.2012, 15:28 -0700 schrieb Allen Martin: On Tue, Aug 07, 2012 at 10:53:00AM -0700, Lucas Stach wrote: Hi Allen, And to answer Tom's question: the failure was that the real U-Boot would not come up after the SPL. All I could see was the one line printed by the SPL and nothing more. I think I found the problem. It's the following code from start.S: ENTRY(cpu_init_crit) /* * Jump to board specific initialization... * The Mask ROM will have already initialized * basic memory. Go here to bump up clock rate and handle * wake up conditions. */ mov ip, lr @ persevere link reg across call bl lowlevel_init @ go setup pll,mux,memory mov lr, ip @ restore link mov pc, lr @ back to my caller ENDPROC(cpu_init_crit) The ip register is not preserved across function calls, and the CodeSourcery compiler is using it in lowlevel_init or one of the functions it calls. This code was there before the SPL changes, but wasn't being called because CONFIG_SKIP_LOWLEVEL_INIT was set, but now it isn't. Lucas, can you try the following change? I tested it on seaboard with CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi and I'm able to boot a kernel. Yes I can confirm this fixes the issue without further workarounds. Thanks, and: Tested-by: Lucas Stach d...@lynxeye.de Tom if this works we probably want to get it into your pull request to Albert. CodeSourcery toolchain is probably used by a lot of people. -Allen diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index 2506f27..02e47fa 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -152,7 +152,7 @@ reset: /* the mask ROM code should have PLL and others stable */ #ifndef CONFIG_SKIP_LOWLEVEL_INIT bl cpu_init_cp15 - bl cpu_init_crit + bl lowlevel_init @ go setup pll,mux,memory #endif /* Set stackpointer in internal RAM to call board_init_f */ @@ -339,29 +339,6 @@ ENTRY(cpu_init_cp15) mov pc, lr @ back to my caller ENDPROC(cpu_init_cp15) -#ifndef CONFIG_SKIP_LOWLEVEL_INIT -/* - * - * CPU_init_critical registers - * - * setup important registers - * setup memory timing - * - */ -ENTRY(cpu_init_crit) - /* -* Jump to board specific initialization... -* The Mask ROM will have already initialized -* basic memory. Go here to bump up clock rate and handle -* wake up conditions. -*/ - mov ip, lr @ persevere link reg across -call - bl lowlevel_init @ go setup pll,mux,memory - mov lr, ip @ restore link - mov pc, lr @ back to my caller -ENDPROC(cpu_init_crit) -#endif - #ifndef CONFIG_SPL_BUILD /* * ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot