[U-Boot] How to build mkimage tool on Solaris host ?
Hi, We have a requirement to use p4080 based board in our application and I was able to down load and build the mkimage and other tools on Linux using the following steps downloaded the latest u-boot source from ftp://ftp.denx.de/pub/u-boot/ i.e u-boot-2010.09 make CROSS_COMPILE=powerpc-eabi ARCH=ppc distclean make CROSS_COMPILE=powerpc-eabi- ARCH=powerpc P4080DS_config make CROSS_COMPILE=powerpc-eabi- ARCH=powerpc with these I was able to build the tools like mkimage and others required on Linux host. However I see lot of build errors when I try the same on Solaris host. But we have the requirement to use a Solaris as the build environment and I need mkimage to build which can run on Solaris ( Solaris 9 or Solaris 10 ) $ make CROSS_COMPILE=powerpc-eabi- ARCH=powerpc P4080DS_config make: *** [P4080DS_config] Error 1 i.e the configuration fails for P4080DS_config I have also tried to use the following command to build only the tools but observe errors from the Makefile $ make tools make -C tools make[1]: -E: Command not found make[1]: Entering directory `/home/ekarana/UBOOT/uboot_solaris/tools' /bin/sh: syntax error at line 1: `;' unexpected make[1]: *** [.depend] Error 2 make[1]: Leaving directory `/home/ekarana/UBOOT/uboot_solaris/tools' make: *** [tools] Error 2 So please suggest how we can build mkimage tools on Solaris host for p4080. Thanks, Anand ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Fwd: Hey bro
A Click Away to Extra Income there , its been a while. I know times r hard but I found a solution and I wanted to tell you about it heh. This page changed my life... I quit my job because I make extra cash online now. make up to 200 a day, here goes, a href=http://bit.ly/hiBUaj;View the article here/a ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Premi, Sanjeev Sent: Monday, November 22, 2010 8:57 PM To: Albert ARIBAUD Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] Build failures with older toolchain -Original Message- From: Albert ARIBAUD [mailto:albert.arib...@free.fr] Sent: Monday, November 22, 2010 8:54 PM To: Premi, Sanjeev Cc: u-boot@lists.denx.de Subject: Re: Build failures with older toolchain Le 22/11/2010 16:02, Premi, Sanjeev a écrit : -Original Message- From: Albert ARIBAUD [mailto:albert.arib...@free.fr] Sent: Monday, November 22, 2010 8:02 PM To: Premi, Sanjeev Cc: Wolfgang Denk; u-boot@lists.denx.de Subject: Re: Build failures with older toolchain Le 22/11/2010 14:50, Premi, Sanjeev a écrit : Tried the same stuff for overo and no issues! Since there linker scripts are same between omap3_evm, omap3_beagle and omap3_overo, only difference could have been board specific code. I was hoping to find some code that might be offending the linker; unable to find by inspection, I reduced the default configuration for the evm to as low as I could - still see: arm-none-linux-gnueabi-ld: section .bss [800fe358 - 800fee1b] overlaps section .rel.dyn [800fe358 - 8010076f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x800fe358 overlaps previous sections I am still not sure why the start of .bss and .rel.dyn for omap3_evm start at same address That is because they are voluntarily overlapped. This looks like the patch I recently did, which in essence does overlap BSS (which is not used before relocation) and relocation tables (which are not used after relocation) so that the FLASH and RAM footprint remain minimal. [sp] Are you referring to this patch? http://git.denx.de/?p=u-boot.git;a=commitdiff;h=aaeb0a890a050b 58be87fa2b165eec5fa947dc86 I see the change for arm926ejs/u-boot.lds and armv7/u-boot.lds to be similar. Your commit mentions about the new ld vs. old; I had seen this earlier as well. It was the reason for me to try CodeSourcery Lite 2010-q1 but there I get a different error - mentioned in my first post. Which toolchain version are you using? I usually try the 2009q3 Code Sourcery and the ELDK 4.2 toolchains. Can you compare the ld invocation command lines for a failure case and a success case? The difference could be in the linker options. [sp] Identical :( Would you want me to share the build logs or the last step? The generated u-boot.lds is also same. It was my first step. Then I started looking if there is any forced addition on specific section that may not be going well with linker/ relocation changes - reason for trying a minimal config. Albert, I saw some more - what I believe related changes - since last week; but the linker error still persists. with 2009-q1 toolchain: --- busb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o common/libcommon.o lib/libfdt/libfdt.o api/libapi.o post/libpost.o arch/arm/cpu/armv7/omap-common/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3 -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 with 2010-q1 toolchain: --- mmon/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003e8e0 overlaps previous sections arm-none-linux-gnueabi-objcopy -O srec u-boot u-boot.srec arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin Best regards, Sanjeev ~sanjeev Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] How to build mkimage tool on Solaris host ?
Dear Anand Karanam, In message bc96682d7f206346b8f098ead0c172ee04f82...@esesscms0358.eemea.ericsson.se you wrote: However I see lot of build errors when I try the same on Solaris host. But we have the requirement to use a Solaris as the build environment and I nee d mkimage to build which can run on Solaris ( Solaris 9 or Solaris 10 ) $ make CROSS_COMPILE=powerpc-eabi- ARCH=powerpc P4080DS_config make: *** [P4080DS_config] Error 1 I guess you will have to install a number of GNU tools in your SOlaris system, including GNU make, gcc, and binutils. Sorry, I have no idea what's available in Solatis these days - I stopped using this environment in the days of Solaris 2.6, i. e. _some_ time ago. So please suggest how we can build mkimage tools on Solaris host for p4080. U-Boot depends in a number of areas on GNU tools. Eventually you can find pre-built packages you just have to install (there used to be such repositories, long ago though). Otherwise you will have to build from the sources. Alternatively, install Linux (eventually in a VM). 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 Faith may be defined briefly as an illogical belief in the occurence of the improbable.- H. L. Mencken ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC] Double-stage u-boot to reduce footprint
Hi ML, I'm working to have a small but also full-featured u-boot bootloader. The idea, that I already see on lantiq sources, is to have a small bootstrap code that decompresses the final u-boot. The code is divided into two stages: 1) bootstrap: initializes the ram in order to decompress the u-boot binary. After that, bootstrap jumps to final u-boot 2) 2) u-boot: the state of the art of the boot loaders. Can be interesting for you to have these pieces of code? I ask before to send any patch, because the boards to support the bootstrap code should define some symbols (CONFIG_BOOTSTRAP_*) and provides a linker script, and the lowlevel init code for the ram. Thanks for any comments, luigi -- Luigi 'Comio' Mantellini RD - Software Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Italy Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantell...@idf-hit.com Website: http://www.idf-hit.com Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie. Rispetta l'ambiente. Non stampare questa mail se non è realmente necessario. This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorized. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks. Help the environment. Please do not print this email unless it is absolutely necessary. idf_logo.png signature.asc Description: This is a digitally signed message part. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
Le 29/11/2010 10:47, Premi, Sanjeev a écrit : Albert, I saw some more - what I believe related changes - since last week; but the linker error still persists. with 2009-q1 toolchain: --- busb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o common/libcommon.o lib/libfdt/libfdt.o api/libapi.o post/libpost.o arch/arm/cpu/armv7/omap-common/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3 -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 with 2010-q1 toolchain: --- mmon/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003e8e0 overlaps previous sections arm-none-linux-gnueabi-objcopy -O srec u-boot u-boot.srec arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin Weird... I've compiled v2010.12-rc2, for boards omap3_evm, omap3_overo and omap3_beagle, with 2010q1, and here is what I get, which is quite different from what you get: alb...@lilith:~/src/u-boot$ ./MAKEALL omap3_evm omap3_overo omap3_beagle Configuring for omap3_evm board... start.S: Assembler messages: start.S:144: Error: constant expression expected -- `ldr sp,=((0x4020FFFC-CONFIG_SYS_GBL_DATA_SIZE))' make[1]: *** [start.o] Erreur 1 make: *** [arch/arm/cpu/armv7/start.o] Erreur 2 make: *** Attente des tâches non terminées arm-none-linux-gnueabi-size: './u-boot': No such file Configuring for omap3_overo board... text data bss dec hex filename 212965 10840 210624 434429 6a0fd ./u-boot Configuring for omap3_beagle board... text data bss dec hex filename 243182 11300 203648 458130 6fd92 ./u-boot - SUMMARY Boards compiled: 3 Boards with warnings or errors: 1 ( omap3_evm ) -- alb...@lilith:~/src/u-boot$ Best regards, Sanjeev Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] migration from Micron to ISSI RAM
Hello, Continuing with this subject. I didn't mention the registers values posted last email was already changed for ISSI RAM. Having said that, I have 3 different *write errors msgs and contexts*. Althought they look the same, they are: - *Memory (date line) error at , wrote , read 89abcdef89abcdef ! **...* - Memory error at 018c, wrote , read ff77 ! - Memory (address line) error at 07f8-07fc, XOR value 0004 ! Is there differences between these errors? where can I find information about it? Regards, Mauro César 2010/11/24 Mauro Marinho listasman...@gmail.com Hi there, It's my first contact to the group. I just started working with U-boot from my Job here in Brazil. Does anyone has already worked with any of the RAM's below? both 2 Meg x 16 x 4 banks: - Micron - MT48LC8M16A2; - ISSI - IS42S16800E -75ETL; I got the mission to make the necessary software changes to make a MPC5200B board to work with our new RAM from ISSI provider, model IS42S16800E which is a 128Mb (16MB), 133Mhz, CAS = 2. So it means the board was already working fine with the OLD micron RAM. Offcourse I tried to load the same u-boot version to experiment. It failed with the same error below(bolded). I have the *MPC5200B SDRAM Initialization and Configuration* document I used as reference. There are 2 CI's on CS0 and CS1 is disabled. So we have 32MB(2x16MB) available onBoard. I noticed from the study on each datasheet that Micron was configured with CAS Latency = 3 the only clear difference from ISSI(CAS=2), and some small timing differences I used on calculations. Then i've changed the *control, mode, config1 and config2* REGISTERS to corroborate ISSI's datasheet. After that, I compiled and loaded U-boot on the Board. Then, I got a WRITE error on screen BELOW : *U-Boot 1.1.6.Autotrac-R2a-g6b4fc061-dirty (Nov 23 2010 - 10:53:30)* * * *CPU: MPC5200 v1.2, Core v1.1 at 396 MHz* * Bus 132 MHz, IPB 66 MHz, PCI 33 MHz* *Board: Autotrac UCC* *DRAM: 32 MB* *Memory (date line) error at , wrote , read 89abcdef89abcdef !* *Memory (date line) error at , wrote , read 89abcdef89abcdef !* *...* What could it be? where should I pay more attention? doesn't it look like a timing problem? The header portion extracted; /* * SDRAM configuration */ /* 2x IS42S16800E - 7.5 ns SDRAMS = 32 MegaBytes Total */ *#define CFG_DRAM_DDR 0* /* 0 = SDR mode; 1 = DDR mode*/ #*define CFG_DRAM_EMODE 0 * /* DDR usage*/ *#define CFG_DRAM_MODE 0x008D* //* pg.250 0.1100.11[01] (CAS=2 burst=8) */ *#define CFG_DRAM_CONTROL 0x504F* /* pg.251 refresh=0xF half the max(64ms) */ *#define CFG_DRAM_CONFIG1 0xCA00* // 15/7.5oldValue=0xD2333A00 /* pg.254 */ *#define CFG_DRAM_CONFIG2 0x8AC7* //* 0x8AD7 pg.255 */ *#define CFG_DRAM_TAP_DEL 0x01* /* pg.146 */ *#define CFG_DRAM_RAM_SIZE 0x18 * /* Bitset 11000 - 32M pg.126 */ If there's any missing info, please let me know. My Best Regards, -- Mauro César -- -- Mauro César email/MSN/Gtalk:man...@gmail.com gtalk%3aman...@gmail.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
Dear Premi, Sanjeev, can you please quote onlye _relevant_ parts of previous messages? Thanks. In message b85a65d85d7eb246be421b3fb0fbb5930247a0a...@dbde02.ent.ti.com you wrote: with 2009-q1 toolchain: --- busb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o common/libcommon.o lib/libfdt/libfdt.o api/libapi.o post/libpost.o arch/arm/cpu/armv7/omap-common/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3 -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 with 2010-q1 toolchain: --- mmon/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003e8e0 overlaps previous sections arm-none-linux-gnueabi-objcopy -O srec u-boot u-boot.srec arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin Are you sure these are the only errors you see? Because for me, building for omap3_evm fails like this: start.S: Assembler messages: start.S:144: Error: constant expression expected -- `ldr sp,=((0x4020FFFC-CONFIG_SYS_GBL_DATA_SIZE))' make[1]: *** [/work/wd/tmp-arm/arch/arm/cpu/armv7/start.o] Error 1 make: *** [/work/wd/tmp-arm/arch/arm/cpu/armv7/start.o] Error 2 make: *** Waiting for unfinished jobs make: *** wait: No child processes. Stop. And this is a clear indication that the board support code has not been adapted yet (CONFIG_SYS_GBL_DATA_SIZE has been replaced by GENERATED_GBL_DATA_SIZE some time ago). Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de You said you didn't want to use CGI.pm, but methinks you are needlessly reinventing the wheel, one spoke at a time. Either you are masochistic, or you just haven't seen enough of what CGI.pm can do for you. -- Randal L. Schwartz in 8cyb81rg81@gadget.cscaper.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: Albert ARIBAUD [mailto:albert.arib...@free.fr] Sent: Monday, November 29, 2010 4:03 PM To: u-boot@lists.denx.de Cc: Premi, Sanjeev Subject: Re: Build failures with older toolchain Le 29/11/2010 10:47, Premi, Sanjeev a écrit : Albert, I saw some more - what I believe related changes - since last week; but the linker error still persists. with 2009-q1 toolchain: --- busb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o common/libcommon.o lib/libfdt/libfdt.o api/libapi.o post/libpost.o arch/arm/cpu/armv7/omap-common/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnu eabi/4.3.3 -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 with 2010-q1 toolchain: --- mmon/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnu eabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003e8e0 overlaps previous sections arm-none-linux-gnueabi-objcopy -O srec u-boot u-boot.srec arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin Weird... I've compiled v2010.12-rc2, for boards omap3_evm, omap3_overo and omap3_beagle, with 2010q1, and here is what I get, which is quite different from what you get: alb...@lilith:~/src/u-boot$ ./MAKEALL omap3_evm omap3_overo omap3_beagle Configuring for omap3_evm board... start.S: Assembler messages: start.S:144: Error: constant expression expected -- `ldr sp,=((0x4020FFFC-CONFIG_SYS_GBL_DATA_SIZE))' make[1]: *** [start.o] Erreur 1 make: *** [arch/arm/cpu/armv7/start.o] Erreur 2 make: *** Attente des tâches non terminées arm-none-linux-gnueabi-size: './u-boot': No such file Configuring for omap3_overo board... text data bss dec hex filename 21296510840 210624 434429 6a0fd ./u-boot Configuring for omap3_beagle board... text data bss dec hex filename 24318211300 203648 458130 6fd92 ./u-boot - SUMMARY Boards compiled: 3 Boards with warnings or errors: 1 ( omap3_evm ) -- alb...@lilith:~/src/u-boot$ [sp] Did you apply the patch I sent to off-the-list? (pasted below) I had been holding this patch until until the problem is really solved - just in case there was a relation. [patch] diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index aeb45c6..c93f689 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -348,7 +348,9 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_D +#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK \ + - GENERATED_GBL_DATA_SIZE) + /* * Define the board revision statically [/patch] Best regards, Sanjeev Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARMV7: OMAP3: Fix build failure for igep0030 machine
Seems that if CONFIG_CMD_NET is undefined we should also undefine CONFIG_CMD_NFS, otherwise build fails with various undefined reference like: net/libnet.o: In function `rpc_req': u-boot/net/nfs.c:193: undefined reference to `NetEthHdrSize' u-boot/net/nfs.c:202: undefined reference to `NetSendUDPPacket' u-boot/net/nfs.c:203: undefined reference to `NetTxPacket' u-boot/net/nfs.c:203: undefined reference to `NetServerEther' This patch adds the undef CONFIG_CMD_NFS in configuration file. Signed-off-by: Enric Balletbo i Serra eballe...@iseebcn.com --- include/configs/igep0030.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/igep0030.h b/include/configs/igep0030.h index d61793c..1325bfa 100644 --- a/include/configs/igep0030.h +++ b/include/configs/igep0030.h @@ -110,6 +110,7 @@ #define CONFIG_MTD_DEVICE #undef CONFIG_CMD_NET /* bootp, tftpboot, rarpboot*/ +#undef CONFIG_CMD_NFS /* nfs */ #undef CONFIG_CMD_FLASH/* flinfo, erase, protect */ #undef CONFIG_CMD_IMLS /* List all found images*/ -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: Wolfgang Denk [mailto:w...@denx.de] Sent: Monday, November 29, 2010 4:05 PM To: Premi, Sanjeev Cc: Albert ARIBAUD; u-boot@lists.denx.de Subject: Re: [U-Boot] Build failures with older toolchain Dear Premi, Sanjeev, can you please quote onlye _relevant_ parts of previous messages? Thanks. [sp] I do try to snip the messages. I didn't do so this time to maintain context - but, may be, I erred on wrong side. In message b85a65d85d7eb246be421b3fb0fbb5930247a0a...@dbde02.ent.ti.com you wrote: [snip] Are you sure these are the only errors you see? Because for me, building for omap3_evm fails like this: start.S: Assembler messages: start.S:144: Error: constant expression expected -- `ldr sp,=((0x4020FFFC-CONFIG_SYS_GBL_DATA_SIZE))' make[1]: *** [/work/wd/tmp-arm/arch/arm/cpu/armv7/start.o] Error 1 make: *** [/work/wd/tmp-arm/arch/arm/cpu/armv7/start.o] Error 2 make: *** Waiting for unfinished jobs make: *** wait: No child processes. Stop. And this is a clear indication that the board support code has not been adapted yet (CONFIG_SYS_GBL_DATA_SIZE has been replaced by GENERATED_GBL_DATA_SIZE some time ago). [sp] I just responded to Albert' message on same issue. I stumbled on the current problem while trying to fix just the problem you notice here. Assuming relation, I had not submitted the patch - so far. But it looks to be causing more confusion - so patch follows in next few mins. ~sanjeev Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de You said you didn't want to use CGI.pm, but methinks you are needlessly reinventing the wheel, one spoke at a time. Either you are masochistic, or you just haven't seen enough of what CGI.pm can do for you. -- Randal L. Schwartz in 8cyb81rg81@gadget.cscaper.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] usb reset issue with some pen drives which work well in Linux/Windows
Dear Mr. Wolfgang, I found the issue. In usb_stor_get_info function of common/usb_storage.c I add the following: (dev-descriptor.idVendor == 0x0204 dev-descriptor.idProduct == 0x6025) to skip the ss-transport_reset(ss);. This I took out from the linux kernel code. Now its working for me. Regards Debashish -Original Message- From: Wolfgang Denk [mailto:w...@denx.de] Sent: Wednesday, November 24, 2010 9:56 PM To: Debashish Rath Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] usb reset issue with some pen drives which work well in Linux/Windows Dear Debashish Rath, In message 24a35c16137fe049838d189639dd567f083d4...@eu-exh-02.eu.trid.com you wrote: I was trying to add usb support to u-boot for my Arm cortex-A9 processor ba= sed board. I am using U-Boot 2009.08. Before trying anything else, please update to current code and re-run your tests. 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 you'll excuse me a minute, I'm going to have a cup of coffee. - broadcast from Apollo 11's LEM, Eagle, to Johnson Space Center, Houston July 20, 1969, 7:27 P.M. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] omap3evm: Use GENERATED_GBL_DATA_SIZE
The macro CONFIG_SYS_GBL_DATA_SIZE has been replaced with GENERATED_GBL_DATA_SIZE. Also define macros: CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE. Based on changes for omap3_beagle in the commit: 31bfcf1c5776df3d90286aa15104c45096d53dc6 Signed-off-by: Sanjeev Premi pr...@ti.com --- include/configs/omap3_evm.h |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index aeb45c6..1a4b0ee 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -348,7 +348,11 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \ +CONFIG_SYS_INIT_RAM_SIZE - \ +GENERATED_GBL_DATA_SIZE) /* * Define the board revision statically -- 1.7.2.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC] Double-stage u-boot to reduce footprint
Hi ML, I'm working to have a small but also full-featured u-boot bootloader. The idea, that I already see on lantiq sources, is to have a small bootstrap code that decompresses the final u-boot. The code is divided into two stages: 1) bootstrap: initializes the ram in order to decompress the u-boot binary. After that, bootstrap jumps to final u-boot 2) 2) u-boot: the state of the art of the boot loaders. Can be interesting for you to have these pieces of code? I ask before to send any patch, because the boards to support the bootstrap code should define some symbols (CONFIG_BOOTSTRAP_*) and provides a linker script, and the lowlevel init code for the ram. Thanks for any comments, luigi -- Luigi 'Comio' Mantellini RD - Software Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Italy Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantell...@idf-hit.com Website: http://www.idf-hit.com Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie. Rispetta l'ambiente. Non stampare questa mail se non è realmente necessario. This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorized. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks. Help the environment. Please do not print this email unless it is absolutely necessary. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 1/1] net: fix some bugs in LL TEMAC driver
Am Sonntag, 28. November 2010, um 21:35:58 schrieb Wolfgang Denk: Dear Stephan Linz, Hello Wolfgang Denk, In message 1290419192-13422-2-git-send-email-l...@li-pro.net you wrote: * avoid using link variable uninitialized * avoid using phy_addr variable with invalid value * reorganize phy control: first looking for phy than link * return with error (result value 0) if no phy/link was found * fix boolean mistake in wait for link: wait as long as we got phy register 1 has no link indication (BMSR != 0x24) * expand the 'first run' flag handling in ll_temac_init() in respect to possible error detection in xps_ll_temac_phy_ctrl() Signed-off-by: Stephan Linz l...@li-pro.net --- drivers/net/xilinx_ll_temac.c | 52 ++--- 1 files changed, 38 insertions(+), 14 deletions(-) Please merges these fixzes into the next submission of the LL TEMAC driver. Sure, I will maintain this patchset until I get Michal's ACK and/or he will merge the corrections into the next LL TEMAC driver submission. I'm in contact with him. Best regards, Stephan Linz ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
Dear Premi, Sanjeev, can you *please* quote only _relevant_ parts of previous messages? Thanks. In message b85a65d85d7eb246be421b3fb0fbb5930247a0a...@dbde02.ent.ti.com you wrote: I had been holding this patch until until the problem is really solved - just in case there was a relation. You mean you are complaining about problems with code you have modified locally, and then expect us to diagnose your problems without even telling us 1) that you changed the code and 2) what exactly you changed? This not exactly a useful approach. [patch] diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index aeb45c6..c93f689 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -348,7 +348,9 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_D +#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK \ + - GENERATED_GBL_DATA_SIZE) + This patch is corrupted.and does not apply. Please see http://www.denx.de/wiki/U-Boot/Patches I have no idea if it results in a running system (as I have no hardware to test it), but I can confirm that a patch like this: diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index 84b2986..f3df8de 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -330,7 +330,7 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR(LOW_LEVEL_SRAM_STACK - GENERATED_GBL_DATA_SIZE) /* * Define the board revision statically will result in a clean build: $ ./MAKEALL omap3_evm Configuring for omap3_evm board... textdata bss dec hex filename 247396 10384 257384 515164 7dc5c /work/wd/tmp-arm/u-boot - SUMMARY Boards compiled: 1 -- 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 Brain fried - Core dumped ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] usb reset issue with some pen drives which work well in Linux/Windows
Dear Debashish Rath, In message 24a35c16137fe049838d189639dd567f0846f...@eu-exh-02.eu.trid.com you wrote: I found the issue. In usb_stor_get_info function of common/usb_storage.c I add the following: (dev-descriptor.idVendor =3D=3D 0x0204 dev-descriptor.idProduct =3D=3D 0x6025) to skip the ss-transport_reset(ss);. This I took out from the linux kernel= code. Now its working for me. Congratulations. Can you now please submit this change as a proper patch so others can benefit from it, too? Please see here for help: http://www.denx.de/wiki/U-Boot/Patches 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 Microsoft Multitasking: several applications can crash at the same time. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: Wolfgang Denk [mailto:w...@denx.de] Sent: Monday, November 29, 2010 5:00 PM To: Premi, Sanjeev Cc: Albert ARIBAUD; u-boot@lists.denx.de Subject: Re: [U-Boot] Build failures with older toolchain [snip] I had been holding this patch until until the problem is really solved - just in case there was a relation. You mean you are complaining about problems with code you have modified locally, and then expect us to diagnose your problems without even telling us 1) that you changed the code and 2) what exactly you changed? [sp] In my original message I did mention about local change. At least, then, I believed them to be unrelated... and mentioned so. This patch is corrupted.and does not apply. Please see http://www.denx.de/wiki/U-Boot/Patches [sp] I shared the patch with Albert off-the-list as he had planned to work on it... It was to indicate the change that I was doing. BTW, I now notice that few chars on the pasted diff seem to have been trimed (not sure why) therefore patch didn't apply. Should have been more careful... I have posted an updated patch refreshed against the latest master few mins back. I have no idea if it results in a running system (as I have no hardware to test it), but I can confirm that a patch like this: diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index 84b2986..f3df8de 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -330,7 +330,7 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR (LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR (LOW_LEVEL_SRAM_STACK - GENERATED_GBL_DATA_SIZE) [sp] Although, you the patch I send earlier didn't apply cleanly, I was making the same change... and noticing the failures. As mentioned earlier, I did not expect to see any errors after making this change. I am process of downloading the 2009q3 version from codesourcery Albert mentioned he is using it. Are you on the same version as well? ~sanjeev [snip] ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
Dear Premi, Sanjeev, In message b85a65d85d7eb246be421b3fb0fbb5930247a0a...@dbde02.ent.ti.com you wrote: I am process of downloading the 2009q3 version from codesourcery Albert mentioned he is using it. Are you on the same version as well? No, I'm using ELDk 4.2 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 Vulcans do not approve of violence. -- Spock, Journey to Babel, stardate 3842.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] usb reset issue with some pen drives which work well in Linux/Windows
Dear Mr. Wolfgang, Please find the patch for the same. This is ok or I have to prepare a different mail and send the patch as an attachment. Regards Debashish Rath --PATCH START-- diff -Naur u-boot-2010.09/common/usb_storage.c u-boot-2010.09_usb_ms_reset/common/usb_storage.c --- u-boot-2010.09/common/usb_storage.c 2010-09-29 02:50:55.0 +0530 +++ u-boot-2010.09_usb_ms_reset/common/usb_storage.c2010-11-29 17:16:01.82511 +0530 @@ -1335,6 +1335,13 @@ */ (dev-descriptor.idVendor == 0x0781 dev-descriptor.idProduct == 0x5406) +|| +/* + * Standard Disk Drives + * USB Flash Memory + */ +(dev-descriptor.idVendor == 0x0204 + dev-descriptor.idProduct == 0x6025) ) USB_STOR_PRINTF(usb_stor_get_info: skipping RESET..\n); else PATCH END- -Original Message- From: Wolfgang Denk [mailto:w...@denx.de] Sent: Monday, November 29, 2010 5:02 PM To: Debashish Rath Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] usb reset issue with some pen drives which work well in Linux/Windows Dear Debashish Rath, In message 24a35c16137fe049838d189639dd567f0846f...@eu-exh-02.eu.trid.com you wrote: I found the issue. In usb_stor_get_info function of common/usb_storage.c I add the following: (dev-descriptor.idVendor =3D=3D 0x0204 dev-descriptor.idProduct =3D=3D 0x6025) to skip the ss-transport_reset(ss);. This I took out from the linux kernel= code. Now its working for me. Congratulations. Can you now please submit this change as a proper patch so others can benefit from it, too? Please see here for help: http://www.denx.de/wiki/U-Boot/Patches 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 Microsoft Multitasking: several applications can crash at the same time. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V3] mpc83xx:pcie:bugfix for mpc83xx pcie enumeration
This patch fix a problem for the pcie enumeration for mpc83xx cpus.Without this we will not get correct value in hose-regions[...]. The pointer *reg in function mpc83xx_pcie_init_bus() shall not be changed. Because we will use this pointer as a parameter to call function mpc83xx_pcie_register_hose(). Signed-off-by: Baidu Boy liucai@gmail.com --- Changes for v2: - Add some description for the patch Changes for V3: - Avoid line wrap in the patch arch/powerpc/cpu/mpc83xx/pcie.c | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/cpu/mpc83xx/pcie.c b/arch/powerpc/cpu/mpc83xx/pcie.c index 1771c48..46a706d 100644 --- a/arch/powerpc/cpu/mpc83xx/pcie.c +++ b/arch/powerpc/cpu/mpc83xx/pcie.c @@ -201,18 +201,18 @@ static void mpc83xx_pcie_init_bus(int bus, out_le32(out_win-tarl, 0); out_le32(out_win-tarh, 0); - for (i = 0; i 2; i++, reg++) { + for (i = 0; i 2; i++) { u32 ar; - if (reg-size == 0) + if (reg[i].size == 0) break; out_win = pex-bridge.pex_outbound_win[i + 1]; - out_le32(out_win-bar, reg-phys_start); - out_le32(out_win-tarl, reg-bus_start); + out_le32(out_win-bar, reg[i].phys_start); + out_le32(out_win-tarl, reg[i].bus_start); out_le32(out_win-tarh, 0); - ar = PEX_OWAR_EN | (reg-size PEX_OWAR_SIZE); - if (reg-flags PCI_REGION_IO) + ar = PEX_OWAR_EN | (reg[i].size PEX_OWAR_SIZE); + if (reg[i].flags PCI_REGION_IO) ar |= PEX_OWAR_TYPE_IO; else ar |= PEX_OWAR_TYPE_MEM; -- 1.7.3.1.msysgit.0 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] [NEXT] Move LDSCRIPT definitions to board config files.
Hi Wolfgang, Recent cleanup actions resulted in a number of config.mk files that contained only LDSCRIPT definitions. Move these into th respective board config files and remove the now empty config.mk files. Signed-off-by: Wolfgang Denk w...@denx.de Cc: Matthias Fuchs matthias.fu...@esd-electronics.com Cc: Detlev Zundel d...@denx.de Cc: Heiko Schocher h...@denx.de Cc: Andre Schwarz andre.schw...@matrix-vision.de Cc: Peter De Schrijver p...@mind.be Acked-by: Detlev Zundel d...@denx.de Cheers Detlev -- Music scenes ain't real life / They won't get rid of the bomb Won't eliminate rape / Or bring down the banks / any kind of change Takes more time and work / than changing channels on a TV set -- Jello Biafra -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] v2010-rc2: OMAP3 broken
Hi, it seems that commit 566d49a3f has broken OMAP3 - at least beagle and devkit8000 hang in or after relocation. The culprit is this the $(sort $(LIBS)) in Makefile, i. e. the following change will unbreak the boards: @@ -263,7 +263,7 @@ ifeq ($(SOC),s5pc2xx) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif -LIBS := $(addprefix $(obj),$(sort $(LIBS))) +LIBS := $(addprefix $(obj),$(LIBS)) .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o Unfortunately we need the sort to avoild duplicate listing of libs / objects on PowerPC. And I don;t understand yet how this change can cause such an affect. Any help welcome. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de It seems intuitively obvious to me, which means that it might be wrong. -- Chris Torek ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] migration from Micron to ISSI RAM
Hi Mauro, The U-Boot you work with is pretty old. Usually we can not help with such old software, but in this case I can give you some general remarks. Continuing with this subject. I didn't mention the registers values posted last email was already changed for ISSI RAM. Having said that, I have 3 different *write errors msgs and contexts*. Althought they look the same, they are: - *Memory (date line) error at , wrote , read 89abcdef89abcdef ! **...* You can for example do a grep -r '(date line) . in the toplevel source directory to find the file where the message is produced. In a recent U-Boot it looks like it comes from post/drivers/memory.c function memory_post_dataline. Studying the code in there, it seems like the very first write (check the patterns that will be used, 0xcc... is the first) to memory (address 0) does not succeed. The 0x89abcdef89abcdef look like they are the cleaner pattern to reset the data bus after a write. So in essence, the message for me translates to reads not even the first write to memory works. There must be a pretty fundamental problem with your RAM setup. - Memory error at 018c, wrote , read ff77 ! This seems to be from memory_post_test1. Again in current code this must be the first invocation of the function (as it tries to write 0s). Again - not even one write and a subsequent read works. - Memory (address line) error at 07f8-07fc, XOR value 0004 This is from memory_post_addrline. Again, the results from a read do not coincide with what was written. In essence, is seems like no write and subsequent read work for your RAM. You really have a fundamental problem. You will need to check the whole RAM initialization. If it helps, then maybe come up with the register values and test them with a JTAG debugger before going further. Cheers Detlev -- #!/usr/bin/perl $c=print\\#\!\/usr\/bin\/perl\ \\\$c\=\.quotemeta\(\$c\)\.\;\\n\$c;\; print#!/usr/bin/perl\n\$c=\.quotemeta($c).\;\n$c;; -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V4] mpc83xx:pcie:bugfix for mpc83xx pcie enumeration
This patch fix a problem for the pcie enumeration for mpc83xx cpus.Without this we will not get correct value in hose-regions[...]. The pointer *reg in function mpc83xx_pcie_init_bus() shall not be changed. Because we will use this pointer as a parameter to call function mpc83xx_pcie_register_hose(). Signed-off-by: Baidu Boy liucai@gmail.com --- Changes for v2: - Add some description for the patch Changes for V3: - Avoid line wrap in the patch Changes for V4: - There are some errors in V3, resubmit the patch --- arch/powerpc/cpu/mpc83xx/pcie.c | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/cpu/mpc83xx/pcie.c b/arch/powerpc/cpu/mpc83xx/pcie.c index 1771c48..46a706d 100644 --- a/arch/powerpc/cpu/mpc83xx/pcie.c +++ b/arch/powerpc/cpu/mpc83xx/pcie.c @@ -201,18 +201,18 @@ static void mpc83xx_pcie_init_bus(int bus, out_le32(out_win-tarl, 0); out_le32(out_win-tarh, 0); - for (i = 0; i 2; i++, reg++) { + for (i = 0; i 2; i++) { u32 ar; - if (reg-size == 0) + if (reg[i].size == 0) break; out_win = pex-bridge.pex_outbound_win[i + 1]; - out_le32(out_win-bar, reg-phys_start); - out_le32(out_win-tarl, reg-bus_start); + out_le32(out_win-bar, reg[i].phys_start); + out_le32(out_win-tarl, reg[i].bus_start); out_le32(out_win-tarh, 0); - ar = PEX_OWAR_EN | (reg-size PEX_OWAR_SIZE); - if (reg-flags PCI_REGION_IO) + ar = PEX_OWAR_EN | (reg[i].size PEX_OWAR_SIZE); + if (reg[i].flags PCI_REGION_IO) ar |= PEX_OWAR_TYPE_IO; else ar |= PEX_OWAR_TYPE_MEM; -- 1.7.3.1.msysgit.0 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
-Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Wolfgang Denk Sent: Monday, November 29, 2010 6:19 PM To: u-boot@lists.denx.de Subject: [U-Boot] v2010-rc2: OMAP3 broken Hi, it seems that commit 566d49a3f has broken OMAP3 - at least beagle and devkit8000 hang in or after relocation. [Hiremath, Vaibhav] AM3517 also used to hangs in relocate_code function. The culprit is this the $(sort $(LIBS)) in Makefile, i. e. the following change will unbreak the boards: @@ -263,7 +263,7 @@ ifeq ($(SOC),s5pc2xx) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif -LIBS := $(addprefix $(obj),$(sort $(LIBS))) +LIBS := $(addprefix $(obj),$(LIBS)) .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o [Hiremath, Vaibhav] The above patch works for me as well. Unfortunately we need the sort to avoild duplicate listing of libs / objects on PowerPC. And I don;t understand yet how this change can cause such an affect. Any help welcome. [Hiremath, Vaibhav] I can put my debug observations here, The system is hanging at fixrel: /* relative fix: increase location by offset */ ldr r1, [r0] Here the value of r0 is relocation offset and not an address. fixloop: ldr r0, [r2]/* r0 - location to fix up, IN FLASH! */ add r0, r0, r9 /* r0 - location to fix up in RAM */ In the above two instructions, load from [r2] is coming as 0, causing reference to invalid address (relocation offset). After applying your patch, the value from above load instruction comes as 0x80008020, which further gets added to offset (valid address). I hope this might give you some pointers, and I am not an expert on makefile, so not sure about relation between library sort and above finding. Thanks, Vaibhav Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de It seems intuitively obvious to me, which means that it might be wrong. -- Chris Torek ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
-Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Hiremath, Vaibhav Sent: Monday, November 29, 2010 6:50 PM To: Wolfgang Denk; u-boot@lists.denx.de Subject: Re: [U-Boot] v2010-rc2: OMAP3 broken -Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Wolfgang Denk Sent: Monday, November 29, 2010 6:19 PM To: u-boot@lists.denx.de Subject: [U-Boot] v2010-rc2: OMAP3 broken Hi, it seems that commit 566d49a3f has broken OMAP3 - at least beagle and devkit8000 hang in or after relocation. [Hiremath, Vaibhav] AM3517 also used to hangs in relocate_code function. The culprit is this the $(sort $(LIBS)) in Makefile, i. e. the following change will unbreak the boards: @@ -263,7 +263,7 @@ ifeq ($(SOC),s5pc2xx) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif -LIBS := $(addprefix $(obj),$(sort $(LIBS))) +LIBS := $(addprefix $(obj),$(LIBS)) .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o [Hiremath, Vaibhav] The above patch works for me as well. Unfortunately we need the sort to avoild duplicate listing of libs / objects on PowerPC. And I don;t understand yet how this change can cause such an affect. Any help welcome. [Hiremath, Vaibhav] I can put my debug observations here, The system is hanging at fixrel: /* relative fix: increase location by offset */ ldr r1, [r0] [Hiremath, Vaibhav] pasting error, the actual place is fixnext: str r1, [r0] Thanks, Vaibhav Here the value of r0 is relocation offset and not an address. fixloop: ldr r0, [r2]/* r0 - location to fix up, IN FLASH! */ add r0, r0, r9 /* r0 - location to fix up in RAM */ In the above two instructions, load from [r2] is coming as 0, causing reference to invalid address (relocation offset). After applying your patch, the value from above load instruction comes as 0x80008020, which further gets added to offset (valid address). I hope this might give you some pointers, and I am not an expert on makefile, so not sure about relation between library sort and above finding. Thanks, Vaibhav Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de It seems intuitively obvious to me, which means that it might be wrong. -- Chris Torek ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2] mpc83xx:pcie:bugfix for mpc83xx pcie enumeration
2010/11/28 Kim Phillips kim.phill...@freescale.com: doesn't apply: Applying: mpc83xx:pcie:bugfix for mpc83xx pcie enumeration fatal: corrupt patch at line 13 please resubmit. Thanks, Kim Please use this one http://patchwork.ozlabs.org/patch/73424/ My mailer wrap the long line in the V2 patch. Thanks ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] usb_ether: register usb ethernet gadget at each eth init
Hi Lei, Lei Wen wrote: Hi Vitaly, [...] + if (usb_gadget_register_driver(eth_driver) 0) + goto fail; You probably need then at least to remove usb_gadget_register_driver call from usb_eth_initialize. And add usb_gadget_unregister_driver in usb_eth_halt. I am afraid that remove usb_gadget_register_driver call from usb_eth_initialize is not possible. For tftp as example, it would call eth_halt before the eth_init. If we do the remove behavior, the gadget still not valid yet in the first eth_halt call which would cause the uboot becomes halt. The gadget driver handles this properly. Right now it just does usb_gadget_disconnect which has no effect when no gadget was requested from the UDC driver yet. And additional calling of usb_gadget_unregister_driver will at most return an error. For example, my UDC driver returns EBUSY if another gadget driver tries to register itself. (Yes, I do not want to have more than 1 gadget). With your patch the gadget driver will fail each time when initializing. Anyway if I fix my UDC driver some day the Ether gadget will try to register itself twice (and more times later). So I will have to protect it against this bad behavior. Two gadget example may comes from what I am using now. I am current attempting to make the tftp and fastboot cowork togetther. Since fastboot is a cool tool, I think people may want it beside they still use the tftp. Would that be enough convincing?:) I think the gadget driver should adopt like this to allow two gadget coexist. And from gadget driver's review, the switch from one gadget to another is easy, just register it to another should be enough. Does it really need to return EBUSY? If the UDC (not a gadget) driver does not support more than 1 gadget driver in the same time it must return an error (EBUSY is fine for now) when another gadget tries to register itself. The reason why does not it support 2 (and more) gadgets registered simultaneously is another question. Even if I fix this, your patch is not needed because the UDC driver will give USB requests to the appropriate gadget driver properly. I really do not understand what a problem with using 2 gadgets in the same time without your patch if the UDC driver supports this. Especially I do not understand... it is neccessary to do the register each time the eth begin to work to make usb gadget driver less confussed when we want to use two different usb gadget at the same time. ...how can the gadget (or UDC?) driver be confused here? Right now I can tell that it will be more confused rather than less. I just can suppose that you are trying to implement something like switching active gadget driver in UDC driver which has only one variable to store info about gadget driver (rather than having an array at least). In this case you need to fix UDC driver rather than hacking all available gadget drivers. Also this way will not work when someone needs two gadgets active simultaneously, e.g. USB ether with USB serial. Best regards, Vitaly. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] usb_ether: register usb ethernet gadget at each eth init
Vitaly Kuzmichev wrote: Hi Lei, Lei Wen wrote: Hi Vitaly, [...] + if (usb_gadget_register_driver(eth_driver) 0) + goto fail; You probably need then at least to remove usb_gadget_register_driver call from usb_eth_initialize. And add usb_gadget_unregister_driver in usb_eth_halt. I am afraid that remove usb_gadget_register_driver call from usb_eth_initialize is not possible. For tftp as example, it would call eth_halt before the eth_init. If we do the remove behavior, the gadget still not valid yet in the first eth_halt call which would cause the uboot becomes halt. The gadget driver handles this properly. Right now it just does usb_gadget_disconnect which has no effect when no gadget was requested from the UDC driver yet. I was wrong... usb_gadget_disconnect does not care about NULL pointer passed. :/ Best regards, Vitaly. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] BLOCK: Fixup iMX51 ATA driver
Signed-off-by: Marek Vasut marek.va...@gmail.com --- NOTE: Wolfgang, is this what you meant ? If so, I'll merge this with the old driver and send a v2 patch. Otherwise, can you point me in a right direction? NOTE2: I haven't tested this, I'll do so in the evening. drivers/block/mxc_ata.c | 131 +- 1 files changed, 71 insertions(+), 60 deletions(-) diff --git a/drivers/block/mxc_ata.c b/drivers/block/mxc_ata.c index 6f19e6f..e65cfa7 100644 --- a/drivers/block/mxc_ata.c +++ b/drivers/block/mxc_ata.c @@ -37,49 +37,53 @@ #include asm/arch/clock.h /* MXC ATA register offsets */ -enum { - MXC_ATA_TIME_OFF= 0x00, - MXC_ATA_TIME_ON = 0x01, - MXC_ATA_TIME_1 = 0x02, - MXC_ATA_TIME_2W = 0x03, - MXC_ATA_TIME_2R = 0x04, - MXC_ATA_TIME_AX = 0x05, - MXC_ATA_TIME_PIO_RDX= 0x06, - MXC_ATA_TIME_4 = 0x07, - MXC_ATA_TIME_9 = 0x08, - MXC_ATA_TIME_M = 0x09, - MXC_ATA_TIME_JN = 0x0a, - MXC_ATA_TIME_D = 0x0b, - MXC_ATA_TIME_K = 0x0c, - MXC_ATA_TIME_ACK= 0x0d, - MXC_ATA_TIME_ENV= 0x0e, - MXC_ATA_TIME_UDMA_RDX = 0x0f, - MXC_ATA_TIME_ZAH= 0x10, - MXC_ATA_TIME_MLIX = 0x11, - MXC_ATA_TIME_DVH= 0x12, - MXC_ATA_TIME_DZFS = 0x13, - MXC_ATA_TIME_DVS= 0x14, - MXC_ATA_TIME_CVH= 0x15, - MXC_ATA_TIME_SS = 0x16, - MXC_ATA_TIME_CYC= 0x17, - MXC_ATA_FIFO_DATA_16= 0x1c, - MXC_ATA_FIFO_DATA_32= 0x18, - MXC_ATA_FIFO_FILL = 0x20, - MXC_ATA_ATA_CONTROL = 0x24, - MXC_ATA_INTERRUPT_PENDING = 0x28, - MXC_ATA_INTERRUPT_ENABLE= 0x2c, - MXC_ATA_INTERRUPT_CLEAR = 0x30, - MXC_ATA_FIFO_ALARM = 0x34, - MXC_ATA_DRIVE_DATA = 0xa0, - MXC_ATA_DRIVE_FEATURES = 0xa4, - MXC_ATA_DRIVE_SECTOR_COUNT = 0xa8, - MXC_ATA_DRIVE_SECTOR_NUM= 0xac, - MXC_ATA_DRIVE_CYL_LOW = 0xb0, - MXC_ATA_DRIVE_CYL_HIGH = 0xb4, - MXC_ATA_DRIVE_DEV_HEAD = 0xb8, - MXC_ATA_COMMAND = 0xbc, - MXC_ATA_STATUS = 0xbc, - MXC_ATA_ALT_STATUS = 0xd8, +struct mxc_ata_config_regs { + u8 time_off; /* 0x00 */ + u8 time_on; + u8 time_1; + u8 time_2w; + u8 time_2r; + u8 time_ax; + u8 time_pio_rdx; + u8 time_4; + u8 time_9; + u8 time_m; + u8 time_jn; + u8 time_d; + u8 time_k; + u8 time_ack; + u8 time_env; + u8 time_udma_rdx; + u8 time_zah; /* 0x10 */ + u8 time_mlix; + u8 time_dvh; + u8 time_dzfs; + u8 time_dvs; + u8 time_cvh; + u8 time_ss; + u8 time_cyc; + u32 hole; + u32 fifo_data_16; + u32 fifo_data_32; + u32 fifo_fill; + u32 ata_control; + u32 interrupt_pending; + u32 interrupt_enable; + u32 interrupt_clear; + u32 fifo_alarm; +}; + +struct mxc_data_hdd_regs { + u32 drive_data; /* 0xa0 */ + u32 drive_features; + u32 drive_sector_count; + u32 drive_sector_num; + u32 drive_cyl_low; + u32 drive_cyl_high; + u32 drive_dev_head; + u32 command; + u32 status; + u32 alt_status; }; /* PIO timing table */ @@ -93,47 +97,54 @@ uint16_t pio_t4[NR_PIO_SPECS] = { 30, 20, 15, 10, 10 }; uint16_t pio_t9[NR_PIO_SPECS] = { 20, 15, 10, 10, 10 }; uint16_t pio_tA[NR_PIO_SPECS] = { 50, 50, 50, 50, 50 }; -#defineREG_TO_OFFSET(reg) ((reg 0x3) * 8) +#defineREG2OFF(reg)uint32_t)reg) 0x3) * 8) static void set_ata_bus_timing(unsigned char mode) { uint32_t val; uint32_t T = 10 / mxc_get_clock(MXC_IPG_CLK); + struct mxc_ata_config_regs *ata_cfg_regs; + ata_cfg_regs = (struct mxc_ata_config_regs *)CONFIG_SYS_ATA_BASE_ADDR; + if (mode = NR_PIO_SPECS) return; /* Write TIME_OFF/ON/1/2W */ - val = (3 REG_TO_OFFSET(MXC_ATA_TIME_OFF)) | - (3 REG_TO_OFFSET(MXC_ATA_TIME_ON)) | - (((pio_t1[mode] + T) / T) REG_TO_OFFSET(MXC_ATA_TIME_1)) | - (((pio_t2_8[mode] + T) / T) REG_TO_OFFSET(MXC_ATA_TIME_2W)); - writel(val,
Re: [U-Boot] v2010-rc2: OMAP3 broken
Hi all, I'll take a look this evening at builds with and without the SORT() from an ELF relocation tables perspective. Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2] powerpc/85xx: Introduce CONFIG_SYS_EXTRA_ENV_RELOC
On Nov 18, 2010, at 2:30 PM, Kumar Gala wrote: Some systems need to relocate the env_addr pointer early because the location it points to will get invalidated before env_relocate is called. One example is on systems that might use a L2 or L3 cache in SRAM mode and initialize that cache from SRAM mode back to being a cache in cpu_init_r. We set this on the 85xx boards that have support for NAND, SPI, or SDHC/MMC boot support as they use a secondary cache in SRAM mode and need the env_addr pointer relocated since we change from SRAM to normal cache mode in cpu_init_r. Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- * Fixed comments per becky feedback arch/powerpc/lib/board.c | 11 +++ include/configs/MPC8536DS.h |1 + include/configs/MPC8569MDS.h |1 + include/configs/P1_P2_RDB.h |1 + 4 files changed, 14 insertions(+), 0 deletions(-) Comments on this? Should I just pull it in via 85xx tree? - k diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 2e0749d..40d8c92 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -645,6 +645,17 @@ void board_init_r (gd_t *id, ulong dest_addr) gd-cpu += dest_addr - CONFIG_SYS_MONITOR_BASE; #endif +#ifdef CONFIG_SYS_EXTRA_ENV_RELOC + /* + * Some systems need to relocate the env_addr pointer early because the + * location it points to will get invalidated before env_relocate is + * called. One example is on systems that might use a L2 or L3 cache + * in SRAM mode and initialize that cache from SRAM mode back to being + * a cache in cpu_init_r. + */ + gd-env_addr += dest_addr - CONFIG_SYS_MONITOR_BASE; +#endif + #ifdef CONFIG_SERIAL_MULTI serial_initialize(); #endif diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 850665a..50d282c 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -245,6 +245,7 @@ #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \ || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #endif diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h index c7973b4..20fd672 100644 --- a/include/configs/MPC8569MDS.h +++ b/include/configs/MPC8569MDS.h @@ -205,6 +205,7 @@ extern unsigned long get_clock_freq(void); #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #endif diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index 610f3ed..8069b55 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -204,6 +204,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \ || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #endif -- 1.7.2.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Dear all, Am 29.11.2010 14:23, schrieb Hiremath, Vaibhav: The system is hanging at fixrel: /* relative fix: increase location by offset */ ldr r1, [r0] [Hiremath, Vaibhav] pasting error, the actual place is fixnext: str r1, [r0] Here the value of r0 is relocation offset and not an address. I do have this error on at92rm9200ek too. I got it down to corrupted .rel.dyn table by setting two bss values in arch/arm/cpu/at91/timer.c. Can you try to change your linker script to _not_ overlay _rel_dyn_start with with .bss? The other way is to break on board_init_f, display the relevant (defective) locations in .rel.dyn and step through the for loop for init_sequence if one destroys the relevant part in .rel.dyn regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Rename RESET_VECTOR_ADDRESS ?
On Nov 28, 2010, at 1:52 PM, Wolfgang Denk wrote: Dear Andy Kumar, a number of boards define RESET_VECTOR_ADDRESS in their config.mk files: board/freescale/corenet_ds/config.mk board/freescale/mpc8536ds/config.mk board/freescale/mpc8572ds/config.mk board/freescale/p1022ds/config.mk board/freescale/p1_p2_rdb/config.mk board/freescale/p2020ds/config.mk The only place where RESET_VECTOR_ADDRESS ever gets used is in the respective u-boot.lds linker script. Do you see any reason why we should not move these RESET_VECTOR_ADDRESS settings into the board config files? The linker script just needs to include config.h, and we could remove all the config.mk files above. What do you think? Best regards, Wolfgang Denk I don't see any issues with this, patch is welcome ;) - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Hello Albert, Albert ARIBAUD wrote: I'll take a look this evening at builds with and without the SORT() from an ELF relocation tables perspective. I debugged on the beagle board a little bit in this problem, and here what I found: Hier it goes wrong: arch/arm/cpu/armv7/start.S fixloop: ldr r0, [r2]/* r0 - location to fix up, IN FLASH! */ 104: e592ldr r0, [r2] add r0, r0, r9 /* r0 - location to fix up in RAM */ 108: e089add r0, r0, r9 and later here fixrel: /* relative fix: increase location by offset */ ldr r1, [r0] Here the version with sort: OMAP35xxt;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008104 Current CPSR : 0x21d3 (Supervisor) GPR00: 80008000 8ff1df84 80046d7c 8004d6ac GPR04: 8ff1df80 8ff1df84 8ffbcd80 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6ac GPR12: 8ff1df80 8000aef0 80008104 PC : 80008104CPSR: 21d3 OMAP35xxt;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008108 Current CPSR : 0x21d3 (Supervisor) GPR00: 8ff1df84 80046d7c 8004d6ac Ups... not good GPR04: 8ff1df80 8ff1df84 8ffbcd80 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6ac GPR12: 8ff1df80 8000aef0 80008108 PC : 80008108CPSR: 21d3 OMAP35xxt;r Here without sort: GPR00: 80008000 8ff1df84 80046d74 8004d6a4 GPR04: 8ff1df80 8ff1df84 8ffbcd78 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6a4 GPR12: 8ff1df80 80010730 80008104 PC : 80008104CPSR: 21d3 OMAP35xxti;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008108 Current CPSR : 0x21d3 (Supervisor) GPR00: 80008020 8ff1df84 80046d74 8004d6a4 Yep, thats better GPR04: 8ff1df80 8ff1df84 8ffbcd78 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6a4 GPR12: 8ff1df80 80010730 80008108 PC : 80008108CPSR: 21d3 OMAP35xxti;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x8000810c Current CPSR : 0x21d3 (Supervisor) System Map: with sort: 80046d7c B __bss_start 80046d7c R __rel_dyn_start 80046d7c b timestamp 80046d80 b lastinc 80046d84 B gpmc_cfg without sort: 80046d74 R __rel_dyn_start 80046d78 b htab 80046d84 B ___strtok 80046d88 B z_verbose timestamp comes after the __rel_dyn_end entry in this case! Further debugging pointed my that in: in arch/arm/cpu/armv7/omap-common/timer.c timer_init() sets timestamp to 0, before relocation is executed, which leads that the memory @80046d7c gets overwritten to 0, which results in crashing in the fixrel case ... So it seems to me the sort version intermix the rel dyn section entries with normal vars in bss ... Which raises the question: Why is the rel.dyn Section in the bss section? bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: Wolfgang Denk [mailto:w...@denx.de] Sent: Monday, November 29, 2010 5:35 PM To: Premi, Sanjeev Cc: Albert ARIBAUD; u-boot@lists.denx.de Subject: Re: [U-Boot] Build failures with older toolchain Dear Premi, Sanjeev, In message b85a65d85d7eb246be421b3fb0fbb5930247a0a...@dbde02.ent.ti.com you wrote: I am process of downloading the 2009q3 version from codesourcery Albert mentioned he is using it. Are you on the same version as well? No, I'm using ELDk 4.2 [sp] Okay, so I downloaded both 2009-q3 and 2010.09-50 versions of the Codesourcery Lite edition. There is no difference in the observations between 2009q3 and 2010q1. However, the 2010.09-50 returns with screen pages full of the undefined reference errors and assertion failures in linker - probably due to undefined symbols. I tried to revert sort shared by Wolfgang; even that didn't help. I will start working backwards from the errors I notice with 2010.09-50. Should I post the errors? ~sanjeev 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 Vulcans do not approve of violence. -- Spock, Journey to Babel, stardate 3842.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Dear Heiko Schocher, Am 29.11.2010 16:04, schrieb Heiko Schocher: [snip] So it seems to me the sort version intermix the rel dyn section entries with normal vars in bss ... Which raises the question: Why is the rel.dyn Section in the bss section? cause of the ---8--- .bss __rel_dyn_start (OVERLAY) : { ---8--- in u-boot.lds But the error is to use bss variables before setting up the bss section, isn't it? regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Le 29/11/2010 16:04, Heiko Schocher a écrit : Hello Albert, Albert ARIBAUD wrote: I'll take a look this evening at builds with and without the SORT() from an ELF relocation tables perspective. I debugged on the beagle board a little bit in this problem, and here what I found: Hier it goes wrong: arch/arm/cpu/armv7/start.S fixloop: ldr r0, [r2]/* r0- location to fix up, IN FLASH! */ 104: e592ldr r0, [r2] add r0, r0, r9 /* r0- location to fix up in RAM */ 108: e089add r0, r0, r9 and later here fixrel: /* relative fix: increase location by offset */ ldr r1, [r0] Here the version with sort: OMAP35xxt;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008104 Current CPSR : 0x21d3 (Supervisor) GPR00: 80008000 8ff1df84 80046d7c 8004d6ac GPR04: 8ff1df80 8ff1df84 8ffbcd80 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6ac GPR12: 8ff1df80 8000aef0 80008104 PC : 80008104CPSR: 21d3 OMAP35xxt;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008108 Current CPSR : 0x21d3 (Supervisor) GPR00: 8ff1df84 80046d7c 8004d6ac Ups... not good GPR04: 8ff1df80 8ff1df84 8ffbcd80 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6ac GPR12: 8ff1df80 8000aef0 80008108 PC : 80008108CPSR: 21d3 OMAP35xxt;r Here without sort: GPR00: 80008000 8ff1df84 80046d74 8004d6a4 GPR04: 8ff1df80 8ff1df84 8ffbcd78 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6a4 GPR12: 8ff1df80 80010730 80008104 PC : 80008104CPSR: 21d3 OMAP35xxti;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x80008108 Current CPSR : 0x21d3 (Supervisor) GPR00: 80008020 8ff1df84 80046d74 8004d6a4 Yep, thats better GPR04: 8ff1df80 8ff1df84 8ffbcd78 8ff7e000 GPR08: 4020ffa0 0ff76000 8004d6a4 GPR12: 8ff1df80 80010730 80008108 PC : 80008108CPSR: 21d3 OMAP35xxti;r Core number : 0 Core state: debug mode (ARM) Debug entry cause : Single Step Current PC: 0x8000810c Current CPSR : 0x21d3 (Supervisor) System Map: with sort: 80046d7c B __bss_start 80046d7c R __rel_dyn_start 80046d7c b timestamp 80046d80 b lastinc 80046d84 B gpmc_cfg without sort: 80046d74 R __rel_dyn_start 80046d78 b htab 80046d84 B ___strtok 80046d88 B z_verbose timestamp comes after the __rel_dyn_end entry in this case! Further debugging pointed my that in: in arch/arm/cpu/armv7/omap-common/timer.c timer_init() sets timestamp to 0, before relocation is executed, which leads that the memory @80046d7c gets overwritten to 0, which results in crashing in the fixrel case ... So it seems to me the sort version intermix the rel dyn section entries with normal vars in bss ... Which raises the question: Why is the rel.dyn Section in the bss section? The .rel.dyn section is not in or out of the BSS: they are overlapped, i.e. they should start at the same address. As indicated in the documentation, BSS should never be used before relocation; it actually *cannot* be written into by boards which start from NOR, and is set to zero for all boards right after relocation. Since BSS does not exist before relocation, and .rel.dyn does not exist after relocation, they can use the same location: overlaying them is the best approach in order to get the smallest binary in Flash *and* the smallest image in RAM. We can add code to try and catch the most obvious corruption of the relocation tables due to BSS being accessed before relocation, but we can't be sure to catch them all. The real solution is to fix the BSS usage. bye, Heiko Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
-Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Heiko Schocher Sent: Monday, November 29, 2010 8:35 PM To: Albert ARIBAUD Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] v2010-rc2: OMAP3 broken [snip] in arch/arm/cpu/armv7/omap-common/timer.c timer_init() sets timestamp to 0, before relocation is executed, which leads that the memory @80046d7c gets overwritten to 0, which results in crashing in the fixrel case ... So it seems to me the sort version intermix the rel dyn section entries with normal vars in bss ... Which raises the question: Why is the rel.dyn Section in the bss section? I have been facing the linker errors due to overlap of these sections. Using git-bisect, I was able to narrow down the failure to commit 6d8962e814c15807dd6ac5757904be2a02d187b8. I had the same question above. See these: http://marc.info/?l=u-bootm=129043627514796w=2 http://marc.info/?l=u-bootm=129041727622164w=2 ~sanjeev bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Dear all, Am 29.11.2010 16:19, schrieb Albert ARIBAUD: [snip] The real solution is to fix the BSS usage. I'd like to mention old thread facing this issue for timestamp/lastinc values in arch/arm/cpu/*/timer.c http://article.gmane.org/gmane.comp.boot-loaders.u-boot/88545 and http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/88383/focus=88551 regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
Le 29/11/2010 16:08, Premi, Sanjeev a écrit : I will start working backwards from the errors I notice with 2010.09-50. Should I post the errors? You should post patches against the master branch for others to be able to build the same code as you build. Do not post the compile errors, though: rather, try and find why they occur and post your conclusions. ~sanjeev Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Build failures with older toolchain
-Original Message- From: Albert ARIBAUD [mailto:albert.arib...@free.fr] Sent: Monday, November 29, 2010 9:04 PM To: Premi, Sanjeev Cc: Wolfgang Denk; u-boot@lists.denx.de Subject: Re: [U-Boot] Build failures with older toolchain Le 29/11/2010 16:08, Premi, Sanjeev a écrit : I will start working backwards from the errors I notice with 2010.09-50. Should I post the errors? You should post patches against the master branch for others to be able to build the same code as you build. Do not post the compile errors, though: rather, try and find why they occur and post your conclusions. [sp] I am working on analysis. ~sanjeev Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] fix s3c2410_nand timing default values
Hello The attached patch fixes wrong timing default values and adds the possibility to specify board specific timing value in the board config file. Dave Signed-off-by: David Mueller d.muel...@elsoft.ch diff --git a/drivers/mtd/nand/s3c2410_nand.c b/drivers/mtd/nand/s3c2410_nand.c index f70daef..27351fb 100644 --- a/drivers/mtd/nand/s3c2410_nand.c +++ b/drivers/mtd/nand/s3c2410_nand.c @@ -133,9 +133,15 @@ int board_nand_init(struct nand_chip *nand) writel(readl(clk_power-clkcon) | (1 4), clk_power-clkcon); /* initialize hardware */ - twrph0 = 3; - twrph1 = 0; - tacls = 0; +#if defined(CONFIG_S3C24XX_CUSTOM_NAND_TIMING) + tacls = CONFIG_S3C24XX_TACLS; + twrph0 = CONFIG_S3C24XX_TWRPH0; + twrph1 = CONFIG_S3C24XX_TWRPH1; +#else + tacls = 4; + twrph0 = 8; + twrph1 = 8; +#endif cfg = S3C2410_NFCONF_EN; cfg |= S3C2410_NFCONF_TACLS(tacls - 1); ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] fix s3c24x0 timer code
Hello The attached patch fixes the s3c24x0 timer code to work with the ARM relocation feature. Dave Signed-off-by: David Mueller d.muel...@elsoft.ch diff --git a/arch/arm/cpu/arm920t/s3c24x0/timer.c b/arch/arm/cpu/arm920t/s3c24x0/timer.c index 8cf9ff6..2903ba7 100644 --- a/arch/arm/cpu/arm920t/s3c24x0/timer.c +++ b/arch/arm/cpu/arm920t/s3c24x0/timer.c @@ -35,8 +35,7 @@ #include asm/io.h #include asm/arch/s3c24x0_cpu.h -int timer_load_val = 0; -static ulong timer_clk; +DECLARE_GLOBAL_DATA_PTR; /* macro to read the 16 bit timer */ static inline ulong READ_TIMER(void) @@ -46,9 +45,6 @@ static inline ulong READ_TIMER(void) return readl(timers-tcnto4) 0x; } -static ulong timestamp; -static ulong lastdec; - int timer_init(void) { struct s3c24x0_timers *timers = s3c24x0_get_base_timers(); @@ -57,27 +53,27 @@ int timer_init(void) /* use PWM Timer 4 because it has no output */ /* prescaler for Timer 4 is 16 */ writel(0x0f00, timers-tcfg0); - if (timer_load_val == 0) { + if (gd-timer_load_val == 0) { /* * for 10 ms clock period @ PCLK with 4 bit divider = 1/2 * (default) and prescaler = 16. Should be 10390 * @33.25MHz and 15625 @ 50 MHz */ - timer_load_val = get_PCLK() / (2 * 16 * 100); - timer_clk = get_PCLK() / (2 * 16); + gd-timer_load_val = get_PCLK() / (2 * 16 * 100); + gd-timer_clk = get_PCLK() / (2 * 16); } /* load value for 10 ms timeout */ - lastdec = timer_load_val; - writel(timer_load_val, timers-tcntb4); + gd-lastdec = gd-timer_load_val; + writel(gd-timer_load_val, timers-tcntb4); /* auto load, manual update of timer 4 */ tmr = (readl(timers-tcon) ~0x070) | 0x060; writel(tmr, timers-tcon); /* auto load, start timer 4 */ tmr = (tmr ~0x070) | 0x050; writel(tmr, timers-tcon); - timestamp = 0; + gd-timestamp = 0; - return (0); + return 0; } /* @@ -96,7 +92,7 @@ ulong get_timer(ulong base) void set_timer(ulong t) { - timestamp = t; + gd-timestamp = t; } void __udelay (unsigned long usec) @@ -105,7 +101,7 @@ void __udelay (unsigned long usec) ulong start = get_ticks(); tmo = usec / 1000; - tmo *= (timer_load_val * 100); + tmo *= (gd-timer_load_val * 100); tmo /= 1000; while ((ulong) (get_ticks() - start) tmo) @@ -115,15 +111,15 @@ void __udelay (unsigned long usec) void reset_timer_masked(void) { /* reset time */ - lastdec = READ_TIMER(); - timestamp = 0; + gd-lastdec = READ_TIMER(); + gd-timestamp = 0; } ulong get_timer_masked(void) { ulong tmr = get_ticks(); - return tmr / (timer_clk / CONFIG_SYS_HZ); + return tmr / (gd-timer_clk / CONFIG_SYS_HZ); } void udelay_masked(unsigned long usec) @@ -134,10 +130,10 @@ void udelay_masked(unsigned long usec) if (usec = 1000) { tmo = usec / 1000; - tmo *= (timer_load_val * 100); + tmo *= (gd-timer_load_val * 100); tmo /= 1000; } else { - tmo = usec * (timer_load_val * 100); + tmo = usec * (gd-timer_load_val * 100); tmo /= (1000 * 1000); } @@ -157,16 +153,16 @@ unsigned long long get_ticks(void) { ulong now = READ_TIMER(); - if (lastdec = now) { + if (gd-lastdec = now) { /* normal mode */ - timestamp += lastdec - now; + gd-timestamp += gd-lastdec - now; } else { /* we have an overflow ... */ - timestamp += lastdec + timer_load_val - now; + gd-timestamp += gd-lastdec + gd-timer_load_val - now; } - lastdec = now; + gd-lastdec = now; - return timestamp; + return gd-timestamp; } /* @@ -178,7 +174,7 @@ ulong get_tbclk(void) ulong tbclk; #if defined(CONFIG_SMDK2400) || defined(CONFIG_TRAB) - tbclk = timer_load_val * 100; + tbclk = gd-timer_load_val * 100; #elif defined(CONFIG_SBC2410X) || \ defined(CONFIG_SMDK2410) || \ defined(CONFIG_S3C2440) || \ diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index ada3fbb..799943c 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -61,6 +61,13 @@ typedef struct global_data { unsigned long tbu; unsigned long long timer_reset_value; #endif +#ifdef CONFIG_S3C24X0 + /* static data needed by s3c24x0 timer.c */ + unsigned long timer_load_val; + unsigned long timer_clk; + unsigned long timestamp; + unsigned long lastdec; +#endif unsigned long relocaddr; /* Start address of U-Boot in RAM */
[U-Boot] [PATCH 1/1 V7] Add board support for hawkboard
The patch adds basic board support for TI's OMAP-L138 based Hawkboard. This board is pretty similar to the da850 EVM. Support for nand and network access is added in this version. The following bootup procedure is used. At reset, the Rom Boot Loader(RBL), initialises the ddr and the nand controllers and copies the second stage bootloader(nand_spl) to RAM. The secondary bootloader then copies u-boot from a predefined location in the nand flash to the RAM, and passes control to the u-boot image. Three config options are supported * hawkboard_config - Used to create the u-boot.bin. Tftp the u-boot.bin image to the RAM from u-boot, and flash to the nand flash at address 0xe. * hawkboard_nand_config - Used to generate the secondary bootloader(nand_spl) image. This creates an elf file u-boot-spl under nand_spl/. Create an AIS signed image using this file, and flash it to the nand flash at address 0x2. The ais file should fit in one block. * hawkboard_uart_config - This is same as the first image, but with the TEXT_BASE as expected by the RBL(0xc108). Create the AIS Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com Signed-off-by: Ben Gardiner bengardi...@nanometrics.ca --- Changes since V6 * Rebased off u-boot-ti next. * Moved CONFIG_SYS_TEXT_BASE declarations to the board config file. MAINTAINERS |5 + arch/arm/include/asm/arch-davinci/da8xx_common.h |3 + arch/arm/include/asm/arch-davinci/hardware.h |5 +- board/davinci/common/Makefile|2 +- board/davinci/common/davinci_pinmux.c| 105 +++ board/davinci/common/misc.c | 75 board/davinci/da8xxevm/Makefile |1 + board/davinci/da8xxevm/hawkboard.c | 69 +++ board/davinci/da8xxevm/hawkboard_nand_spl.c | 158 + boards.cfg |3 + doc/README.hawkboard | 93 ++ include/configs/hawkboard.h | 206 ++ nand_spl/board/davinci/da8xxevm/Makefile | 141 +++ nand_spl/board/davinci/da8xxevm/u-boot.lds | 75 nand_spl/nand_boot.c |1 + 15 files changed, 865 insertions(+), 77 deletions(-) create mode 100644 board/davinci/common/davinci_pinmux.c create mode 100644 board/davinci/da8xxevm/hawkboard.c create mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c create mode 100644 doc/README.hawkboard create mode 100644 include/configs/hawkboard.h create mode 100644 nand_spl/board/davinci/da8xxevm/Makefile create mode 100644 nand_spl/board/davinci/da8xxevm/u-boot.lds diff --git a/MAINTAINERS b/MAINTAINERS index f47fca5..ad335bc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -853,6 +853,11 @@ Alex Z lartSA1100 dnp1110 SA1110 +Syed Mohammed Khasim sm.kha...@gmail.com +Sughosh Ganu urwithsugh...@gmail.com + + hawkboard ARM926EJS (OMAP-L138) + - Unknown / orphaned boards: diff --git a/arch/arm/include/asm/arch-davinci/da8xx_common.h b/arch/arm/include/asm/arch-davinci/da8xx_common.h index 7ae63a6..bc3092d 100644 --- a/arch/arm/include/asm/arch-davinci/da8xx_common.h +++ b/arch/arm/include/asm/arch-davinci/da8xx_common.h @@ -19,6 +19,9 @@ #ifndef __COMMON_H #define __COMMON_H +#defineHAWKBOARD_KICK0_UNLOCK 0x83e70b13 +#defineHAWKBOARD_KICK1_UNLOCK 0x95a4f1e0 + struct lpsc_resource { const int lpsc_no; }; diff --git a/arch/arm/include/asm/arch-davinci/hardware.h b/arch/arm/include/asm/arch-davinci/hardware.h index 21b2076..ef616c1 100644 --- a/arch/arm/include/asm/arch-davinci/hardware.h +++ b/arch/arm/include/asm/arch-davinci/hardware.h @@ -384,7 +384,10 @@ int clk_get(enum davinci_clk_ids id); /* Boot config */ struct davinci_syscfg_regs { dv_reg revid; - dv_reg rsvd[71]; + dv_reg rsvd[13]; + dv_reg kick0; + dv_reg kick1; + dv_reg rsvd1[56]; dv_reg pinmux[20]; dv_reg suspsrc; dv_reg chipsig; diff --git a/board/davinci/common/Makefile b/board/davinci/common/Makefile index 5ddb564..a1d3de2 100644 --- a/board/davinci/common/Makefile +++ b/board/davinci/common/Makefile @@ -29,7 +29,7 @@ endif LIB= $(obj)lib$(VENDOR).o -COBJS := misc.o +COBJS := misc.o davinci_pinmux.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) diff --git a/board/davinci/common/davinci_pinmux.c b/board/davinci/common/davinci_pinmux.c new file mode 100644 index 000..ce58f71 --- /dev/null +++ b/board/davinci/common/davinci_pinmux.c @@ -0,0 +1,105 @@ +/* + * DaVinci pinmux functions. + * + * Copyright (C) 2009 Nick Thompson, GE Fanuc Ltd, nick.thomp...@gefanuc.com + * Copyright (C) 2007 Sergey Kubushyn
[U-Boot] [PATCH] OMAP-common/timer: Fix bss usage
This patch fixes the bss usage in ARMv7/omap-common/timer.c The .bss section cannot be used before the relocation, because this section is overlayed with .rel.dyn section. Suggested-by: Andreas Biessmann andreas.de...@gmail.com Signed-off-by: Thomas Weber we...@corscience.de --- arch/arm/cpu/armv7/omap-common/timer.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/timer.c b/arch/arm/cpu/armv7/omap-common/timer.c index 6b8cf7b..b649b93 100644 --- a/arch/arm/cpu/armv7/omap-common/timer.c +++ b/arch/arm/cpu/armv7/omap-common/timer.c @@ -35,8 +35,8 @@ #include common.h #include asm/io.h -static ulong timestamp; -static ulong lastinc; +static ulong timestamp = 0; +static ulong lastinc = 0; static struct gptimer *timer_base = (struct gptimer *)CONFIG_SYS_TIMERBASE; /* @@ -54,8 +54,6 @@ int timer_init(void) writel((CONFIG_SYS_PTV 2) | TCLR_PRE | TCLR_AR | TCLR_ST, timer_base-tclr); - reset_timer_masked(); /* init the timestamp and lastinc value */ - return 0; } -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] AM3517:Fix for ARM Relocation support
From: Vaibhav Hiremath hvaib...@ti.com Also change the CONFIG_SYS_TEXT_BASE to 0x80008000, required with relocation support. This is the load address for primary boot loader (x-loader). Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- board/logicpd/am3517evm/config.mk |2 +- include/configs/am3517_evm.h |6 ++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/board/logicpd/am3517evm/config.mk b/board/logicpd/am3517evm/config.mk index 102d32b..71ec5d0 100644 --- a/board/logicpd/am3517evm/config.mk +++ b/board/logicpd/am3517evm/config.mk @@ -27,4 +27,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 9a9ba88..3dda1e9 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -330,4 +330,10 @@ extern unsigned int boot_flash_sec; extern unsigned int boot_flash_type; #endif +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \ +CONFIG_SYS_INIT_RAM_SIZE - \ +GENERATED_GBL_DATA_SIZE) #endif /* __CONFIG_H */ -- 1.6.2.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] AM3517:Build FIX: undef CONFIG_CMD_NFS support
From: Vaibhav Hiremath hvaib...@ti.com Without CONFIG_CMD_NET support CONFIG_CMD_NFS leads to linking error, so disable CONFIG_CMD_NFS option. Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- include/configs/am3517_evm.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 3dda1e9..70e8f07 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -163,6 +163,7 @@ #define CONFIG_DRIVER_OMAP34XX_I2C 1 #undef CONFIG_CMD_NET +#undef CONFIG_CMD_NFS /* * Board NAND Info. */ -- 1.6.2.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] AM3517:EMIF4: fix SDRAM size to 256Mb
From: Vaibhav Hiremath hvaib...@ti.com With addition of dram_init_banksize() function from Heiko,Schocher (commit ID: 561142af20f1fd7b425d9425730014e656defb91), the DRAM size is getting configured wrongly to 512Mb (CS0 CS1). So fix it to 256Mb. Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- arch/arm/cpu/armv7/omap3/emif4.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/cpu/armv7/omap3/emif4.c b/arch/arm/cpu/armv7/omap3/emif4.c index 0870857..2227576 100644 --- a/arch/arm/cpu/armv7/omap3/emif4.c +++ b/arch/arm/cpu/armv7/omap3/emif4.c @@ -48,10 +48,11 @@ u32 is_mem_sdr(void) */ u32 get_sdr_cs_size(u32 cs) { - u32 size; + u32 size = 0; /* TODO: Calculate the size based on EMIF4 configuration */ - size = CONFIG_SYS_CS0_SIZE; + if (cs == CS0) + size = CONFIG_SYS_CS0_SIZE; return size; } -- 1.6.2.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] AM3517:Fix for ARM Relocation support
-Original Message- From: Hiremath, Vaibhav Sent: Monday, November 29, 2010 9:52 PM To: u-boot@lists.denx.de Cc: alb...@aribaud.net; Paulraj, Sandeep; Hiremath, Vaibhav Subject: [PATCH] AM3517:Fix for ARM Relocation support From: Vaibhav Hiremath hvaib...@ti.com Also change the CONFIG_SYS_TEXT_BASE to 0x80008000, required with relocation support. This is the load address for primary boot loader (x-loader). [Hiremath, Vaibhav] Albert, Denk and Sandeep, I have tested this patch with Makefile change (remove sorting of $LIB) on AM3517EVM. Thanks, Vaibhav Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- board/logicpd/am3517evm/config.mk |2 +- include/configs/am3517_evm.h |6 ++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/board/logicpd/am3517evm/config.mk b/board/logicpd/am3517evm/config.mk index 102d32b..71ec5d0 100644 --- a/board/logicpd/am3517evm/config.mk +++ b/board/logicpd/am3517evm/config.mk @@ -27,4 +27,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 9a9ba88..3dda1e9 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -330,4 +330,10 @@ extern unsigned int boot_flash_sec; extern unsigned int boot_flash_type; #endif +#define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) #endif /* __CONFIG_H */ -- 1.6.2.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] AM3517:Fix for ARM Relocation support
-Original Message- From: Hiremath, Vaibhav Sent: Monday, November 29, 2010 9:52 PM To: u-boot@lists.denx.de Cc: alb...@aribaud.net; Paulraj, Sandeep; Hiremath, Vaibhav Subject: [PATCH] AM3517:Fix for ARM Relocation support From: Vaibhav Hiremath hvaib...@ti.com Also change the CONFIG_SYS_TEXT_BASE to 0x80008000, required with relocation support. This is the load address for primary boot loader (x-loader). [Hiremath, Vaibhav] Albert, Denk and Sandeep, Thanks, I will apply this set to u-boot-ti/master sometime tonight and send a pull request to Wolfgang. I have tested this patch with Makefile change (remove sorting of $LIB) on AM3517EVM. Thanks, Vaibhav Regards, Sandeep ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Hello Andreas Andreas Bießmann wrote: Am 29.11.2010 16:04, schrieb Heiko Schocher: [snip] So it seems to me the sort version intermix the rel dyn section entries with normal vars in bss ... Which raises the question: Why is the rel.dyn Section in the bss section? cause of the ---8--- .bss __rel_dyn_start (OVERLAY) : { ---8--- in u-boot.lds But the error is to use bss variables before setting up the bss section, isn't it? Yep, thats right. bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] v2010-rc2: OMAP3 broken
Hello Albert, Albert ARIBAUD wrote: Le 29/11/2010 16:04, Heiko Schocher a écrit : Hello Albert, Albert ARIBAUD wrote: I'll take a look this evening at builds with and without the SORT() from an ELF relocation tables perspective. I debugged on the beagle board a little bit in this problem, and here what I found: [...] Why is the rel.dyn Section in the bss section? The .rel.dyn section is not in or out of the BSS: they are overlapped, i.e. they should start at the same address. As indicated in the documentation, BSS should never be used before relocation; it actually *cannot* be written into by boards which start from NOR, and is set to zero for all boards right after relocation. Yep. Since BSS does not exist before relocation, and .rel.dyn does not exist after relocation, they can use the same location: overlaying them is the best approach in order to get the smallest binary in Flash *and* the smallest image in RAM. Ah, thats what I missed, thanks! We can add code to try and catch the most obvious corruption of the relocation tables due to BSS being accessed before relocation, but we can't be sure to catch them all. The real solution is to fix the BSS usage. Yep. bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] OMAP-common/timer: Fix bss usage
Hello Thomas, Thomas Weber wrote: This patch fixes the bss usage in ARMv7/omap-common/timer.c The .bss section cannot be used before the relocation, because this section is overlayed with .rel.dyn section. Suggested-by: Andreas Biessmann andreas.de...@gmail.com Signed-off-by: Thomas Weber we...@corscience.de --- arch/arm/cpu/armv7/omap-common/timer.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/timer.c b/arch/arm/cpu/armv7/omap-common/timer.c index 6b8cf7b..b649b93 100644 --- a/arch/arm/cpu/armv7/omap-common/timer.c +++ b/arch/arm/cpu/armv7/omap-common/timer.c @@ -35,8 +35,8 @@ #include common.h #include asm/io.h -static ulong timestamp; -static ulong lastinc; +static ulong timestamp = 0; +static ulong lastinc = 0; static struct gptimer *timer_base = (struct gptimer *)CONFIG_SYS_TIMERBASE; /* @@ -54,8 +54,6 @@ int timer_init(void) writel((CONFIG_SYS_PTV 2) | TCLR_PRE | TCLR_AR | TCLR_ST, timer_base-tclr); - reset_timer_masked(); /* init the timestamp and lastinc value */ - return 0; } Is this Ok? In actual reset_timer_masked() lastinc gets initialized with: lastinc = readl(timer_base-tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); and your patch changes that to lastinc = 0 ... bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] OMAP3: Zoom1: Fix ARM relocation support
Signed-off-by: Dirk Behme dirk.be...@googlemail.com --- Compile tested only. board/logicpd/zoom1/config.mk |2 +- include/configs/omap3_zoom1.h |6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) Index: u-boot.git/board/logicpd/zoom1/config.mk === --- u-boot.git.orig/board/logicpd/zoom1/config.mk +++ u-boot.git/board/logicpd/zoom1/config.mk @@ -30,4 +30,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 Index: u-boot.git/include/configs/omap3_zoom1.h === --- u-boot.git.orig/include/configs/omap3_zoom1.h +++ u-boot.git/include/configs/omap3_zoom1.h @@ -236,6 +236,12 @@ #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */ /* load address */ +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \ +CONFIG_SYS_INIT_RAM_SIZE - \ +GENERATED_GBL_DATA_SIZE) /* * OMAP3 has 12 GP timers, they can be driven by the system clock * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] OMAP3: Zoom2: Fix ARM relocation support
Signed-off-by: Dirk Behme dirk.be...@googlemail.com --- Compile tested only. board/logicpd/zoom2/config.mk |2 +- include/configs/omap3_zoom2.h |6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) Index: u-boot.git/board/logicpd/zoom2/config.mk === --- u-boot.git.orig/board/logicpd/zoom2/config.mk +++ u-boot.git/board/logicpd/zoom2/config.mk @@ -30,4 +30,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 Index: u-boot.git/include/configs/omap3_zoom2.h === --- u-boot.git.orig/include/configs/omap3_zoom2.h +++ u-boot.git/include/configs/omap3_zoom2.h @@ -188,6 +188,12 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ usbtty=cdc_acm\0 \ +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \ +CONFIG_SYS_INIT_RAM_SIZE - \ +GENERATED_GBL_DATA_SIZE) /* * Miscellaneous configurable options */ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] OMAP-common/timer: Fix bss usage
Hello Heiko, On Mon, Nov 29, 2010 at 6:25 PM, Heiko Schocher h...@denx.de wrote: Hello Thomas, Thomas Weber wrote: This patch fixes the bss usage in ARMv7/omap-common/timer.c The .bss section cannot be used before the relocation, because this section is overlayed with .rel.dyn section. Suggested-by: Andreas Biessmann andreas.de...@gmail.com Signed-off-by: Thomas Weber we...@corscience.de --- arch/arm/cpu/armv7/omap-common/timer.c | 6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/timer.c b/arch/arm/cpu/armv7/omap-common/timer.c index 6b8cf7b..b649b93 100644 --- a/arch/arm/cpu/armv7/omap-common/timer.c +++ b/arch/arm/cpu/armv7/omap-common/timer.c @@ -35,8 +35,8 @@ #include common.h #include asm/io.h -static ulong timestamp; -static ulong lastinc; +static ulong timestamp = 0; +static ulong lastinc = 0; static struct gptimer *timer_base = (struct gptimer *)CONFIG_SYS_TIMERBASE; /* @@ -54,8 +54,6 @@ int timer_init(void) writel((CONFIG_SYS_PTV 2) | TCLR_PRE | TCLR_AR | TCLR_ST, timer_base-tclr); - reset_timer_masked(); /* init the timestamp and lastinc value */ - return 0; } Is this Ok? In actual reset_timer_masked() lastinc gets initialized with: lastinc = readl(timer_base-tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); and your patch changes that to lastinc = 0 ... bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot or should it be moved into global_data struct like in commit 5dca710a for AT91? Thomas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/2] ARMV7: Fixing Vexpress build errors and warnings
Le 03/11/2010 00:25, matt.wad...@linaro.org a écrit : From: Matt Waddelmatt.wad...@linaro.org These patches fix several build errors and warnings. A successful build for this platform depends on Steve Sakoman's ARMV7: Fix build for non-OMAP3 boards patch. Matt Waddel (2): ARMV7: Vexpress build errors ARMV7: Vexpress compile warnings arch/arm/include/asm/arch-armv7/sys_proto.h | 29 board/armltd/vexpress/ca9x4_ct_vxp.c|9 +++- board/armltd/vexpress/config.mk |3 +- board/armltd/vexpress/u-boot.lds| 65 --- 4 files changed, 36 insertions(+), 70 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sys_proto.h delete mode 100644 board/armltd/vexpress/u-boot.lds Wofgang, maybe I can take over u-boot-arm now and start by applying these two patches (and let you pull u-boot-arm later this week)? Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARMV7:ca9x4_ct_vxp: udelay reference fix
Fixes undefined reference to `__udelay' build failure. Signed-off-by: Matt Waddel matt.wad...@linaro.org --- board/armltd/vexpress/ca9x4_ct_vxp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/board/armltd/vexpress/ca9x4_ct_vxp.c b/board/armltd/vexpress/ca9x4_ct_vxp.c index c1c4ea1..ce1be1e 100644 --- a/board/armltd/vexpress/ca9x4_ct_vxp.c +++ b/board/armltd/vexpress/ca9x4_ct_vxp.c @@ -157,7 +157,7 @@ void reset_cpu(ulong addr) * Delay x useconds AND perserve advance timstamp value * assumes timer is ticking at 1 msec */ -void udelay(ulong usec) +void __udelay(ulong usec) { ulong tmo, tmp; -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/2] ARMV7: Fixing Vexpress build errors and warnings
On 29.11.2010 19:13, Albert ARIBAUD wrote: Le 03/11/2010 00:25, matt.wad...@linaro.org a écrit : From: Matt Waddelmatt.wad...@linaro.org These patches fix several build errors and warnings. A successful build for this platform depends on Steve Sakoman's ARMV7: Fix build for non-OMAP3 boards patch. Matt Waddel (2): ARMV7: Vexpress build errors ARMV7: Vexpress compile warnings arch/arm/include/asm/arch-armv7/sys_proto.h | 29 board/armltd/vexpress/ca9x4_ct_vxp.c|9 +++- board/armltd/vexpress/config.mk |3 +- board/armltd/vexpress/u-boot.lds| 65 --- 4 files changed, 36 insertions(+), 70 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sys_proto.h delete mode 100644 board/armltd/vexpress/u-boot.lds Wofgang, maybe I can take over u-boot-arm now and start by applying these two patches (and let you pull u-boot-arm later this week)? With recent master, besides the two patches above, I additionally need something like below to get ca9x4_ct_vxp build: ARMV7: Vexpress: Fix build error Fix ca9x4_ct_vxp build error Configuring for ca9x4_ct_vxp board... board/armltd/vexpress/libvexpress.o: In function `udelay': u-boot.git/board/armltd/vexpress/ca9x4_ct_vxp.c:161: multiple definition of `udelay' lib/libgeneric.o:u-boot.git/lib/time.c:34: first defined here lib/libgeneric.o: In function `udelay': zlib.c:(.text+0x1ee8): undefined reference to `__udelay' Signed-of-by: Dirk Behme dirk.be...@googlemail.com --- board/armltd/vexpress/ca9x4_ct_vxp.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: u-boot.git/board/armltd/vexpress/ca9x4_ct_vxp.c === --- u-boot.git.orig/board/armltd/vexpress/ca9x4_ct_vxp.c +++ u-boot.git/board/armltd/vexpress/ca9x4_ct_vxp.c @@ -157,7 +157,7 @@ void reset_cpu(ulong addr) * Delay x useconds AND perserve advance timstamp value * assumes timer is ticking at 1 msec */ -void udelay(ulong usec) +void __udelay(ulong usec) { ulong tmo, tmp; ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARMV7:ca9x4_ct_vxp: udelay reference fix
On 29.11.2010 19:09, Matt Waddel wrote: Fixes undefined reference to `__udelay' build failure. Signed-off-by: Matt Waddelmatt.wad...@linaro.org Ah, you were some minutes faster ;) So: Acked-by: Dirk Behme dirk.be...@googlemail.com --- board/armltd/vexpress/ca9x4_ct_vxp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/board/armltd/vexpress/ca9x4_ct_vxp.c b/board/armltd/vexpress/ca9x4_ct_vxp.c index c1c4ea1..ce1be1e 100644 --- a/board/armltd/vexpress/ca9x4_ct_vxp.c +++ b/board/armltd/vexpress/ca9x4_ct_vxp.c @@ -157,7 +157,7 @@ void reset_cpu(ulong addr) * Delay x useconds AND perserve advance timstamp value * assumes timer is ticking at 1 msec */ -void udelay(ulong usec) +void __udelay(ulong usec) { ulong tmo, tmp; ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] OMAP-common/timer: Fix bss usage
Dear Thomas Weber, In message 1291046912-15167-1-git-send-email-we...@corscience.de you wrote: This patch fixes the bss usage in ARMv7/omap-common/timer.c The .bss section cannot be used before the relocation, because this section is overlayed with .rel.dyn section. No, this is not correct. It cannot be used because it simply has not been created at all. The overlay thing is just an optimization to shring the image size, but otherwise it has no influence here. The thing is that before relocation we simply do not have a full standard conforming C runtime environment: we havce only a very small stack, we have a read-only data segment and no bss at all. -static ulong timestamp; -static ulong lastinc; +static ulong timestamp = 0; +static ulong lastinc = 0; This does not change anything. The compiler still generates exactly the same code. - reset_timer_masked(); /* init the timestamp and lastinc value */ - And this is most probably wrong. 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 usually tell my classes if you are using @ and [] together in this class, you will almost certainly NOT get what you want. That's going down the wrong tunnel. There's no cheese at the end of that tunnel. -- Randal L. Schwartz in 8czptuomey@gadget.cscaper.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Try to fix Board eb_cpux9k2
Dear Albert ARIBAUD, I have tried to start update the eb_cpux9k2 board. I can compile board without errors from current tree. But the board hangs on NAND detection. If I disable NAND support, the board starts and I can also start Linux. A second problem, the board does not restart (reset command). I find out that a NULL pointer used by reset code, was also relocated. I have currently no access to a BDI2000. But I think, this problems are not board specific. It is possible, there are problems with vector tables or memory protection Any suggestions? The board use 920t on at91rm9200 soc regard Jens Scharsig ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request: u-boot-arm
On 27.11.2010 08:43, Dirk Behme wrote: On 26.11.2010 21:55, Wolfgang Denk wrote: In message20101126202955.b087d11d9...@gemini.denx.de you wrote: The following changes since commit 6163f5b4c8873848ed023054bc401727301ea537: malloc: Fix issue with calloc memory possibly being non-zero (2010-11-17 22:06:40 +0100) are available in the git repository at: git://git.denx.de/u-boot-arm.git master ... Applied. Doing a './MAKEALL ARMV7' on the recent master (d4752d5d2...) doesn't look nice [2]. The following configs build fine: igep0020 mx51evk omap3_beagle omap3_overo omap3_pandora omap4_panda The following boards fail to build: Just fyi, scanning the list archive, for most of the boards there are patches available fixing the build: am3517_evm http://lists.denx.de/pipermail/u-boot/2010-November/082641.html http://lists.denx.de/pipermail/u-boot/2010-November/082642.html ca9x4_ct_vxp http://lists.denx.de/pipermail/u-boot/2010-November/081033.html http://lists.denx.de/pipermail/u-boot/2010-November/081034.html http://lists.denx.de/pipermail/u-boot/2010-November/082654.html devkit8000 Already fixed in mainline now igep0030 http://lists.denx.de/pipermail/u-boot/2010-November/082603.html omap3_evm http://lists.denx.de/pipermail/u-boot/2010-November/082606.html But I still get an error Configuring for omap3_evm board... arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 size: './u-boot': No such file I have to check if there is already a fix available. omap3_sdp3430 http://lists.denx.de/pipermail/u-boot/2010-November/082649.html omap3_zoom1 http://lists.denx.de/pipermail/u-boot/2010-November/082650.html omap3_zoom2 http://lists.denx.de/pipermail/u-boot/2010-November/082651.html omap4_sdp4430 http://lists.denx.de/pipermail/u-boot/2010-November/082556.html s5p_goni http://lists.denx.de/pipermail/u-boot/2010-November/082225.html smdkc100 http://lists.denx.de/pipermail/u-boot/2010-November/082224.html So it seems to me that the last ARMV7 board with build issues is omap3_evm. But as mentioned, I have to check the archives for this. Best regards Dirk ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request: u-boot-arm
On 27.11.2010 08:43, Dirk Behme wrote: On 26.11.2010 21:55, Wolfgang Denk wrote: In message20101126202955.b087d11d9...@gemini.denx.de you wrote: The following changes since commit 6163f5b4c8873848ed023054bc401727301ea537: malloc: Fix issue with calloc memory possibly being non-zero (2010-11-17 22:06:40 +0100) are available in the git repository at: git://git.denx.de/u-boot-arm.git master ... Applied. Doing a './MAKEALL ARMV7' on the recent master (d4752d5d2...) doesn't look nice [2]. The following configs build fine: igep0020 mx51evk omap3_beagle omap3_overo omap3_pandora omap4_panda The following boards fail to build: Just fyi, scanning the list archive, for most of the boards there are patches available fixing the build: am3517_evm http://lists.denx.de/pipermail/u-boot/2010-November/082641.html http://lists.denx.de/pipermail/u-boot/2010-November/082642.html ca9x4_ct_vxp http://lists.denx.de/pipermail/u-boot/2010-November/081033.html http://lists.denx.de/pipermail/u-boot/2010-November/081034.html http://lists.denx.de/pipermail/u-boot/2010-November/082654.html devkit8000 Already fixed in mainline now igep0030 http://lists.denx.de/pipermail/u-boot/2010-November/082603.html omap3_evm I will add to u-boot-ti and send a pull request tonight. http://lists.denx.de/pipermail/u-boot/2010-November/082606.html But I still get an error Configuring for omap3_evm board... arm-none-linux-gnueabi-ld: section .bss [8003f5c0 - 8007e31f] overlaps section .rel.dyn [8003f5c0 - 80044e4f] arm-none-linux-gnueabi-ld: section .dynsym [80044e50 - 80044eef] overlaps section .bss [8003f5c0 - 8007e31f] arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections make: *** [u-boot] Error 1 size: './u-boot': No such file I have to check if there is already a fix available. omap3_sdp3430 http://lists.denx.de/pipermail/u-boot/2010-November/082649.html omap3_zoom1 http://lists.denx.de/pipermail/u-boot/2010-November/082650.html omap3_zoom2 http://lists.denx.de/pipermail/u-boot/2010-November/082651.html omap4_sdp4430 http://lists.denx.de/pipermail/u-boot/2010-November/082556.html s5p_goni http://lists.denx.de/pipermail/u-boot/2010-November/082225.html smdkc100 http://lists.denx.de/pipermail/u-boot/2010-November/082224.html So it seems to me that the last ARMV7 board with build issues is omap3_evm. But as mentioned, I have to check the archives for this. That is correct and I believe it is being worked upon. --Sandeep ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Please pull u-boot-ti/master
Wolfgang, Please pull this patch to your master. With this one more ARM board builds Thanks, Sandeep The following changes since commit d0d2271f8c62e830ec65fb069b6d12dd708e3e2f: Wolfgang Denk (1): Prepare v2010.12-rc2 are available in the git repository at: git://git.denx.de/u-boot-ti.git master Dirk Behme (1): OMAP4: SDP4430: Disable CMD_NFS include/configs/omap4_sdp4430.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) Please ignore this pull request. I will send an updated pull request that will fix many other boards. --Sandeep ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3] powerpc/85xx: Introduce CONFIG_SYS_EXTRA_ENV_RELOC
Some systems need to relocate the env_addr pointer early because the location it points to will get invalidated before env_relocate is called. One example is on systems that might use a L2 or L3 cache in SRAM mode and initialize that cache from SRAM mode back to being a cache in cpu_init_r. We set this on the 85xx boards that have support for NAND, SPI, or SDHC/MMC boot support as they use a secondary cache in SRAM mode and need the env_addr pointer relocated since we change from SRAM to normal cache mode in cpu_init_r. Also removed CONFIG_SYS_SPL as its not used anywhere. Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- * Removed CONFIG_SYS_SPL as its not used anywhere arch/powerpc/lib/board.c | 11 +++ include/configs/MPC8536DS.h |5 +++-- include/configs/MPC8569MDS.h |3 ++- include/configs/P1_P2_RDB.h |5 +++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index b21c1d6..9759e23 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -645,6 +645,17 @@ void board_init_r (gd_t *id, ulong dest_addr) gd-cpu += dest_addr - CONFIG_SYS_MONITOR_BASE; #endif +#ifdef CONFIG_SYS_EXTRA_ENV_RELOC + /* +* Some systems need to relocate the env_addr pointer early because the +* location it points to will get invalidated before env_relocate is +* called. One example is on systems that might use a L2 or L3 cache +* in SRAM mode and initialize that cache from SRAM mode back to being +* a cache in cpu_init_r. +*/ + gd-env_addr += dest_addr - CONFIG_SYS_MONITOR_BASE; +#endif + #ifdef CONFIG_SERIAL_MULTI serial_initialize(); #endif diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 850665a..5c5be0c 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -242,9 +242,10 @@ #define CONFIG_SYS_FLASH_ERASE_TOUT6 /* Flash Erase Timeout (ms) */ #define CONFIG_SYS_FLASH_WRITE_TOUT500 /* Flash Write Timeout (ms) */ -#if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \ - || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH) +#if defined(CONFIG_RAMBOOT_NAND) || defined(CONFIG_RAMBOOT_SDCARD) || \ +defined(CONFIG_RAMBOOT_SPIFLASH) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #endif diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h index c7973b4..9620fd0 100644 --- a/include/configs/MPC8569MDS.h +++ b/include/configs/MPC8569MDS.h @@ -203,8 +203,9 @@ extern unsigned long get_clock_freq(void); #define CONFIG_SYS_FLASH_ERASE_TOUT6 /* Flash Erase Timeout (ms) */ #define CONFIG_SYS_FLASH_WRITE_TOUT500 /* Flash Write Timeout (ms) */ -#if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) +#if defined(CONFIG_RAMBOOT_NAND) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #endif diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index 610f3ed..a21afb7 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -201,9 +201,10 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_FLASH_ERASE_TOUT6 /* Flash Erase Timeout (ms) */ #define CONFIG_SYS_FLASH_WRITE_TOUT500 /* Flash Write Timeout (ms) */ -#if defined(CONFIG_SYS_SPL) || defined(CONFIG_RAMBOOT_NAND) \ - || defined(CONFIG_RAMBOOT_SDCARD) || defined(CONFIG_RAMBOOT_SPIFLASH) +#if defined(CONFIG_RAMBOOT_NAND) || defined(CONFIG_RAMBOOT_SDCARD) || \ +defined(CONFIG_RAMBOOT_SPIFLASH) #define CONFIG_SYS_RAMBOOT +#define CONFIG_SYS_EXTRA_ENV_RELOC #else #undef CONFIG_SYS_RAMBOOT #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 v2] powerpc/85xx: Add support for booting from NAND on MPC8572DS
Mimic support that exists on MPC8536DS on the MPC8572DS to allow booting from NAND. Signed-off-by: Jin Qing b24...@freescale.com Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- * Removed CONFIG_SYS_SPL as its not used and copied for older code board/freescale/mpc8572ds/config.mk|6 + board/freescale/mpc8572ds/tlb.c| 14 +++- boards.cfg |1 + include/configs/MPC8572DS.h| 115 ++--- nand_spl/board/freescale/mpc8572ds/Makefile| 133 nand_spl/board/freescale/mpc8572ds/nand_boot.c | 82 +++ 6 files changed, 335 insertions(+), 16 deletions(-) create mode 100644 nand_spl/board/freescale/mpc8572ds/Makefile create mode 100644 nand_spl/board/freescale/mpc8572ds/nand_boot.c diff --git a/board/freescale/mpc8572ds/config.mk b/board/freescale/mpc8572ds/config.mk index 5413921..6cea41c 100644 --- a/board/freescale/mpc8572ds/config.mk +++ b/board/freescale/mpc8572ds/config.mk @@ -23,4 +23,10 @@ # # mpc8572ds board # +ifndef NAND_SPL +ifeq ($(CONFIG_NAND), y) +LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds +endif +endif + RESET_VECTOR_ADDRESS = 0xeffc diff --git a/board/freescale/mpc8572ds/tlb.c b/board/freescale/mpc8572ds/tlb.c index 6a2a0b5..575bdb5 100644 --- a/board/freescale/mpc8572ds/tlb.c +++ b/board/freescale/mpc8572ds/tlb.c @@ -1,5 +1,5 @@ /* - * Copyright 2008 Freescale Semiconductor, Inc. + * Copyright 2008-2010 Freescale Semiconductor, Inc. * * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, w...@denx.de. @@ -85,6 +85,18 @@ struct fsl_e_tlb_entry tlb_table[] = { SET_TLB_ENTRY(1, PIXIS_BASE, PIXIS_BASE_PHYS, MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 0, 8, BOOKE_PAGESZ_4K, 1), + +#if defined(CONFIG_SYS_RAMBOOT) defined(CONFIG_SYS_INIT_L2_ADDR) + /* *I*G - L2SRAM */ + SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L2_ADDR, + CONFIG_SYS_INIT_L2_ADDR_PHYS, + MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, + 0, 9, BOOKE_PAGESZ_256K, 1), + SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L2_ADDR + 0x4, + CONFIG_SYS_INIT_L2_ADDR_PHYS + 0x4, + MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, + 0, 10, BOOKE_PAGESZ_256K, 1), +#endif }; int num_tlb_entries = ARRAY_SIZE(tlb_table); diff --git a/boards.cfg b/boards.cfg index 2209676..a994c8a 100644 --- a/boards.cfg +++ b/boards.cfg @@ -472,6 +472,7 @@ MPC8569MDS_ATM powerpc mpc85xx mpc8569mds freesca MPC8569MDS_NAND powerpc mpc85xx mpc8569mds freescale - MPC8569MDS:NAND MPC8572DSpowerpc mpc85xx mpc8572ds freescale - MPC8572DS MPC8572DS_36BIT powerpc mpc85xx mpc8572ds freescale - MPC8572DS:36BIT +MPC8572DS_NAND powerpc mpc85xx mpc8572ds freescale - MPC8572DS:NAND P1011RDB powerpc mpc85xx p1_p2_rdb freescale - P1_P2_RDB:P1011 P1011RDB_NANDpowerpc mpc85xx p1_p2_rdb freescale - P1_P2_RDB:P1011,NAND P1011RDB_SDCARD powerpc mpc85xx p1_p2_rdb freescale - P1_P2_RDB:P1011,SDCARD diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index 1ee95ae..9d2e209 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -33,6 +33,25 @@ #define CONFIG_PHYS_64BIT #endif +#ifdef CONFIG_NAND +#define CONFIG_NAND_U_BOOT +#define CONFIG_RAMBOOT_NAND +#ifdef CONFIG_NAND_SPL +#define CONFIG_SYS_TEXT_BASE_SPL 0xfff0 +#define CONFIG_SYS_MONITOR_BASECONFIG_SYS_TEXT_BASE_SPL /* start of monitor */ +#else +#define CONFIG_SYS_TEXT_BASE 0xf8f82000 +#endif /* CONFIG_NAND_SPL */ +#endif + +#ifndef CONFIG_SYS_TEXT_BASE +#define CONFIG_SYS_TEXT_BASE 0xeff8 +#endif + +#ifndef CONFIG_SYS_MONITOR_BASE +#define CONFIG_SYS_MONITOR_BASECONFIG_SYS_TEXT_BASE/* start of monitor */ +#endif + /* High Level Configuration Options */ #define CONFIG_BOOKE 1 /* BOOKE */ #define CONFIG_E5001 /* BOOKE e500 family */ @@ -41,10 +60,6 @@ #define CONFIG_MPC8572DS 1 #define CONFIG_MP 1 /* support multiple processors */ -#ifndef CONFIG_SYS_TEXT_BASE -#define CONFIG_SYS_TEXT_BASE 0xeff8 -#endif - #define CONFIG_FSL_ELBC1 /* Has Enhanced localbus controller */ #define CONFIG_PCI 1 /* Enable PCI/PCIE */ #define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */ @@ -81,10 +96,21 @@ #define CONFIG_PANIC_HANG /* do not reset board on panic */ /* + * Config the L2 Cache as L2 SRAM + */ +#define
Re: [U-Boot] [PATCH] 512x: Cleanup for partial linking and --gc-sections
Hello Wolfgang, On Mon, 22 Nov 2010 23:40:14 +0100 Wolfgang Denk w...@denx.de wrote: Signed-off-by: Wolfgang Denk w...@denx.de Cc: Anatolij Gustschin ag...@denx.de Cc: Timur Tabi ti...@freescale.com --- Hello Anatolij Timur, I'm not happy about the CONFIG_FSL_DIU_FB hacking I had to do in Makefile and arch/powerpc/cpu/mpc512x/Makefile to make the fsl_diu_fb driver usable for boards where VENDOR is not set or != 'freescale'. Can we not move the fsl_diu_fb driver to a place with better global visibility, like drivers/video/ ? Sorry for the late reply. Yes, we can do this. A patch follows. Best regards, Anatolij ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] video: move fsl_diu_fb driver to drivers/video
Since the driver is used not only on Freescale boards, we move it to a common place for video drivers as suggested by Wolfgang. The patch also cleans up the top level Makefile. Signed-off-by: Anatolij Gustschin ag...@denx.de --- Makefile |3 --- board/freescale/common/Makefile|1 - drivers/video/Makefile |1 + .../common = drivers/video}/fsl_diu_fb.c |0 4 files changed, 1 insertions(+), 4 deletions(-) rename {board/freescale/common = drivers/video}/fsl_diu_fb.c (100%) diff --git a/Makefile b/Makefile index 87a383d..0685ef9 100644 --- a/Makefile +++ b/Makefile @@ -185,9 +185,6 @@ LIBS += lib/lzma/liblzma.o LIBS += lib/lzo/liblzo.o LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \ board/$(VENDOR)/common/lib$(VENDOR).o; fi) -ifdef CONFIG_FSL_DIU_FB -LIBS += board/freescale/common/libfreescale.o -endif LIBS += $(CPUDIR)/lib$(CPU).o ifdef SOC LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).o diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index 905dd7a..1abd3e5 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -31,7 +31,6 @@ LIB = $(obj)libfreescale.o COBJS-$(CONFIG_FSL_CADMUS) += cadmus.o COBJS-$(CONFIG_FSL_VIA)+= cds_via.o -COBJS-$(CONFIG_FSL_DIU_FB) += fsl_diu_fb.o COBJS-$(CONFIG_FSL_PIXIS) += pixis.o COBJS-$(CONFIG_FSL_NGPIXIS)+= ngpixis.o COBJS-$(CONFIG_PQ_MDS_PIB) += pq-mds-pib.o diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 83274c3..2c53a6f 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -28,6 +28,7 @@ LIB := $(obj)libvideo.o COBJS-$(CONFIG_ATI_RADEON_FB) += ati_radeon_fb.o videomodes.o COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o COBJS-$(CONFIG_CFB_CONSOLE) += cfb_console.o +COBJS-$(CONFIG_FSL_DIU_FB) += fsl_diu_fb.o COBJS-$(CONFIG_S6E63D6) += s6e63d6.o COBJS-$(CONFIG_VIDEO_AMBA) += amba.o COBJS-$(CONFIG_VIDEO_CT69000) += ct69000.o videomodes.o diff --git a/board/freescale/common/fsl_diu_fb.c b/drivers/video/fsl_diu_fb.c similarity index 100% rename from board/freescale/common/fsl_diu_fb.c rename to drivers/video/fsl_diu_fb.c -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARMV7: OMAP3: Fix build failure for igep0030 machine
Seems that if CONFIG_CMD_NET is undefined we should also undefine CONFIG_CMD_NFS, otherwise build fails with various undefined reference like: net/libnet.o: In function `rpc_req': u-boot/net/nfs.c:193: undefined reference to `NetEthHdrSize' u-boot/net/nfs.c:202: undefined reference to `NetSendUDPPacket' u-boot/net/nfs.c:203: undefined reference to `NetTxPacket' u-boot/net/nfs.c:203: undefined reference to `NetServerEther' This patch adds the undef CONFIG_CMD_NFS in configuration file. Signed-off-by: Enric Balletbo i Serra eballe...@iseebcn.com --- include/configs/igep0030.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/igep0030.h b/include/configs/igep0030.h index d61793c..1325bfa 100644 --- a/include/configs/igep0030.h +++ b/include/configs/igep0030.h @@ -110,6 +110,7 @@ #define CONFIG_MTD_DEVICE #undef CONFIG_CMD_NET/* bootp, tftpboot, rarpboot*/ +#undef CONFIG_CMD_NFS/* nfs */ #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ #undef CONFIG_CMD_IMLS /* List all found images*/ Pushed to u-boot-ti ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] omap3evm: Use GENERATED_GBL_DATA_SIZE
The macro CONFIG_SYS_GBL_DATA_SIZE has been replaced with GENERATED_GBL_DATA_SIZE. Also define macros: CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE. Based on changes for omap3_beagle in the commit: 31bfcf1c5776df3d90286aa15104c45096d53dc6 Signed-off-by: Sanjeev Premi pr...@ti.com --- include/configs/omap3_evm.h |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index aeb45c6..1a4b0ee 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -348,7 +348,11 @@ extern unsigned int boot_flash_type; * Support for relocation */ #define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR (LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) /* * Define the board revision statically -- 1.7.2.2 Pushed to u-boot-ti --Sandeep ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] AM3517:EMIF4: fix SDRAM size to 256Mb
From: Vaibhav Hiremath hvaib...@ti.com With addition of dram_init_banksize() function from Heiko,Schocher (commit ID: 561142af20f1fd7b425d9425730014e656defb91), the DRAM size is getting configured wrongly to 512Mb (CS0 CS1). So fix it to 256Mb. Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- Pushed to u-boot-ti ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] AM3517:Build FIX: undef CONFIG_CMD_NFS support
From: Vaibhav Hiremath hvaib...@ti.com Without CONFIG_CMD_NET support CONFIG_CMD_NFS leads to linking error, so disable CONFIG_CMD_NFS option. Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- include/configs/am3517_evm.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 3dda1e9..70e8f07 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -163,6 +163,7 @@ #define CONFIG_DRIVER_OMAP34XX_I2C 1 #undef CONFIG_CMD_NET +#undef CONFIG_CMD_NFS /* * Board NAND Info. */ -- 1.6.2.4 Pushed to u-boot-ti ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] AM3517:EMIF4: fix SDRAM size to 256Mb
From: Vaibhav Hiremath hvaib...@ti.com With addition of dram_init_banksize() function from Heiko,Schocher (commit ID: 561142af20f1fd7b425d9425730014e656defb91), the DRAM size is getting configured wrongly to 512Mb (CS0 CS1). So fix it to 256Mb. Signed-off-by: Vaibhav Hiremath hvaib...@ti.com --- arch/arm/cpu/armv7/omap3/emif4.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/cpu/armv7/omap3/emif4.c b/arch/arm/cpu/armv7/omap3/emif4.c index 0870857..2227576 100644 --- a/arch/arm/cpu/armv7/omap3/emif4.c +++ b/arch/arm/cpu/armv7/omap3/emif4.c @@ -48,10 +48,11 @@ u32 is_mem_sdr(void) */ u32 get_sdr_cs_size(u32 cs) { - u32 size; + u32 size = 0; /* TODO: Calculate the size based on EMIF4 configuration */ - size = CONFIG_SYS_CS0_SIZE; + if (cs == CS0) + size = CONFIG_SYS_CS0_SIZE; return size; } -- 1.6.2.4 Pushed to u-boot-ti ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] mpc512x: aria: cleanup board config file
CONFIG_FSL_DIU_LOGO_BMP has been removed while refactoring MPC8610 and MPC5121 DIU code, so remove it. Signed-off-by: Anatolij Gustschin ag...@denx.de --- include/configs/aria.h |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/include/configs/aria.h b/include/configs/aria.h index b3ca8d2..3a60de0 100644 --- a/include/configs/aria.h +++ b/include/configs/aria.h @@ -49,7 +49,6 @@ #define CONFIG_E3001 /* E300 Family */ #define CONFIG_MPC512X 1 /* MPC512X family */ #define CONFIG_FSL_DIU_FB 1 /* FSL DIU */ -#define CONFIG_FSL_DIU_LOGO_BMP1 /* Don't include FSL DIU binary bmp */ #defineCONFIG_SYS_TEXT_BASE0xFFF0 -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] S5P: smdkc100: fix for relocation
On 22 November 2010 20:33, Minkyu Kang mk7.k...@samsung.com wrote: Signed-off-by: Minkyu Kang mk7.k...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com --- board/samsung/smdkc100/smdkc100.c | 10 +++--- include/configs/smdkc100.h | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) applied to u-boot-samsung -- from. prom. www.promsoft.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] S5P: goni: fix for relocation
On 22 November 2010 20:34, Minkyu Kang mk7.k...@samsung.com wrote: Signed-off-by: Minkyu Kang mk7.k...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com --- board/samsung/goni/goni.c | 10 -- include/configs/s5p_goni.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) applied to u-boot-samsung -- from. prom. www.promsoft.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ARMV7: S5P: timer: get the count_value from register when call udelay
On 19 November 2010 17:34, Minkyu Kang mk7.k...@samsung.com wrote: Because of count_value is set to tcnb4 register, should be get from this register when call udelay function. Signed-off-by: Minkyu Kang mk7.k...@samsung.com --- arch/arm/cpu/armv7/s5p-common/timer.c | 18 +- 1 files changed, 9 insertions(+), 9 deletions(-) applied to u-boot-samsung -- from. prom. www.promsoft.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] ARM: S3C64XX: add support for mini6410
Dear Darius Augulis, On 18 November 2010 06:26, Darius Augulis augulis.dar...@gmail.com wrote: Add support for mini6410 from FriendlyARM Signed-off-by: Darius Augulis augulis.dar...@gmail.com --- MAKEALL | 1 Makefile | 4 arch/arm/cpu/arm1176/s3c64xx/Makefile | 6 - board/friendly_arm/mini6410/Makefile | 59 + board/friendly_arm/mini6410/config.mk | 5 board/friendly_arm/mini6410/lowlevel_init.S | 256 +++ board/friendly_arm/mini6410/mini6410.c | 99 + boards.cfg | 1 include/configs/mini6410.h | 137 nand_spl/board/friendly_arm/mini6410/Makefile | 107 ++ nand_spl/board/friendly_arm/mini6410/config.mk | 7 + nand_spl/board/friendly_arm/mini6410/u-boot.lds | 85 nand_spl/nand_boot_s3c.c | 131 13 files changed, 896 insertions(+), 2 deletions(-) create mode 100644 board/friendly_arm/mini6410/Makefile create mode 100644 board/friendly_arm/mini6410/config.mk create mode 100644 board/friendly_arm/mini6410/lowlevel_init.S create mode 100644 board/friendly_arm/mini6410/mini6410.c create mode 100644 include/configs/mini6410.h create mode 100644 nand_spl/board/friendly_arm/mini6410/Makefile create mode 100644 nand_spl/board/friendly_arm/mini6410/config.mk create mode 100644 nand_spl/board/friendly_arm/mini6410/u-boot.lds create mode 100644 nand_spl/nand_boot_s3c.c missing Maintainer entry Please clean your patch by checkpatch. Your patch have 23 errors, 22 warnings. diff --git a/MAKEALL b/MAKEALL index 767d561..556aa82 100755 --- a/MAKEALL +++ b/MAKEALL @@ -404,6 +404,7 @@ LIST_ARM11= \ imx31_litekit \ imx31_phycore \ imx31_phycore_eet \ + mini6410 \ mx31ads \ mx31pdk \ mx31pdk_nand \ diff --git a/Makefile b/Makefile index f0c2703..4dab98d 100644 --- a/Makefile +++ b/Makefile @@ -1087,6 +1087,10 @@ smdk6400_config : unconfig �...@$(MKCONFIG) smdk6400 arm arm1176 smdk6400 samsung s3c64xx �...@echo CONFIG_NAND_U_BOOT = y $(obj)include/config.mk +mini6410_config : unconfig + @mkdir -p $(obj)include + @$(MKCONFIG) mini6410 arm arm1176 mini6410 friendly_arm s3c64xx + unnecessary, because of board.cfg # # MIPS # diff --git a/arch/arm/cpu/arm1176/s3c64xx/Makefile b/arch/arm/cpu/arm1176/s3c64xx/Makefile index b527939..6ce2b06 100644 --- a/arch/arm/cpu/arm1176/s3c64xx/Makefile +++ b/arch/arm/cpu/arm1176/s3c64xx/Makefile @@ -1,4 +1,7 @@ # +# (C) Copyright 2010 +# Darius Augulis, augulis.dar...@gmail.com +# # (C) Copyright 2000-2003 # Wolfgang Denk, DENX Software Engineering, w...@denx.de. # @@ -30,8 +33,7 @@ LIB = $(obj)lib$(SOC).a SOBJS = reset.o -COBJS-$(CONFIG_S3C6400) += cpu_init.o speed.o -COBJS-y += timer.o +COBJS-y += timer.o cpu_init.o speed.o OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) diff --git a/board/friendly_arm/mini6410/Makefile b/board/friendly_arm/mini6410/Makefile new file mode 100644 index 000..a1dbc41 --- /dev/null +++ b/board/friendly_arm/mini6410/Makefile @@ -0,0 +1,59 @@ +# +# (C) Copyright 2010 +# Darius Augulis, augulis.dar...@gmail.com +# +# (C) Copyright 2000, 2001, 2002 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# (C) Copyright 2008 +# Guennadi Liakhovetki, DENX Software Engineering, l...@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., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).a + +COBJS += mini6410.o +SOBJS := lowlevel_init.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +.PHONY: all + +all: $(LIB) + +$(LIB):
[U-Boot] Pull request: u-boot-sh
Hi, Wolfgang, Please pull from u-boot-sh.git. The following changes since commit d0d2271f8c62e830ec65fb069b6d12dd708e3e2f: Prepare v2010.12-rc2 (2010-11-28 19:48:11 +0100) are available in the git repository at: ssh+git://git.denx.de/u-boot-sh.git master Nobuhiro Iwamatsu (2): sh: Fix build in start.S sh: r7780mp: Remove CONFIG_DRIVER_NE2000 from config arch/sh/cpu/sh2/start.S |8 arch/sh/cpu/sh3/start.S |8 arch/sh/cpu/sh4/start.S | 10 +- include/configs/r7780mp.h |1 - 4 files changed, 13 insertions(+), 14 deletions(-) -- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] usb_ether: register usb ethernet gadget at each eth init
Hi Vitaly, On Mon, Nov 29, 2010 at 9:56 PM, Vitaly Kuzmichev vkuzmic...@mvista.com wrote: Hi Lei, Lei Wen wrote: Hi Vitaly, [...] + if (usb_gadget_register_driver(eth_driver) 0) + goto fail; You probably need then at least to remove usb_gadget_register_driver call from usb_eth_initialize. And add usb_gadget_unregister_driver in usb_eth_halt. I am afraid that remove usb_gadget_register_driver call from usb_eth_initialize is not possible. For tftp as example, it would call eth_halt before the eth_init. If we do the remove behavior, the gadget still not valid yet in the first eth_halt call which would cause the uboot becomes halt. The gadget driver handles this properly. Right now it just does usb_gadget_disconnect which has no effect when no gadget was requested from the UDC driver yet. And additional calling of usb_gadget_unregister_driver will at most return an error. For current ether.c state, there is no usb_gadget_unregister_driver in it. Even it has, we still need usb_gadget_register_driver call in each eth_init(). For example, my UDC driver returns EBUSY if another gadget driver tries to register itself. (Yes, I do not want to have more than 1 gadget). With your patch the gadget driver will fail each time when initializing. Anyway if I fix my UDC driver some day the Ether gadget will try to register itself twice (and more times later). So I will have to protect it against this bad behavior. Two gadget example may comes from what I am using now. I am current attempting to make the tftp and fastboot cowork togetther. Since fastboot is a cool tool, I think people may want it beside they still use the tftp. Would that be enough convincing?:) I think the gadget driver should adopt like this to allow two gadget coexist. And from gadget driver's review, the switch from one gadget to another is easy, just register it to another should be enough. Does it really need to return EBUSY? If the UDC (not a gadget) driver does not support more than 1 gadget driver in the same time it must return an error (EBUSY is fine for now) when another gadget tries to register itself. Right, if at the same time certainly need to return error. The reason why does not it support 2 (and more) gadgets registered simultaneously is another question. Even if I fix this, your patch is not needed because the UDC driver will give USB requests to the appropriate gadget driver properly. I really do not understand what a problem with using 2 gadgets in the same time without your patch if the UDC driver supports this. Especially I do not understand... Sorry, maybe I make a confused saying here. I don't mean to support two gadget at the same time, but to let one gadget could work after another gadget is finished. Like after tftp, I could use fastboot, or after return from fastboot, I could still use the tftp. it is neccessary to do the register each time the eth begin to work to make usb gadget driver less confussed when we want to use two different usb gadget at the same time. ...how can the gadget (or UDC?) driver be confused here? Right now I can tell that it will be more confused rather than less. I just can suppose that you are trying to implement something like switching active gadget driver in UDC driver which has only one variable to store info about gadget driver (rather than having an array at least). In this case you need to fix UDC driver rather than hacking all available gadget drivers. Also this way will not work when someone needs two gadgets active simultaneously, e.g. USB ether with USB serial. The confused thing is for the ether.c would register its gadget at the usb_eth_initialize() call, which is a very begining of the uboot. If we use some other gadget, like fastboot, it would take place of gadget registered in the gadget driver. Then if we return to the USB ether, for there is no other chance to register itself, the ether gadget would use other gadget setting to make the ethernet connection. That is where the confussion start. Best regards, Lei ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] BLOCK: Add freescale IMX51 PATA driver
Signed-off-by: Marek Vasut marek.va...@gmail.com --- v2: Use structures instead of defines as Wolfgang proposed drivers/block/Makefile |1 + drivers/block/mxc_ata.c | 149 +++ 2 files changed, 150 insertions(+), 0 deletions(-) create mode 100644 drivers/block/mxc_ata.c diff --git a/drivers/block/Makefile b/drivers/block/Makefile index e27175b..aa7dc87 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -31,6 +31,7 @@ COBJS-$(CONFIG_FSL_SATA) += fsl_sata.o COBJS-$(CONFIG_LIBATA) += libata.o COBJS-$(CONFIG_CMD_MG_DISK) += mg_disk.o COBJS-$(CONFIG_MVSATA_IDE) += mvsata_ide.o +COBJS-$(CONFIG_MX51_PATA) += mxc_ata.o COBJS-$(CONFIG_PATA_BFIN) += pata_bfin.o COBJS-$(CONFIG_SATA_DWC) += sata_dwc.o COBJS-$(CONFIG_SATA_SIL3114) += sata_sil3114.o diff --git a/drivers/block/mxc_ata.c b/drivers/block/mxc_ata.c new file mode 100644 index 000..62c5cf4 --- /dev/null +++ b/drivers/block/mxc_ata.c @@ -0,0 +1,149 @@ +/* + * Freescale iMX51 ATA driver + * + * Copyright (C) 2010 Marek Vasut marek.va...@gmail.com + * + * Based on code by: + * Mahesh Mahadevan mahesh.mahade...@freescale.com + * + * Based on code from original FSL ATA driver, which is + * part of eCos, the Embedded Configurable Operating System. + * Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. + * + * 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 command.h +#include config.h +#include asm/byteorder.h +#include asm/io.h +#include ide.h + +#include asm/arch/imx-regs.h +#include asm/arch/clock.h + +/* MXC ATA register offsets */ +struct mxc_ata_config_regs { + u8 time_off; /* 0x00 */ + u8 time_on; + u8 time_1; + u8 time_2w; + u8 time_2r; + u8 time_ax; + u8 time_pio_rdx; + u8 time_4; + u8 time_9; + u8 time_m; + u8 time_jn; + u8 time_d; + u8 time_k; + u8 time_ack; + u8 time_env; + u8 time_udma_rdx; + u8 time_zah; /* 0x10 */ + u8 time_mlix; + u8 time_dvh; + u8 time_dzfs; + u8 time_dvs; + u8 time_cvh; + u8 time_ss; + u8 time_cyc; + u32 fifo_data_32; /* 0x18 */ + u32 fifo_data_16; + u32 fifo_fill; + u32 ata_control; + u32 interrupt_pending; + u32 interrupt_enable; + u32 interrupt_clear; + u32 fifo_alarm; +}; + +struct mxc_data_hdd_regs { + u32 drive_data; /* 0xa0 */ + u32 drive_features; + u32 drive_sector_count; + u32 drive_sector_num; + u32 drive_cyl_low; + u32 drive_cyl_high; + u32 drive_dev_head; + u32 command; + u32 status; + u32 alt_status; +}; + +/* PIO timing table */ +#defineNR_PIO_SPECS5 +uint16_t pio_t0[NR_PIO_SPECS] = { 600, 383, 240, 180, 120 }; +uint16_t pio_t1[NR_PIO_SPECS] = { 70, 50, 30, 30, 25 }; +uint16_t pio_t2_8[NR_PIO_SPECS]= { 290, 290, 290, 80, 70 }; +uint16_t pio_t2_16[NR_PIO_SPECS] = { 165, 125, 100, 80, 70 }; +uint16_t pio_t2i[NR_PIO_SPECS] = { 40, 0, 0, 0, 0 }; +uint16_t pio_t4[NR_PIO_SPECS] = { 30, 20, 15, 10, 10 }; +uint16_t pio_t9[NR_PIO_SPECS] = { 20, 15, 10, 10, 10 }; +uint16_t pio_tA[NR_PIO_SPECS] = { 50, 50, 50, 50, 50 }; + +#defineREG2OFF(reg)uint32_t)reg) 0x3) * 8) +static void set_ata_bus_timing(unsigned char mode) +{ + uint32_t val; + uint32_t T = 10 / mxc_get_clock(MXC_IPG_CLK); + + struct mxc_ata_config_regs *ata_cfg_regs; + ata_cfg_regs = (struct mxc_ata_config_regs *)CONFIG_SYS_ATA_BASE_ADDR; + + if (mode = NR_PIO_SPECS) + return; + + /* Write TIME_OFF/ON/1/2W */ + val = (3 REG2OFF(ata_cfg_regs-time_off)) | + (3 REG2OFF(ata_cfg_regs-time_on)) | + (((pio_t1[mode] + T) / T) REG2OFF(ata_cfg_regs-time_1)) | + (((pio_t2_8[mode] + T) / T) REG2OFF(ata_cfg_regs-time_2w)); + writel(val, ata_cfg_regs-time_off); + + /* Write TIME_2R/AX/RDX/4
Re: [U-Boot] [PATCH] OMAP3: SDP3430: Fix ARM relocation support
Signed-off-by: Dirk Behme dirk.be...@googlemail.com --- Compile tested only. board/ti/sdp3430/config.mk |2 +- include/configs/omap3_sdp3430.h |6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) Index: u-boot.git/board/ti/sdp3430/config.mk === --- u-boot.git.orig/board/ti/sdp3430/config.mk +++ u-boot.git/board/ti/sdp3430/config.mk @@ -30,4 +30,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 Index: u-boot.git/include/configs/omap3_sdp3430.h === --- u-boot.git.orig/include/configs/omap3_sdp3430.h +++ u-boot.git/include/configs/omap3_sdp3430.h @@ -309,6 +309,12 @@ #define CONFIG_STACKSIZE_FIQ (4 10) /* FIQ stack */ #endif +#define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE 0x800 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) /* * SDRAM Memory Map Dirk, All 3 of your patches have the same issue. Wolfgang, sent a patch some days back (it has not yet been applied and when it does it will be in the next branch) that moves the definition of CONFIG_SYS_TEXT_BASE to the config.h header file. Regards, Sandeep ___ 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
Wolfgang, Albert, Sorry I don't know who will accept my pull request so addressing both of you. Please pull u-boot-ti/master. Regards, Sandeep The following changes since commit d0d2271f8c62e830ec65fb069b6d12dd708e3e2f: Wolfgang Denk (1): Prepare v2010.12-rc2 are available in the git repository at: git://git.denx.de/u-boot-ti.git master Dirk Behme (1): OMAP4: SDP4430: Disable CMD_NFS Enric Balletbo i Serra (1): ARMV7: OMAP3: Fix build failure for igep0030 machine Sanjeev Premi (1): omap3evm: Use GENERATED_GBL_DATA_SIZE Vaibhav Hiremath (3): AM3517:Fix for ARM Relocation support AM3517:Build FIX: undef CONFIG_CMD_NFS support AM3517:EMIF4: fix SDRAM size to 256Mb arch/arm/cpu/armv7/omap3/emif4.c |5 +++-- board/logicpd/am3517evm/config.mk |2 +- include/configs/am3517_evm.h |7 +++ include/configs/igep0030.h|1 + include/configs/omap3_evm.h |6 +- include/configs/omap4_sdp4430.h |1 + 6 files changed, 18 insertions(+), 4 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] OMAP3: SDP3430: Fix ARM relocation support
On 30.11.2010 04:25, Paulraj, Sandeep wrote: Signed-off-by: Dirk Behmedirk.be...@googlemail.com --- Compile tested only. board/ti/sdp3430/config.mk |2 +- include/configs/omap3_sdp3430.h |6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) Index: u-boot.git/board/ti/sdp3430/config.mk === --- u-boot.git.orig/board/ti/sdp3430/config.mk +++ u-boot.git/board/ti/sdp3430/config.mk @@ -30,4 +30,4 @@ # (mem base + reserved) # For use with external or internal boots. -CONFIG_SYS_TEXT_BASE = 0x80e8 +CONFIG_SYS_TEXT_BASE = 0x80008000 Index: u-boot.git/include/configs/omap3_sdp3430.h === --- u-boot.git.orig/include/configs/omap3_sdp3430.h +++ u-boot.git/include/configs/omap3_sdp3430.h @@ -309,6 +309,12 @@ #define CONFIG_STACKSIZE_FIQ (4 10) /* FIQ stack */ #endif +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#define CONFIG_SYS_INIT_RAM_ADDR0x4020f800 +#define CONFIG_SYS_INIT_RAM_SIZE0x800 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) /* * SDRAM Memory Map Dirk, All 3 of your patches have the same issue. Sorry, which issue? What's wrong with _these_ patches? Wolfgang, sent a patch some days back (it has not yet been applied and when it does it will be in the next branch) that moves the definition of CONFIG_SYS_TEXT_BASE to the config.h header file. Yes. And? I can't see a reason why not fix the breakage of some boards with a correct patch (if it's correct? see above) just because some other not yet applied patches might touch the same parts of a file. Depending on the order of applying the patches, just the merge issues have to be resolved then. Either by automatic git merge or manually by an add on patch. Do I understand correctly that you like to keep these three boards broken? Please note that your recent u-boot-ti/master pull request touches board/logicpd/am3517evm/config.mk in exactly the same way you seem to complain here about (?). Sorry if I misunderstood anything, Dirk ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 0/4] get at91rm9200ek working with ARM relocation
This patch series enables at91rm9200ek board to work with new ARM relocation. Unfortunately the board does _not_ fully work, there is one issue left I can't figure out currently. When booting from pre-initialised clock and RAM (e.g. by JTAG dongle or preloader) the relocation works. But when booting from NOR flash the board hangs just after 'relocation Offset is: 11f7f000'. I think it is the same issue with using bss before relocation but couldn't find the loacation til now. I don't know if I get it done til release of v2010.12 but like to have the current changes in. The series includes two patches already in Reinhard's u-boot-atmel/at91-next branch but the base of at91-next is outdated and they will not apply cleanly. So feel free to include them or not. Reinhard, any comments? The mentioned patches are: at91rm9200ek: add configure target for RAM boot MAKEALL: fix AT91 Beside that the 'add configure target for RAM boot' is needed for working configuration as ram-boot since nor-boot is currently broken ;) Andreas Bießmann (4): at91rm9200ek: add configure target for RAM boot MAKEALL: fix AT91 arm920t: fix linker skript for -pie linking arm920t/at91/timer: replace bss variables by gd MAKEALL| 18 +++--- arch/arm/cpu/arm920t/at91/timer.c | 29 ++--- arch/arm/cpu/arm920t/u-boot.lds|3 +++ board/atmel/at91rm9200ek/config.mk |2 -- boards.cfg |3 ++- include/configs/at91rm9200ek.h | 16 6 files changed, 38 insertions(+), 33 deletions(-) delete mode 100644 board/atmel/at91rm9200ek/config.mk -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/4] at91rm9200ek: add configure target for RAM boot
This patch also removes now unnecessary config.mk in board directory and make usage of new features in boards.cfg. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- board/atmel/at91rm9200ek/config.mk |2 -- boards.cfg |3 ++- include/configs/at91rm9200ek.h | 14 ++ 3 files changed, 16 insertions(+), 3 deletions(-) delete mode 100644 board/atmel/at91rm9200ek/config.mk diff --git a/board/atmel/at91rm9200ek/config.mk b/board/atmel/at91rm9200ek/config.mk deleted file mode 100644 index c7323fe..000 --- a/board/atmel/at91rm9200ek/config.mk +++ /dev/null @@ -1,2 +0,0 @@ -# currently only NOR flash booting is supported -CONFIG_SYS_TEXT_BASE = 0x1000 diff --git a/boards.cfg b/boards.cfg index 2209676..19ff9c5 100644 --- a/boards.cfg +++ b/boards.cfg @@ -48,7 +48,8 @@ lpc2292sodimmarm arm720t - - SMN42arm arm720t - siemenslpc2292 evb4510 arm arm720t - - s3c4510b a320evb arm arm920t - faradaya320 -at91rm9200ek arm arm920t - atmel at91 +at91rm9200ek arm arm920t at91rm9200ekatmel at91at91rm9200ek +at91rm9200ek_ram arm arm920t at91rm9200ekatmel at91at91rm9200ek:RAMBOOT eb_cpux9k2 arm arm920t - BuS at91 cmc_pu2 arm arm920t - - at91rm9200 csb637 arm arm920t - - at91rm9200 diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h index 14559f5..ba2e9d3 100644 --- a/include/configs/at91rm9200ek.h +++ b/include/configs/at91rm9200ek.h @@ -33,6 +33,20 @@ #include asm/sizes.h /* + * set some initial configurations depending on configure target + * + * at91rm9200ek_config - boot from 0x0 in NOR Flash at CS0 + * at91rm9200ek_ram_config - continue booting from 0x2010 in RAM; lowlevel + *initialisation was done by some preloader + */ +#ifdef CONFIG_RAMBOOT +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_SYS_TEXT_BASE 0x2010 +#else +#define CONFIG_SYS_TEXT_BASE 0x1000 +#endif + +/* * AT91C_XTAL_CLOCK is the frequency of external xtal in hertz * AT91C_MAIN_CLOCK is the frequency of PLLA output * AT91C_MASTER_CLOCK is the peripherial clock -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/4] MAKEALL: fix AT91
* add boards_by_soc() * remove boards already in boards.cfg from LIST_AT91 Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- MAKEALL | 18 +++--- 1 files changed, 3 insertions(+), 15 deletions(-) diff --git a/MAKEALL b/MAKEALL index 767d561..4254565 100755 --- a/MAKEALL +++ b/MAKEALL @@ -187,6 +187,7 @@ boards_by_field() } boards_by_arch() { boards_by_field 2 $@ ; } boards_by_cpu() { boards_by_field 3 $@ ; } +boards_by_soc() { boards_by_field 6 $@ ; } # ## MPC5xx Systems @@ -439,11 +440,8 @@ LIST_ARMV7= \ ## AT91 Systems # -LIST_at91=\ - afeb9260\ - at91cap9adk \ - at91rm9200dk\ - at91rm9200ek\ +LIST_at91=$(boards_by_soc at91)\ + $(boards_by_soc at91rm9200)\ at91sam9260ek \ at91sam9261ek \ at91sam9263ek \ @@ -451,19 +449,9 @@ LIST_at91=\ at91sam9g20ek \ at91sam9m10g45ek\ at91sam9rlek\ - cmc_pu2 \ CPUAT91 \ CPU9260 \ CPU9G20 \ - csb637 \ - eb_cpux9k2 \ - kb9202 \ - meesc \ - mp2usb \ - m501sk \ - otc570 \ - pm9261 \ - pm9263 \ pm9g45 \ SBC35_A9G20 \ TNY_A9260 \ -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 3/4] arm920t: fix linker skript for -pie linking
Without this patch the linker will SEGFAULT on some undefined weak symbols. Suggested-by: Sebastien Carlier sebastien.carl...@gmail.com Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- arch/arm/cpu/arm920t/u-boot.lds |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds index a6f8b56..d8b77df 100644 --- a/arch/arm/cpu/arm920t/u-boot.lds +++ b/arch/arm/cpu/arm920t/u-boot.lds @@ -43,6 +43,9 @@ SECTIONS *(.text) } + .plt : { *(.plt) } + .rel.plt : { *(.rel.plt) } + . = ALIGN(4); .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 4/4] arm920t/at91/timer: replace bss variables by gd
Reuse the gd-tbl/tbu values for timestamp/lastinc bss values in arm920t/at91/timer driver. The usage of bss values in driver before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted by the arm920t/at91/timer driver. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- arch/arm/cpu/arm920t/at91/timer.c | 29 ++--- include/configs/at91rm9200ek.h|2 ++ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/arch/arm/cpu/arm920t/at91/timer.c b/arch/arm/cpu/arm920t/at91/timer.c index 91377d4..2a7cd9b 100644 --- a/arch/arm/cpu/arm920t/at91/timer.c +++ b/arch/arm/cpu/arm920t/at91/timer.c @@ -32,17 +32,16 @@ #include common.h -#include asm/io.h -#include asm/hardware.h +#include asm/arch/io.h +#include asm/arch/hardware.h #include asm/arch/at91_tc.h #include asm/arch/at91_pmc.h +DECLARE_GLOBAL_DATA_PTR; + /* the number of clocks per CONFIG_SYS_HZ */ #define TIMER_LOAD_VAL (CONFIG_SYS_HZ_CLOCK/CONFIG_SYS_HZ) -static u32 timestamp; -static u32 lastinc; - int timer_init(void) { at91_tc_t *tc = (at91_tc_t *) AT91_TC_BASE; @@ -64,8 +63,8 @@ int timer_init(void) writel(TIMER_LOAD_VAL, tc-tc[0].rc); writel(AT91_TC_CCR_SWTRG | AT91_TC_CCR_CLKEN, tc-tc[0].ccr); - lastinc = 0; - timestamp = 0; + gd-tbu = 0; + gd-tbl = 0; return 0; } @@ -86,7 +85,7 @@ ulong get_timer(ulong base) void set_timer(ulong t) { - timestamp = t; + gd-tbu = t; } void __udelay(unsigned long usec) @@ -98,8 +97,8 @@ void reset_timer_masked(void) { /* reset time */ at91_tc_t *tc = (at91_tc_t *) AT91_TC_BASE; - lastinc = readl(tc-tc[0].cv) 0x; - timestamp = 0; + gd-tbl = readl(tc-tc[0].cv) 0x; + gd-tbu = 0; } ulong get_timer_raw(void) @@ -109,16 +108,16 @@ ulong get_timer_raw(void) now = readl(tc-tc[0].cv) 0x; - if (now = lastinc) { + if (now = gd-tbl) { /* normal mode */ - timestamp += now - lastinc; + gd-tbu += now - gd-tbl; } else { /* we have an overflow ... */ - timestamp += now + TIMER_LOAD_VAL - lastinc; + gd-tbu += now + TIMER_LOAD_VAL - gd-tbl; } - lastinc = now; + gd-tbl = now; - return timestamp; + return gd-tbu; } ulong get_timer_masked(void) diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h index ba2e9d3..57e17e9 100644 --- a/include/configs/at91rm9200ek.h +++ b/include/configs/at91rm9200ek.h @@ -71,6 +71,8 @@ #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_INITRD_TAG +#define CONFIG_AT91FAMILY + /* * Memory Configuration */ -- 1.7.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 0/7] Add Marvell New Soc Support ARMADA100
From: Prafulla WADASKAR prafu...@marvell.com This patch series adds basic ARMADA100 support, with minimal drivers (UART, MFP) support and Aspenite-DB board support for simple boot Changelog v2: 1. This patch series is in sync latest u-boot 2. config.mk removed 3. CONFIG_SYS_NS16550_IER used for serial drivers 4. mv-common.h updated for aspenite support 5. c-struct used for dram.c 6. All review feedback for v1 implemented These patches are tested on board Regards.. Prafulla . . Prafulla Wadaskar (7): arm: Add Support for Marvell ARMADA 100 Familiy SoCs. gpio: Add Multi-Function-Pin configuration driver for Marvell SoCs add Multi Function Pin configuration support for ARMADA100 Serial: ns16550: Add support for CONFIG_SYS_NS16550_IER macro Serial: Add UART support for Marvell ARMADA 100 SoCs. mv-common.h: Add support for ARMADA100 Platforms Armada100: Add Board Support for Marvell Aspenite-DB MAINTAINERS |1 + MAKEALL |1 + arch/arm/cpu/arm926ejs/armada100/Makefile | 46 + arch/arm/cpu/arm926ejs/armada100/cpu.c | 92 ++ arch/arm/cpu/arm926ejs/armada100/dram.c | 131 ++ arch/arm/cpu/arm926ejs/armada100/timer.c| 199 + arch/arm/include/asm/arch-armada100/armada100.h | 120 + arch/arm/include/asm/arch-armada100/cpu.h | 53 ++ arch/arm/include/asm/arch-armada100/mfp.h | 218 +++ board/Marvell/aspenite/Makefile | 52 ++ board/Marvell/aspenite/aspenite.c | 53 ++ boards.cfg |1 + drivers/gpio/Makefile |1 + drivers/gpio/mfp.c | 105 +++ drivers/serial/ns16550.c|4 +- drivers/serial/serial.c | 14 +- include/configs/aspenite.h | 65 +++ include/configs/mv-common.h | 65 +-- include/mfp.h | 97 ++ include/ns16550.h |4 + 20 files changed, 1298 insertions(+), 24 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/armada100/Makefile create mode 100644 arch/arm/cpu/arm926ejs/armada100/cpu.c create mode 100644 arch/arm/cpu/arm926ejs/armada100/dram.c create mode 100644 arch/arm/cpu/arm926ejs/armada100/timer.c create mode 100644 arch/arm/include/asm/arch-armada100/armada100.h create mode 100644 arch/arm/include/asm/arch-armada100/cpu.h create mode 100755 arch/arm/include/asm/arch-armada100/mfp.h create mode 100644 board/Marvell/aspenite/Makefile create mode 100644 board/Marvell/aspenite/aspenite.c create mode 100644 drivers/gpio/mfp.c create mode 100644 include/configs/aspenite.h create mode 100644 include/mfp.h ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 1/7] arm: Add Support for Marvell ARMADA 100 Familiy SoCs.
From: Prafulla WADASKAR prafu...@marvell.com ARMADA 100 Family processors are highly integrated SoCs based on Sheeva_88SV331x-v5 PJ1 cpu core. Ref: http://www.marvell.com/products/processors/applications/armada_100 SoC versions Supported: 1) ARMADA168/88AP168(Aspen P) 2) ARMADA166/88AP166(Aspen M) 3) ARMADA162/88AP162(Aspen L) Contributors: Eric Miao eric.y.m...@marvell.com Lei Wen lei...@marvell.com Mahavir Jain mj...@marvell.com Signed-off-by: Mahavir Jain mj...@marvell.com Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- Change log V2: 1. C-struct used for dram.c 2. lib declaration changed from .a to .o 3. Implemented review feedback for v1 arch/arm/cpu/arm926ejs/armada100/Makefile | 46 ++ arch/arm/cpu/arm926ejs/armada100/cpu.c | 92 +++ arch/arm/cpu/arm926ejs/armada100/dram.c | 131 +++ arch/arm/cpu/arm926ejs/armada100/timer.c| 199 +++ arch/arm/include/asm/arch-armada100/armada100.h | 120 ++ arch/arm/include/asm/arch-armada100/cpu.h | 53 ++ 6 files changed, 641 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/armada100/Makefile create mode 100644 arch/arm/cpu/arm926ejs/armada100/cpu.c create mode 100644 arch/arm/cpu/arm926ejs/armada100/dram.c create mode 100644 arch/arm/cpu/arm926ejs/armada100/timer.c create mode 100644 arch/arm/include/asm/arch-armada100/armada100.h create mode 100644 arch/arm/include/asm/arch-armada100/cpu.h diff --git a/arch/arm/cpu/arm926ejs/armada100/Makefile b/arch/arm/cpu/arm926ejs/armada100/Makefile new file mode 100644 index 000..76bd06d --- /dev/null +++ b/arch/arm/cpu/arm926ejs/armada100/Makefile @@ -0,0 +1,46 @@ +# +# (C) Copyright 2010 +# Marvell Semiconductor www.marvell.com +# Written-by: Prafulla Wadaskar prafu...@marvell.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(SOC).o + +COBJS-y= cpu.o timer.o dram.o + +SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) + +all: $(obj).depend $(LIB) + +$(LIB):$(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/arch/arm/cpu/arm926ejs/armada100/cpu.c b/arch/arm/cpu/arm926ejs/armada100/cpu.c new file mode 100644 index 000..62aa175 --- /dev/null +++ b/arch/arm/cpu/arm926ejs/armada100/cpu.c @@ -0,0 +1,92 @@ +/* + * (C) Copyright 2010 + * Marvell Semiconductor www.marvell.com + * Written-by: Prafulla Wadaskar prafu...@marvell.com + * Contributor: Mahavir Jain mj...@marvell.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., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include common.h +#include asm/arch/armada100.h +#include asm/io.h + +#define UARTCLK14745KHZ(APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(1)) +#define SET_MRVL_ID(18) +#define L2C_RAM_SEL(14) + +int arch_cpu_init(void) +{ + u32 val; + struct armd1cpu_registers *cpuregs = + (struct armd1cpu_registers *) ARMD1_CPU_BASE; + + struct armd1apb1_registers *apb1clkres = + (struct armd1apb1_registers *) ARMD1_APBC1_BASE; + + struct armd1mpmu_registers *mpmu = + (struct armd1mpmu_registers *) ARMD1_MPMU_BASE; +
[U-Boot] [PATCH v2 2/7] gpio: Add Multi-Function-Pin configuration driver for Marvell SoCs
Most of the Marvell SoCs has Multi Function Pin (MFP) configuration registers For ex. ARMADA100. These registers are programmed to expose the specific functionality associated with respective SoC Pins This driver provides configuration APIs, using them, configuration need to be done in board specific code for ex- following code configures MFPs 107 and 108 for UART_TX/RX functionality int board_early_init_f(void) { u32 mfp_cfg[] = { /* Console on UART1 */ MFP107_UART1_RXD, MFP108_UART1_TXD, MFP_EOC /*End of configureation*/ }; /* configure MFP's */ mfp_config(mfp_cfg); return 0; } Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- drivers/gpio/Makefile |1 + drivers/gpio/mfp.c| 105 + include/mfp.h | 97 + 3 files changed, 203 insertions(+), 0 deletions(-) create mode 100644 drivers/gpio/mfp.c create mode 100644 include/mfp.h diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile index 398024c..f6903d5 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -27,6 +27,7 @@ LIB := $(obj)libgpio.o COBJS-$(CONFIG_AT91_GPIO) += at91_gpio.o COBJS-$(CONFIG_KIRKWOOD_GPIO) += kw_gpio.o +COBJS-$(CONFIG_MFP)+= mfp.o COBJS-$(CONFIG_MXC_GPIO) += mxc_gpio.o COBJS-$(CONFIG_PCA953X)+= pca953x.o COBJS-$(CONFIG_S5P)+= s5p_gpio.o diff --git a/drivers/gpio/mfp.c b/drivers/gpio/mfp.c new file mode 100644 index 000..a0278db --- /dev/null +++ b/drivers/gpio/mfp.c @@ -0,0 +1,105 @@ +/* + * (C) Copyright 2010 + * Marvell Semiconductor www.marvell.com + * Written-by: Prafulla Wadaskar prafu...@marvell.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., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include common.h +#include asm/io.h +#include mfp.h +#include asm/arch/mfp.h +#ifdef CONFIG_ARMADA100 +#include asm/arch/armada100.h +#define MFPR_BASE ARMD1_MFPR_BASE; +#else +#error Unsupported SoC... +#endif + +/* + * mfp_config + * + * On most of Marvell SoCs (ex. ARMADA100) there is Multi-Funtion-Pin + * configuration registers to configure each GPIO/Function pin on the + * SoC. + * + * This function reads the array of values for + * MFPR_X registers and programms them into respective + * Multi-Function Pin registers. + * It supports - Alternate Function Selection programming. + * + * Whereas, + * The Configureation value is constructed using ARMD_MFP() + * array consists of 32bit values as- + * Bits 31-16 : Mfp instance number (i.e. MFPR no. to be programmed) + * Bits 15-13 : PULL_UP/PULL_DOWN selection + * Bits 11:10 : Pin Driver strength + * Bits 6-4: Edge detection configuration + * Bits 2-0: Alternate Function Selection + * + * For more details please refer respective Product Software Manual + */ +void mfp_config(u32 *mfp_cfgs) +{ + u32 *p_mfpr = NULL; + u32 val, cfg_val, mfpr_no; + + do { + cfg_val = *mfp_cfgs++; + /* exit if End of configuration table detected */ + if (cfg_val == MFP_EOC) + break; + /* abstract mfpr tobe programmed from configuration value */ + mfpr_no = (cfg_val MFP_PINNO_MASK) 16; + BUG_ON(mfpr_no = MFP_PIN_MAX); + + /* the offset address are divided in three regions and not +* consecutive, this corrects the same (Ref: Specs: A1.1) */ + p_mfpr = (u32 *)MFPR_BASE; + if ( mfpr_no 37) + p_mfpr += (0x004c / 4) + mfpr_no; + else if ( mfpr_no = 56) + p_mfpr += (0x00e0 / 4) + (mfpr_no - 56); + else + p_mfpr += (mfpr_no - 37); + /*p_mfpr contains address of register to be programmed */ + + val = readl(p_mfpr) ~MFP_AF_MASK; + /* Abstract and program Afternate-Function Selection from cfg_val */ + if (cfg_val MFP_CFG_AF) + val |= cfg_val MFP_AF_MASK; + /* Abstract and program Edge configuration from
[U-Boot] [PATCH v2 3/7] add Multi Function Pin configuration support for ARMADA100
This patch adds the support MFP support for Marvell ARMADA100 SoCs Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- arch/arm/include/asm/arch-armada100/mfp.h | 218 + 1 files changed, 218 insertions(+), 0 deletions(-) create mode 100755 arch/arm/include/asm/arch-armada100/mfp.h diff --git a/arch/arm/include/asm/arch-armada100/mfp.h b/arch/arm/include/asm/arch-armada100/mfp.h new file mode 100755 index 000..eddcef7 --- /dev/null +++ b/arch/arm/include/asm/arch-armada100/mfp.h @@ -0,0 +1,218 @@ +/* + * Based on linux/arch/arm/mach-mpp/include/mfp-pxa168.h + * (C) Copyright 2007 + * Marvell Semiconductor www.marvell.com + * 2007-08-21: eric miao eric.m...@marvell.com + * + * (C) Copyright 2010 + * Marvell Semiconductor www.marvell.com + * Written-by: Prafulla Wadaskar prafu...@marvell.com + * Contributor: Mahavir Jain mj...@marvell.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., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#ifndef __ARMADA100_MFP_H +#define __ARMADA100_MFP_H + +/* By default Pin Drive is set to medium */ +#define MFPD(x)MFP(x) | MFP_DRIVE(MEDIUM) + +/* GPIOs */ +#defineGPIOAF(x) (if (x = 15) ? 5 : \ +if (x == 16) ? 0 : \ +if (x == 17) ? 5 : \ +if (x == 18) ? 0 : \ +if (x == 19) ? 5 : \ +if (x == 20) ? 0 : \ +if (x = 25) ? 5 : \ +if (x == 26) ? 0 : \ +if (x == 33) ? 5 : 0) + +#define MFP_GPIO(x)MFPD(x) | MFP_AF(GPIOAF(x)) + +/* UART2 */ +#define MFP47_UART2_RXDMFPD(47) | MFP_AF(6) +#define MFP48_UART2_TXDMFPD(48) | MFP_AF(6) +#define MFP88_UART2_RXDMFPD(88) | MFP_AF(2) +#define MFP89_UART2_TXDMFPD(89) | MFP_AF(2) + +/* UART3 */ +#define GPIO8_UART3_RXD MFPD(8) | MFP_AF(2) +#define GPIO9_UART3_TXD MFPD(9) | MFP_AF(2) + +/* MFU */ +#define MFP86_TX_CLK MFPD(86) | MFP_AF(5) +#define MFP87_TX_ENMFPD(87) | MFP_AF(5) +#define MFP88_TX_DQ3 MFPD(88) | MFP_AF(5) +#define MFP89_TX_DQ2 MFPD(89) | MFP_AF(5) +#define MFP90_TX_DQ1 MFPD(90) | MFP_AF(5) +#define MFP91_TX_DQ0 MFPD(91) | MFP_AF(5) +#define MFP92_MII_CRS MFPD(92) | MFP_AF(5) +#define MFP93_MII_COL MFPD(93) | MFP_AF(5) +#define MFP94_RX_CLK MFPD(94) | MFP_AF(5) +#define MFP95_RX_ERMFPD(95) | MFP_AF(5) +#define MFP96_RX_DQ3 MFPD(96) | MFP_AF(5) +#define MFP97_RX_DQ2 MFPD(97) | MFP_AF(5) +#define MFP98_RX_DQ1 MFPD(98) | MFP_AF(5) +#define MFP99_RX_DQ0 MFPD(99) | MFP_AF(5) +#define MFP100_MII_MDC MFPD(100) | MFP_AF(5) +#define MFP101_MII_MDIOMFPD(101) | MFP_AF(5) +#define MFP103_RX_DV MFPD(103) | MFP_AF(5) + +/* SSP2*/ +#define MFP107_SPI_NOR_RXD MFPD(107) | MFP_AF(4) +#define MFP108_SPI_NOR_TXD MFPD(108) | MFP_AF(4) +#define MFP109_SPI_NOR_SYSCLK MFPD(109) | MFP_AF(4) +#define MFP111_SPI_NOR_CLK MFPD(111) | MFP_AF(4) + +/* DFI */ +#define MFP0_DFI_D15 MFPD(0) | MFP_AF(0) +#define MFP1_DFI_D14 MFPD(1) | MFP_AF(0) +#define MFP2_DFI_D13 MFPD(2) | MFP_AF(0) +#define MFP3_DFI_D12 MFPD(3) | MFP_AF(0) +#define MFP4_DFI_D11 MFPD(4) | MFP_AF(0) +#define MFP5_DFI_D10 MFPD(5) | MFP_AF(0) +#define MFP6_DFI_D9MFPD(6) | MFP_AF(0) +#define MFP7_DFI_D8MFPD(7) | MFP_AF(0) +#define MFP8_DFI_D7MFPD(8) | MFP_AF(0) +#define MFP9_DFI_D6MFPD(9) | MFP_AF(0) +#define MFP10_DFI_D5 MFPD(10) | MFP_AF(0) +#define MFP11_DFI_D4 MFPD(11) | MFP_AF(0) +#define MFP12_DFI_D3 MFPD(12) | MFP_AF(0) +#define MFP13_DFI_D2 MFPD(13) | MFP_AF(0) +#define MFP14_DFI_D1 MFPD(14) | MFP_AF(0) +#define MFP15_DFI_D0 MFPD(15) | MFP_AF(0) + +#define MFP30_DFI_ADDR0MFPD(30) | MFP_AF(0) +#define MFP31_DFI_ADDR1MFPD(31) | MFP_AF(0)
[U-Boot] [PATCH v2 4/7] Serial: ns16550: Add support for CONFIG_SYS_NS16550_IER macro
On some processors this ier register configuration is different for ex. Marvell Armada100 This patch introduce CONFIG_SYS_NS16550_IER macro support to unconditionally initialize this register. Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- drivers/serial/ns16550.c |4 ++-- include/ns16550.h|4 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 32f24de..8dcfcb9 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -26,7 +26,7 @@ void NS16550_init (NS16550_t com_port, int baud_divisor) { - serial_out(0x00, com_port-ier); + serial_out(CONFIG_SYS_NS16550_IER, com_port-ier); #if defined(CONFIG_OMAP) !defined(CONFIG_OMAP3_ZOOM2) serial_out(0x7, com_port-mdr1); /* mode select reset TL16C750*/ #endif @@ -52,7 +52,7 @@ void NS16550_init (NS16550_t com_port, int baud_divisor) #ifndef CONFIG_NS16550_MIN_FUNCTIONS void NS16550_reinit (NS16550_t com_port, int baud_divisor) { - serial_out(0x00, com_port-ier); + serial_out(CONFIG_SYS_NS16550_IER, com_port-ier); serial_out(UART_LCR_BKSE | UART_LCRVAL, com_port-lcr); serial_out(0, com_port-dll); serial_out(0, com_port-dlm); diff --git a/include/ns16550.h b/include/ns16550.h index 9ea81e9..e9cb449 100644 --- a/include/ns16550.h +++ b/include/ns16550.h @@ -33,6 +33,10 @@ unsigned char postpad_##x[-CONFIG_SYS_NS16550_REG_SIZE - 1]; #endif +#ifndef CONFIG_SYS_NS16550_IER +#define CONFIG_SYS_NS16550_IER 0x00 +#endif /* CONFIG_SYS_NS16550_IER */ + struct NS16550 { UART_REG(rbr); /* 0 */ UART_REG(ier); /* 1 */ -- 1.6.0.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 5/7] Serial: Add UART support for Marvell ARMADA 100 SoCs.
ARMADA 100 SoCs has NS16550 compatible UART peripheral This patch enables the same for ARMADA100 platforms Signed-off-by: Mahavir Jain mj...@marvell.com Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- drivers/serial/serial.c | 14 -- 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 1073ac0..c6b403b 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -23,15 +23,17 @@ #include common.h -#include ns16550.h -#ifdef CONFIG_NS87308 -#include ns87308.h -#endif #ifdef CONFIG_KIRKWOOD #include asm/arch/kirkwood.h -#endif -#ifdef CONFIG_ORION5X +#elif defined (CONFIG_ORION5X) #include asm/arch/orion5x.h +#elif defined (CONFIG_ARMADA100) +#include asm/arch/armada100.h +#endif + +#include ns16550.h +#ifdef CONFIG_NS87308 +#include ns87308.h #endif #if defined (CONFIG_SERIAL_MULTI) -- 1.6.0.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 7/7] Armada100: Add Board Support for Marvell Aspenite-DB
From: Prafulla WADASKAR prafu...@marvell.com Aspenite is a Development Board for ASPEN/ARMADA168(88AP168) with * Processor upto 1.2GHz * Parallel 1Gb x8 DDR2-1066 MHz * 16 Mb x16 NOR, 4Gb x8 SLC NAND, footprint for SPI NOR * Footprints for eMMC/eSD NAND MMC x8 card * 4-in-1 card reader (xD, MMC/SD/MS Pro), CF True IDE socket * SEAF memory board, subset of PISMO2 With Peripherals: * 4.3â WVGA 24-bit LCD * Audio codecs (AC97 I2S), TSI * VGA camera * Video in via 3 RCA jacks, and HDMI type C out * Marvell 88W8688 802.11bg/BT module * GPS RF IC * Dual analog mics speakers, headset jack, LED, ambient light sensor * USB2.0 HS host (A), OTG (micro AB) * FE PHY, PCIE Mini Card slot * GPIO, GPIO expander with DIP switches for easier selection UART serial over USB, CIR This patch adds basic board support with DRAM and UART functionality The patch is tested for boot from DRAM using XDB Signed-off-by: Mahavir Jain mj...@marvell.com Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- Change log for v2: used mv-common.h defined CONFIG_SYS_NS16550_IER macro in Soc heder file removed config.mk MAINTAINERS |1 + MAKEALL |1 + board/Marvell/aspenite/Makefile | 52 + board/Marvell/aspenite/aspenite.c | 53 ++ boards.cfg|1 + include/configs/aspenite.h| 65 + 6 files changed, 173 insertions(+), 0 deletions(-) create mode 100644 board/Marvell/aspenite/Makefile create mode 100644 board/Marvell/aspenite/aspenite.c create mode 100644 include/configs/aspenite.h diff --git a/MAINTAINERS b/MAINTAINERS index 9bf52fa..66f8585 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -838,6 +838,7 @@ Matt Waddel matt.wad...@linaro.org Prafulla Wadaskar prafu...@marvell.com + aspeniteARM926EJS (ARMADA100 88AP168 SoC) mv88f6281gtw_ge ARM926EJS (Kirkwood SoC) rd6281a ARM926EJS (Kirkwood SoC) sheevaplug ARM926EJS (Kirkwood SoC) diff --git a/MAKEALL b/MAKEALL index 767d561..e83c9d7 100755 --- a/MAKEALL +++ b/MAKEALL @@ -326,6 +326,7 @@ LIST_ARM9= \ ap926ejs\ ap946es \ ap966 \ + aspenite\ cp920t \ cp922_XA10 \ cp926ejs\ diff --git a/board/Marvell/aspenite/Makefile b/board/Marvell/aspenite/Makefile new file mode 100644 index 000..cb1b65f --- /dev/null +++ b/board/Marvell/aspenite/Makefile @@ -0,0 +1,52 @@ +# +# (C) Copyright 2010 +# Marvell Semiconductor www.marvell.com +# Written-by: Prafulla Wadaskar prafu...@marvell.com +# Contributor: Mahavir Jain mj...@marvell.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := aspenite.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(LIB):$(obj).depend $(OBJS) $(SOBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/Marvell/aspenite/aspenite.c b/board/Marvell/aspenite/aspenite.c new file mode 100644 index 000..e7bc3eb --- /dev/null +++ b/board/Marvell/aspenite/aspenite.c @@ -0,0 +1,53 @@ +/* + * (C) Copyright 2010 + * Marvell Semiconductor www.marvell.com + * Written-by: Prafulla Wadaskar prafu...@marvell.com + * Contributor: Mahavir Jain mj...@marvell.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 +
[U-Boot] [PATCH v2 6/7] mv-common.h: Add support for ARMADA100 Platforms
This patch adds commonly used macros for ARMADA100 based baords, Also some code reshuffled and updated for typos and comments Signed-off-by: Prafulla Wadaskar prafu...@marvell.com --- include/configs/mv-common.h | 65 -- 1 files changed, 49 insertions(+), 16 deletions(-) diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h index de0121e..423cc9f 100644 --- a/include/configs/mv-common.h +++ b/include/configs/mv-common.h @@ -39,6 +39,7 @@ #define CONFIG_MARVELL 1 #define CONFIG_ARM926EJS 1 /* Basic Architecture */ +/* Kirkwood Platform Common Definations */ #if defined(CONFIG_KIRKWOOD) #define CONFIG_MD5 /* get_random_hex on krikwood needs MD5 support */ #define CONFIG_KIRKWOOD_EGIGA_INIT /* Enable GbePort0/1 for kernel */ @@ -54,27 +55,45 @@ #defineCONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg #endif /* CONFIG_SYS_KWD_CONFIG */ -/* - * CONFIG_SYS_TEXT_BASE can be defined in board specific header file, if needed - */ -#ifndef CONFIG_SYS_TEXT_BASE -#defineCONFIG_SYS_TEXT_BASE0x0060 -#endif /* CONFIG_SYS_TEXT_BASE */ +/* Kirkwood has 2k of Security SRAM, use it for SP */ +#define CONFIG_SYS_INIT_SP_ADDR0xC8012000 +#define CONFIG_NR_DRAM_BANKS_MAX 2 #define CONFIG_I2C_MVTWSI_BASE KW_TWSI_BASE -#define MV_UART0_BASE KW_UART0_BASE +#define MV_UART_CONSOLE_BASE KW_UART0_BASE #define MV_SATA_BASE KW_SATA_BASE #define MV_SATA_PORT0_OFFSET KW_SATA_PORT0_OFFSET #define MV_SATA_PORT1_OFFSET KW_SATA_PORT1_OFFSET +/* ARMADA100 Platform Common Definations */ +#elif defined (CONFIG_ARMADA100) + +#define CONFIG_SYS_TCLK(14745600) /* NS16550 clk config */ +#define CONFIG_SYS_HZ_CLOCK(325) /* Timer Freq. 3.25MHZ */ +#define CONFIG_MFP /* Enable MFP driver */ +#define MV_UART_CONSOLE_BASE ARMD1_UART1_BASE +#define CONFIG_SYS_NS16550_IER (1 6)/* Bit 6 in UART_IER register + represents UART Unit Enable */ +/* + * There is no internal RAM in ARMADA100, using DRAM + * TBD: dcache to be used for this + */ +#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_TEXT_BASE - 0x0020) +#define CONFIG_NR_DRAM_BANKS_MAX 2 + #else -#error Unsupported SoC +#error Unsupported SoC Platform... #endif +/* + * Custom CONFIG_SYS_TEXT_BASE can be done in board.h + */ +#ifndef CONFIG_SYS_TEXT_BASE +#defineCONFIG_SYS_TEXT_BASE0x0060 +#endif /* CONFIG_SYS_TEXT_BASE */ + /* additions for new ARM relocation support */ -#define CONFIG_SYS_SDRAM_BASE 0x -/* Kirkwood has 2k of Security SRAM, use it for SP */ -#define CONFIG_SYS_INIT_SP_ADDR0xC8012000 +#define CONFIG_SYS_SDRAM_BASE 0x /* * CLKs configurations @@ -88,7 +107,7 @@ #define CONFIG_SYS_NS16550_SERIAL #define CONFIG_SYS_NS16550_REG_SIZE(-4) #define CONFIG_SYS_NS16550_CLK CONFIG_SYS_TCLK -#define CONFIG_SYS_NS16550_COM1MV_UART0_BASE +#define CONFIG_SYS_NS16550_COM1MV_UART_CONSOLE_BASE /* * Serial Port configuration @@ -155,26 +174,38 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_CMDLINE_EDITING #define CONFIG_CONSOLE_INFO_QUIET /* some code reduction */ +#ifndef CONFIG_ARMADA100 /* will be removed latter */ #define CONFIG_ARCH_CPU_INIT /* call arch_cpu_init() */ #define CONFIG_ARCH_MISC_INIT /* call arch_misc_init() */ +#endif /* CONFIG_ARMADA100 */ #define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */ #define CONFIG_DISPLAY_CPUINFO /* Display cpu info */ -#define CONFIG_NR_DRAM_BANKS 4 #define CONFIG_STACKSIZE 0x0010 /* regular stack- 1M */ #define CONFIG_SYS_LOAD_ADDR 0x0080 /* default load adr- 8M */ -#define CONFIG_SYS_MEMTEST_START 0x0040/* 4M */ -#define CONFIG_SYS_MEMTEST_END 0x007f /*(_8M -1) */ +#define CONFIG_SYS_MEMTEST_START 0x0080/* 8M */ +#define CONFIG_SYS_MEMTEST_END 0x00ff /*(_16M -1) */ #define CONFIG_SYS_RESET_ADDRESS 0x/* Rst Vector Adr */ #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ /* + * DRAM Banks configuration, Custom config can be done in board.h + */ +#ifndef CONFIG_NR_DRAM_BANKS +#define CONFIG_NR_DRAM_BANKS CONFIG_NR_DRAM_BANKS_MAX +#else +#if (CONFIG_NR_DRAM_BANKS CONFIG_NR_DRAM_BANKS_MAX) +#error CONFIG_NR_DRAM_BANKS Configurated more than available +#endif +#endif /* CONFIG_NR_DRAM_BANKS */ + +/* * Ethernet Driver configuration */ #ifdef CONFIG_CMD_NET #define CONFIG_CMD_MII #define CONFIG_NETCONSOLE /* include NetConsole support */ #define CONFIG_NET_MULTI /* specify more that one ports available */ -#defineCONFIG_MII /* expose smi ove miiphy interface */ +#define CONFIG_MII /* expose smi ove miiphy