Re: [U-Boot] How to support Page Mode Flash Memory Device?
Dear Dave, I have checked the datasheet of the CPU. It did support the Page Read Mode. I would find the way to make it possible. BTW, i'm very appreciate of your responses. Best Regards, Vincent Cheng > Subject: RE: [U-Boot] How to support Page Mode Flash Memory Device? > Date: Tue, 3 Aug 2010 14:35:45 +0800 > From: r63...@freescale.com > To: d...@ovro.caltech.edu; whchan...@hotmail.com > CC: u-boot@lists.denx.de > > >There is nothing to 'implement'. Page mode flash has a > >timing parameter indicating the time to the first read, > >and then the time for subsequent reads within a page > >to return. > > > >If you are interfacing to this flash using a processor > >local bus controller, then you generally only have one > >read timing parameter you can configure. In that case, > >you would have to configure the local bus controller > >read timing of the processor to the flash worst-case > >value, i.e., the timing for the read of the first word > >in a page. > > The local bus controller of your processor have to support the page mode > for NOR Flash. > IIRC, The GPCM of PQx doesn't support such feature right now. > > >If you are interfacing to the flash using an FPGA, then > >you can exploit this feature. For example, I use this > >feature to get optimal read timing from a FPGA configuration > >controller. > > It is easy to control the timing for FPGA. > > Thanks, Dave > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Please pull u-boot-samsung/master
Please pull u-boot-samsung/master. Thanks. The following changes since commit 2271d3ddccfbd4a7640121669ff9b013b1fea361: Minkyu Kang (1): Merge branch 'master' of git://git.denx.de/u-boot are available in the git repository at: git://git.denx.de/u-boot-samsung master Minkyu Kang (3): SAMSUNG: serial: remove compiler warnings S5P: support mmc driver s5p_goni: enable mmc0 arch/arm/include/asm/arch-s5pc1xx/cpu.h |2 + arch/arm/include/asm/arch-s5pc1xx/mmc.h | 71 + board/samsung/goni/goni.c | 37 +++ drivers/mmc/Makefile|1 + drivers/mmc/s5p_mmc.c | 478 +++ drivers/serial/serial_s5p.c |4 +- include/configs/s5p_goni.h |6 + 7 files changed, 597 insertions(+), 2 deletions(-) create mode 100644 arch/arm/include/asm/arch-s5pc1xx/mmc.h create mode 100644 drivers/mmc/s5p_mmc.c ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ppc4xx: Fix/Update katmai board header
This patch has the following fixes/changes: - Set 'kernel_addr' and 'ramdisk_addr' to correct values and add 'fdt_addr' environment variable - Remove 'kozio' environment variable - Remove environmant variables to boot ancient arch/ppc Linux kernels - Remove CONFIG_SYS_BOOTMAPSZ definition. It's already defined to the same value in amcc-common.h Signed-off-by: Stefan Roese --- include/configs/katmai.h | 14 +++--- 1 files changed, 3 insertions(+), 11 deletions(-) diff --git a/include/configs/katmai.h b/include/configs/katmai.h index 76e9a76..2a7ab8d 100644 --- a/include/configs/katmai.h +++ b/include/configs/katmai.h @@ -53,13 +53,6 @@ #define CONFIG_HOSTNAMEkatmai #include "amcc-common.h" -/* - * For booting 256K-paged Linux we should have 16MB of memory - * for Linux initial memory map - */ -#undef CONFIG_SYS_BOOTMAPSZ -#define CONFIG_SYS_BOOTMAPSZ (16 << 20) - #define CONFIG_BOARD_EARLY_INIT_F 1/* Call board_pre_init */ #undef CONFIG_SHOW_BOOT_PROGRESS @@ -188,11 +181,10 @@ #defineCONFIG_EXTRA_ENV_SETTINGS \ CONFIG_AMCC_DEF_ENV \ CONFIG_AMCC_DEF_ENV_POWERPC \ - CONFIG_AMCC_DEF_ENV_PPC_OLD \ CONFIG_AMCC_DEF_ENV_NOR_UPD \ - "kernel_addr=fff1\0"\ - "ramdisk_addr=fff2\0" \ - "kozio=bootm ffc6\0"\ + "kernel_addr=ff00\0"\ + "fdt_addr=ff1e\0" \ + "ramdisk_addr=ff20\0" \ "pciconfighost=1\0" \ "pcie_mode=RP:RP:RP\0" \ "" -- 1.7.2.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC][PATCH v2 02/19] relocation: fixup cmdtable
fixup_cmdtable() did all work for fixing up the cmdtable, if CONFIG_RELOC_FIXUP_WORKS is not defined. Signed-off-by: Heiko Schocher --- - changes since v1 add comment from Peter Tyser - as this code is also "copied" in avr32, m68k and mips plattforms, use this common function fixup_cmdtable() on this architectures too. I couldn;t test this, so please test and report arch/avr32/lib/board.c | 25 - arch/m68k/lib/board.c | 27 --- arch/mips/lib/board.c | 28 arch/sparc/lib/board.c | 28 common/command.c | 37 + include/command.h |3 +++ 6 files changed, 56 insertions(+), 92 deletions(-) diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c index 254aecf..48829cf 100644 --- a/arch/avr32/lib/board.c +++ b/arch/avr32/lib/board.c @@ -269,30 +269,13 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) monitor_flash_len = _edata - _text; +#if !defined(CONFIG_RELOC_FIXUP_WORKS) /* * We have to relocate the command table manually */ - for (cmdtp = &__u_boot_cmd_start; -cmdtp != &__u_boot_cmd_end; cmdtp++) { - unsigned long addr; - - addr = (unsigned long)cmdtp->cmd + gd->reloc_off; - cmdtp->cmd = (typeof(cmdtp->cmd))addr; - - addr = (unsigned long)cmdtp->name + gd->reloc_off; - cmdtp->name = (typeof(cmdtp->name))addr; - - if (cmdtp->usage) { - addr = (unsigned long)cmdtp->usage + gd->reloc_off; - cmdtp->usage = (typeof(cmdtp->usage))addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (unsigned long)cmdtp->help + gd->reloc_off; - cmdtp->help = (typeof(cmdtp->help))addr; - } -#endif - } + fixup_cmdtable(&__u_boot_cmd_start, + (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); +#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */ /* there are some other pointer constants we must deal with */ #ifndef CONFIG_ENV_IS_NOWHERE diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index 732023d..9909f4c 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -433,33 +433,14 @@ void board_init_r (gd_t *id, ulong dest_addr) monitor_flash_len = (ulong)&__init_end - dest_addr; +#if !defined(CONFIG_RELOC_FIXUP_WORKS) /* * We have to relocate the command table manually */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { - ulong addr; - addr = (ulong) (cmdtp->cmd) + gd->reloc_off; -#if 0 - printf ("Command \"%s\": 0x%08lx => 0x%08lx\n", - cmdtp->name, (ulong) (cmdtp->cmd), addr); -#endif - cmdtp->cmd = - (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr; + fixup_cmdtable(&__u_boot_cmd_start, + (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); +#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */ - addr = (ulong)(cmdtp->name) + gd->reloc_off; - cmdtp->name = (char *)addr; - - if (cmdtp->usage) { - addr = (ulong)(cmdtp->usage) + gd->reloc_off; - cmdtp->usage = (char *)addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (ulong)(cmdtp->help) + gd->reloc_off; - cmdtp->help = (char *)addr; - } -#endif - } /* there are some other pointer constants we must deal with */ #ifndef CONFIG_ENV_IS_NOWHERE env_name_spec += gd->reloc_off; diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c index b2d113e..5cb1a49 100644 --- a/arch/mips/lib/board.c +++ b/arch/mips/lib/board.c @@ -304,34 +304,14 @@ void board_init_r (gd_t *id, ulong dest_addr) monitor_flash_len = (ulong)&uboot_end_data - dest_addr; +#if !defined(CONFIG_RELOC_FIXUP_WORKS) /* * We have to relocate the command table manually */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { - ulong addr; + fixup_cmdtable(&__u_boot_cmd_start, + (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); +#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */ - addr = (ulong) (cmdtp->cmd) + gd->reloc_off; -#if 0 - printf ("Command \"%s\": 0x%08lx => 0x%08lx\n", - cmdtp->name, (ulong) (cmdtp->cmd), addr); -#endif - cmdtp->cmd = - (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr; - - addr = (ulong)(cmdtp->name) + gd->reloc_off; - cmdtp->name = (char *)addr; - -
[U-Boot] [RFC][PATCH v2 08/19] i2c: fix command usage help
Signed-off-by: Heiko Schocher --- - changes since v1 added comment from Peter Tyser - simplified this patch as cmd_usage() returns 1 common/cmd_i2c.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c index a1a84a1..48de54b 100644 --- a/common/cmd_i2c.c +++ b/common/cmd_i2c.c @@ -1297,6 +1297,9 @@ static int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { cmd_tbl_t *c; + if (argc < 2) + return cmd_usage(cmdtp); + /* Strip off leading 'i2c' command argument */ argc--; argv++; -- 1.6.2.5 -- 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] [RFC][PATCH v2 14/19] nand_fsl_nfc: get rid of local var
If we have -fPIC enabled, this var leads in one entry in the GOT. The result of this is that the image size is > 0x800. So make it a "static const" and this brings the size again < 0x800 Signed-off-by: Heiko Schocher Acked-by: Scott Wood --- - changes since v1 add comment from Scott Wood: - make the var nfc static const nand_spl/nand_boot_fsl_nfc.c |6 +- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/nand_spl/nand_boot_fsl_nfc.c b/nand_spl/nand_boot_fsl_nfc.c index 9720f6a..50d6ea9 100644 --- a/nand_spl/nand_boot_fsl_nfc.c +++ b/nand_spl/nand_boot_fsl_nfc.c @@ -34,7 +34,7 @@ #include #include -struct fsl_nfc_regs *nfc; +static struct fsl_nfc_regs *const nfc = (void *)NFC_BASE_ADDR; static void nfc_wait_ready(void) { @@ -228,8 +228,6 @@ static int nand_load(unsigned int from, unsigned int size, unsigned char *buf) unsigned int maxpages = CONFIG_SYS_NAND_SIZE / CONFIG_SYS_NAND_PAGE_SIZE; - nfc = (void *)NFC_BASE_ADDR; - nfc_nand_init(); /* Convert to page number */ @@ -279,8 +277,6 @@ void nand_boot(void) { __attribute__((noreturn)) void (*uboot)(void); - nfc = (void *)NFC_BASE_ADDR; - /* * CONFIG_SYS_NAND_U_BOOT_OFFS and CONFIG_SYS_NAND_U_BOOT_SIZE must * be aligned to full pages -- 1.6.2.5 -- 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] [RFC][PATCH v2 17/19] arm cp15: setup mmu and enable dcache
This has been tested on at91sam9263 and STN8815. Again, I didn't check if it has bad effects on non-arm926 cores. Initially I had a "done" bit to only set up page tables at the beginning. However, since the aligmnent requirement was for the whole object file, this extra integer tool 16kB in BSS, so I chose to remove it. Also, note not all boards use PHYS_SDRAM, but it looks like it's the most used name (more than CONFIG_SYS_DRAM_BASE for example). rebased for full arm relocation from Heiko Schocher Signed-off-by: Alessandro Rubini Signed-off-by: Heiko Schocher --- - changes since v1: - add possibilty to use dcache in write_through mode, as Nick Thompson suggested. - use the ram setup info in bd_t to setup the TLB - added my Signed-off-by upon consultation with Alessandro arch/arm/lib/cache-cp15.c | 51 + 1 files changed, 51 insertions(+), 0 deletions(-) diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c index 62ed54f..5cbfe42 100644 --- a/arch/arm/lib/cache-cp15.c +++ b/arch/arm/lib/cache-cp15.c @@ -25,6 +25,15 @@ #include #if !(defined(CONFIG_SYS_NO_ICACHE) && defined(CONFIG_SYS_NO_DCACHE)) + +#if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH) +#define CACHE_SETUP0x1a +#else +#define CACHE_SETUP0x1e +#endif + +DECLARE_GLOBAL_DATA_PTR; + static void cp_delay (void) { volatile int i; @@ -32,6 +41,40 @@ static void cp_delay (void) /* copro seems to need some delay between reading and writing */ for (i = 0; i < 100; i++) nop(); + asm volatile("" : : : "memory"); +} + +/* to activate the MMU we need to set up virtual memory: use 1M areas in bss */ +static inline void mmu_setup(void) +{ + static u32 __attribute__((aligned(16384))) page_table[4096]; + bd_t *bd = gd->bd; + int i, j; + u32 reg; + + /* Set up an identity-mapping for all 4GB, rw for everyone */ + for (i = 0; i < 4096; i++) + page_table[i] = i << 20 | (3 << 10) | 0x12; + /* Then, enable cacheable and bufferable for RAM only */ + for (j = 0 < CONFIG_NR_DRAM_BANKS; j++) { + for (i = bd->bi_dram[j].start >> 20; + i < (bd->bi_dram[j].start + bd->bi_dram[j].size) >> 20; + i++) { + page_table[i] = i << 20 | (3 << 10) | CACHE_SETUP; + } + } + + /* Copy the page table address to cp15 */ + asm volatile("mcr p15, 0, %0, c2, c0, 0" +: : "r" (page_table) : "memory"); + /* Set the access control to all-supervisor */ + asm volatile("mcr p15, 0, %0, c3, c0, 0" +: : "r" (~0)); + /* and enable the mmu */ + reg = get_cr(); /* get control reg. */ + cp_delay(); + set_cr(reg | CR_M); + } /* cache_bit must be either CR_I or CR_C */ @@ -39,6 +82,9 @@ static void cache_enable(uint32_t cache_bit) { uint32_t reg; + /* The data cache is not active unless the mmu is enabled too */ + if (cache_bit == CR_C) + mmu_setup(); reg = get_cr(); /* get control reg. */ cp_delay(); set_cr(reg | cache_bit); @@ -49,6 +95,11 @@ static void cache_disable(uint32_t cache_bit) { uint32_t reg; + if (cache_bit == CR_C) { + /* if disabling data cache, disable mmu too */ + cache_bit |= CR_M; + flush_cache(0, ~0); + } reg = get_cr(); cp_delay(); set_cr(reg & ~cache_bit); -- 1.6.2.5 -- 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] at91sam source tree to use
Hello Moises, I'm using a board of same family (at91sam9620 and at91sam9g60) and I`m using the main u-boot source tree, everything is working... > Hello, >I would like to customize an u-boot source tree to use in an > at91sam9263 embedded CPU board. But I am in doubt if I should use the > main u-boot source tree or the at91 fork tree (and now orphaned one) ? > What are the main differences between the main and at91 forked source > trees ? I saw that a lot of at91sam9263 related code exists in tha main > tree... > > thanks, > Moises > > ___ > 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] update the MIPS u-boot.lds
Thanks for following-up, On 08/03/2010 12:30 AM, Xiangfu Liu wrote: > From: Xiangfu Liu > > Hi Wolfgang No greetings in the longlog, please. Such comments, supplements are to go below the three-dashes (---): >>From the document, if set all arguments in "OUTPUT_FORMAT" > to "tradbigmips", then even add "-EL" to gcc we still get > EB format. > > Signed-off-by: Xiangfu Liu > --- (Here...) > board/dbau1x00/u-boot.lds|2 +- > board/gth2/u-boot.lds|2 +- > board/incaip/u-boot.lds |2 +- > board/pb1x00/u-boot.lds |2 +- > board/purple/u-boot.lds |2 +- > board/qemu-mips/u-boot.lds |2 +- > examples/standalone/mips.lds |2 +- > 7 files changed, 7 insertions(+), 7 deletions(-) [snip] > diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds > index 9a6cd1b..3c4fbe3 100644 > --- a/board/pb1x00/u-boot.lds > +++ b/board/pb1x00/u-boot.lds > @@ -24,7 +24,7 @@ > /* > OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") > */ > -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") > +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", > "elf32-tradlittlemips") > OUTPUT_ARCH(mips) > ENTRY(_start) > SECTIONS According to MAKEALL script, pb1000_config is only used in Little- endian, so its default endian should be set to LE as well. I too missed this point in my previous patch. With fixing above nits, feel free to add: Acked-by: Shinya Kuribayashi Wolfgang: Could you take care of this patch (hopefully revised one) directly into your master. The fix is obvious. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support
(adding Tanmay who might be interested in the OpenOCD init sequence issue) Le 02/08/2010 08:13, Albert ARIBAUD a écrit : Hi, Le 02/08/2010 05:35, Prafulla Wadaskar a écrit : I tried tweaking MPP setup for SATA related stuff, it's multiplexed with UART and other I/Os (NAND), What I observed: if I boot kernel with sata support, kernel sata driver works properly and I can detect and use IDE devices. So I doubt MPP, I don't know kernel (latest stable) overrides MPP settings done by u-boot?? We can get some reference from there. I went the low level route and compared MPP / GPIO settings (content of 0xf101, 0xf1010100, 0xf1010140) at original U-boot start and at (patched) mainline u-boot start: three MPPs are set up differently, namely MPP13 and 14 (original had UART 1 signals, mainline has SD signals) and MPP29 (original had TS MP[9], mainline has GPIO). I have taken the OpenRD schematics from GlobalScale Technologies, and I have found no indication that these signals have anything to do with SATA. Also, I have noticed that 'ide reset' may work on kirkwood dependending on conditions yet imprecise, possibly related to whether an 'ide reset' was already done from the original u-boot; also there are times when I get garbled console output or no console at all. These random issues could come from the fact I use OpenOCD to reset the Open-RD client, set up the RAM and upload and run the u-boot image, rather than rely on the kwbimage process -- that's because I don't want to flash to NAND until I am sure the boot loader works enough -- and there may be initialization differences between the kwbimage wrapper and the OpenOCD init script. I'll have a look at that too, just in case. I've had a look, and the OpenOCD config file for openrd has an incomplete init sequence, mostly concerning MPP settings. I've completed it and so far it seems to work better (I'll check/submit an update to the OpenOCD project for this). As for the ATAPI issue as such, I'll try adding a delay between the writes within the port initialization function, although I could find no indication in the 88F6281 specs that such a delay is required or what order of duration it should have. I'll post my results at end of day today. Actually two things were necessary to get ide reset to work reliably: 1) adding a delay between the writes to SControl. Experimentation showed this delay should be at least 41 us on my board. I have set it to 50 us to play safe on possible HW characteristics dispersions. 2) moving the call(s) to mvsata_ide_initialize_port() from board_init() function to function ide_preinit(), which is called just before an IDE reset if CONFIG_IDE_INIT is set -- accordingly, I added ide_preinit() to openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h. Prafulla, can you try the patch attached above yours? If this works, then I'll backport the above fixes to orion5x/edminiv2 and post a V7 patch. Amicalement, -- Albert. diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h b/arch/arm/include/asm/arch-kirkwood/kirkwood.h index baf0c47..fb18ef7 100644 --- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h +++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h @@ -68,6 +68,8 @@ #define MVGBE0_BASEKW_EGIGA0_BASE #define MVGBE1_BASEKW_EGIGA1_BASE +#define CONFIG_IDE_PREINIT + #if defined (CONFIG_KW88F6281) #include #elif defined (CONFIG_KW88F6192) diff --git a/board/Marvell/openrd_base/openrd_base.c b/board/Marvell/openrd_base/openrd_base.c index 3c4c85d..5d0409f 100644 --- a/board/Marvell/openrd_base/openrd_base.c +++ b/board/Marvell/openrd_base/openrd_base.c @@ -111,16 +111,6 @@ int board_init(void) /* adress of boot parameters */ gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100; -#if defined(CONFIG_MVSATA_IDE) - /* Enable SATA port 0 if SATA IDE was configured */ - mvsata_ide_initialize_port( - (struct mv_sata_port_registers *) - (KW_SATA_BASE + KW_SATA_PORT0_OFFSET)); - mvsata_ide_initialize_port( - (struct mv_sata_port_registers *) - (KW_SATA_BASE + KW_SATA_PORT1_OFFSET)); -#endif - return 0; } @@ -169,3 +159,19 @@ void reset_phy(void) printf("88E1116 Initialized on %s\n", name); } #endif /* CONFIG_RESET_PHY_R */ + +#if defined(CONFIG_MVSATA_IDE) +int ide_preinit (void) +{ + /* Enable SATA port 0 if SATA IDE was configured */ + mvsata_ide_initialize_port( + (struct mv_sata_port_registers *) + (KW_SATA_BASE + KW_SATA_PORT0_OFFSET)); + mvsata_ide_initialize_port( + (struct mv_sata_port_registers *) + (KW_SATA_BASE + KW_SATA_PORT1_OFFSET)); + /* return 0 as we always succeed */ + return 0; +} +#endif + diff --git a/drivers/block/mvsata_ide.c b/drivers/block/mvsata_ide.c index d44a42c..d27fa5c 100644 --- a/drivers/block/mvsata_ide.c +++ b/drivers/block/mvsata_ide.c @@ -54,6 +54,8 @@ void mvsat
Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support
> -Original Message- > From: Albert ARIBAUD [mailto:albert.arib...@free.fr] > Sent: Tuesday, August 03, 2010 5:32 PM > To: Prafulla Wadaskar > Cc: u-boot@lists.denx.de; tanmay.upadh...@einfochips.com > Subject: Re: [PATCH V5 4/4] edminiv2: add mvsata_ide and > cmd_ide support > > (adding Tanmay who might be interested in the OpenOCD init > sequence issue) > > Le 02/08/2010 08:13, Albert ARIBAUD a écrit : > > Hi, > > > > Le 02/08/2010 05:35, Prafulla Wadaskar a écrit : > > > >> I tried tweaking MPP setup for SATA related stuff, it's > multiplexed with UART and other I/Os (NAND), > >> What I observed: if I boot kernel with sata support, > kernel sata driver works properly and I can detect and use > IDE devices. > >> > >> So I doubt MPP, I don't know kernel (latest stable) > overrides MPP settings done by u-boot?? We can get some > reference from there. > > > > I went the low level route and compared MPP / GPIO settings > (content of > > 0xf101, 0xf1010100, 0xf1010140) at original U-boot start and at > > (patched) mainline u-boot start: three MPPs are set up differently, > > namely MPP13 and 14 (original had UART 1 signals, mainline has SD > > signals) and MPP29 (original had TS MP[9], mainline has GPIO). > > > > I have taken the OpenRD schematics from GlobalScale > Technologies, and I > > have found no indication that these signals have anything > to do with SATA. > > > > Also, I have noticed that 'ide reset' may work on kirkwood > dependending > > on conditions yet imprecise, possibly related to whether an > 'ide reset' > > was already done from the original u-boot; also there are > times when I > > get garbled console output or no console at all. > > > > These random issues could come from the fact I use OpenOCD > to reset the > > Open-RD client, set up the RAM and upload and run the u-boot image, > > rather than rely on the kwbimage process -- that's because > I don't want > > to flash to NAND until I am sure the boot loader works enough -- and > > there may be initialization differences between the > kwbimage wrapper and > > the OpenOCD init script. I'll have a look at that too, just in case. > > I've had a look, and the OpenOCD config file for openrd has an > incomplete init sequence, mostly concerning MPP settings. > I've completed > it and so far it seems to work better (I'll check/submit an update to > the OpenOCD project for this). > > > As for the ATAPI issue as such, I'll try adding a delay between the > > writes within the port initialization function, although I > could find no > > indication in the 88F6281 specs that such a delay is > required or what > > order of duration it should have. > > > > I'll post my results at end of day today. > > Actually two things were necessary to get ide reset to work reliably: > > 1) adding a delay between the writes to SControl. > Experimentation showed > this delay should be at least 41 us on my board. I have set > it to 50 us > to play safe on possible HW characteristics dispersions. > > 2) moving the call(s) to mvsata_ide_initialize_port() from > board_init() > function to function ide_preinit(), which is called just > before an IDE > reset if CONFIG_IDE_INIT is set -- accordingly, I added > ide_preinit() to > openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h. > > Prafulla, can you try the patch attached above yours? Sure, I will try this and let you know Regards.. Prafulla . . > > If this works, then I'll backport the above fixes to orion5x/edminiv2 > and post a V7 patch. > > Amicalement, > -- > Albert. > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] fdt: Fix bug in size calculation in fdt_resize() with initrd use
From: Feng Wang Original bug description from Feng (fdt_resize() bug caused "WARNING: could not set linux, initrd-start FDT_ERR_NOSPACE."): What I got is an error: "WARNING: could not set linux,initrd-start FDT_ERR_NOSPACE." after loading Device Tree blob. This in turn caused linux to miss init part. After some digging, I found out the reason for this error, it is caused by fdt_resize(). FDT blob got resized after filling in all board specific information of PowerPC. (in boot_body_linux()). It reduced blob size with only extra space for two fdt_reserve_entry, one for fdt itself, and one for initrd. Then it's aligned to a 0x1000 page boundary. However, later in fdt_initrd(), it could add two more properties, initrd-start AND initrd-end, each one needs at least two fdt_reserve_entry sizes done by _fdt_add_property() (name and value). Thus, the two fdt_reserve_entry extra space is not sufficient. So for some specific fdt size which is just under the page boundary after resizing, this will cause an error of FDT_ERR_NOSPACE in fdt_initrd() when setting those two properties, and failed to pass initrd information to linux. My fix is in fdt_resize(), leave at least 4 fdt_reserve_entry for initrd. So instead of 2*sizeof(struct fdt_reserve_entry) for actual_totalsize, use 5*sizeof(struc fdt_reserve_entry). Stefan: I got this same error on katmai, when trying to boot with initrd (run flash_self). This patch fixes this issue. Signed-off-by: Feng Wang Tested-by: Stefan Roese Cc: Jerry Van Baren --- common/fdt_support.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/fdt_support.c b/common/fdt_support.c index 718b635..6f198de 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -498,11 +498,12 @@ int fdt_resize(void *blob) /* * Calculate the actual size of the fdt -* plus the size needed for two fdt_add_mem_rsv, one -* for the fdt itself and one for a possible initrd +* plus the size needed for 5 fdt_add_mem_rsv, one +* for the fdt itself and 4 for a possible initrd +* ((initrd-start + initrd-end) * 2 (name & value)) */ actualsize = fdt_off_dt_strings(blob) + - fdt_size_dt_strings(blob) + 2*sizeof(struct fdt_reserve_entry); + fdt_size_dt_strings(blob) + 5 * sizeof(struct fdt_reserve_entry); /* Make it so the fdt ends on a page boundary */ actualsize = ALIGN(actualsize + ((uint)blob & 0xfff), 0x1000); -- 1.7.2.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] 83xx UEC compile error
Got this while trying to upgrade: ../../drivers/qe/uec.h:766: error: conflicting types for 'uec_initialize' /usr/local/src/cutu2uboot/include/netdev.h:86: error: previous declaration of 'uec_initialize' ../../drivers/qe/uec.h:766: error: conflicting types for 'uec_initialize' /usr/local/src/cutu2uboot/include/netdev.h:86: error: previous declaration of 'uec_initialize' ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] update the MIPS u-boot.lds
Hi Wolfgang v1: From the document, if set all arguments in "OUTPUT_FORMAT" to "tradbigmips", then even add "-EL" to gcc we still get EB format. v2: pb1x00 is only used in Little-endian, so its default endian should be set to LE as well Signed-off-by: Xiangfu Liu Acked-by: Shinya Kuribayashi --- board/dbau1x00/u-boot.lds|2 +- board/gth2/u-boot.lds|2 +- board/incaip/u-boot.lds |2 +- board/pb1x00/u-boot.lds |2 +- board/purple/u-boot.lds |2 +- board/qemu-mips/u-boot.lds |2 +- examples/standalone/mips.lds |2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds index 9a6cd1b..3c4fbe3 100644 --- a/board/dbau1x00/u-boot.lds +++ b/board/dbau1x00/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds index e6eee9b..aeb0fcc 100644 --- a/board/gth2/u-boot.lds +++ b/board/gth2/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds index 9a6cd1b..3c4fbe3 100644 --- a/board/incaip/u-boot.lds +++ b/board/incaip/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds index 9a6cd1b..358cc54 100644 --- a/board/pb1x00/u-boot.lds +++ b/board/pb1x00/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/board/purple/u-boot.lds b/board/purple/u-boot.lds index 1881e65..542601a 100644 --- a/board/purple/u-boot.lds +++ b/board/purple/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds index ad058ca..bd16786 100644 --- a/board/qemu-mips/u-boot.lds +++ b/board/qemu-mips/u-boot.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds index 717b201..63a1c92 100644 --- a/examples/standalone/mips.lds +++ b/examples/standalone/mips.lds @@ -24,7 +24,7 @@ /* OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") */ -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) SECTIONS { -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] update the MIPS u-boot.lds
Hi Shinya On 08/03/2010 07:36 PM, Shinya Kuribayashi wrote: > Aconfccording to MAKEALL script, pb1000_ig is only used in Little- > endian, so its default endian should be set to LE as well. I too > missed this point in my previous patch. > thanks. > With fixing above nits, feel free to add: > > Acked-by: Shinya Kuribayashi > (by the way. I manually added this line to email. is the another way to add "Acked-by" like "Signed-off-by" is "-s") -- Best Regards Xiangfu Liu http://www.openmobilefree.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Adds driver for Xilinx' xps_spi SPI controller.
This code differs in only trivial ways from the altera_spi driver. It plays nice with Thomas Chou's mmc_spi driver, as well as with SPI flash. Documentation for the SPI core is available here: http://www.xilinx.com/support/documentation/ip_documentation/xps_spi.pdf Signed-off-by: Graeme Smecher --- drivers/spi/Makefile |1 + drivers/spi/xilinx_spi.c | 173 ++ 2 files changed, 174 insertions(+), 0 deletions(-) create mode 100644 drivers/spi/xilinx_spi.c diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index dfcbb8b..34e0f31 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk LIB:= $(obj)libspi.a COBJS-$(CONFIG_ALTERA_SPI) += altera_spi.o +COBJS-$(CONFIG_XILINX_SPI) += xilinx_spi.o COBJS-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o COBJS-$(CONFIG_ATMEL_SPI) += atmel_spi.o COBJS-$(CONFIG_BFIN_SPI) += bfin_spi.o diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c new file mode 100644 index 000..bda7c5b --- /dev/null +++ b/drivers/spi/xilinx_spi.c @@ -0,0 +1,173 @@ +/* + * Xilinx SPI driver + * + * based on bfin_spi.c, by way of altera_spi.c + * Copyright (c) 2005-2008 Analog Devices Inc. + * Copyright (c) 2010 Thomas Chou + * Copyright (c) 2010 Graeme Smecher + * + * Licensed under the GPL-2 or later. + */ +#include +#include +#include +#include + +#define XILINX_SPI_RR 0x6c +#define XILINX_SPI_TR 0x68 +#define XILINX_SPI_SR 0x64 +#define XILINX_SPI_CR 0x60 +#define XILINX_SPI_SSR 0x70 + +#define XILINX_SPI_SR_RX_EMPTY_MSK 0x01 + +#define XILINX_SPI_CR_DEFAULT (0x0006) +#define XILINX_SPI_CR_MSS_MSK (0x0080) + +#if XPAR_XSPI_NUM_INSTANCES > 4 +# warning "The xilinx_spi driver will ignore some of your SPI peripherals!" +#endif + +static ulong xilinx_spi_base_list[] = { +#ifdef XPAR_SPI_0_BASEADDR + XPAR_SPI_0_BASEADDR, +#endif +#ifdef XPAR_SPI_1_BASEADDR + XPAR_SPI_1_BASEADDR, +#endif +#ifdef XPAR_SPI_2_BASEADDR + XPAR_SPI_2_BASEADDR, +#endif +#ifdef XPAR_SPI_3_BASEADDR + XPAR_SPI_3_BASEADDR, +#endif +}; + +struct xilinx_spi_slave { + struct spi_slave slave; + ulong base; +}; +#define to_xilinx_spi_slave(s) container_of(s, struct xilinx_spi_slave, slave) + +__attribute__((weak)) +int spi_cs_is_valid(unsigned int bus, unsigned int cs) +{ + return bus < ARRAY_SIZE(xilinx_spi_base_list) && cs < 32; +} + +__attribute__((weak)) +void spi_cs_activate(struct spi_slave *slave) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + writel(~(1 << slave->cs), xilspi->base + XILINX_SPI_SSR); + writel(XILINX_SPI_CR_DEFAULT | XILINX_SPI_CR_MSS_MSK, + xilspi->base + XILINX_SPI_CR); +} + +__attribute__((weak)) +void spi_cs_deactivate(struct spi_slave *slave) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + + writel(XILINX_SPI_CR_DEFAULT, xilspi->base + XILINX_SPI_CR); + writel(~0, xilspi->base + XILINX_SPI_SSR); +} + +void spi_init(void) +{ +} + +struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, + unsigned int max_hz, unsigned int mode) +{ + struct xilinx_spi_slave *xilspi; + + if (!spi_cs_is_valid(bus, cs)) + return NULL; + + xilspi = malloc(sizeof(*xilspi)); + if (!xilspi) + return NULL; + + xilspi->slave.bus = bus; + xilspi->slave.cs = cs; + xilspi->base = xilinx_spi_base_list[bus]; + debug("%s: bus:%i cs:%i base:%lx\n", __func__, + bus, cs, xilspi->base); + + return &xilspi->slave; +} + +void spi_free_slave(struct spi_slave *slave) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + free(xilspi); +} + +int spi_claim_bus(struct spi_slave *slave) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + + debug("%s: bus:%i cs:%i\n", __func__, slave->bus, slave->cs); + writel(XILINX_SPI_CR_DEFAULT, xilspi->base + XILINX_SPI_CR); + writel(~0, xilspi->base + XILINX_SPI_SSR); + return 0; +} + +void spi_release_bus(struct spi_slave *slave) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + + debug("%s: bus:%i cs:%i\n", __func__, slave->bus, slave->cs); + writel(~0, xilspi->base + XILINX_SPI_SSR); +} + +#ifndef CONFIG_XILINX_SPI_IDLE_VAL +# define CONFIG_XILINX_SPI_IDLE_VAL 0xff +#endif + +int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, +void *din, unsigned long flags) +{ + struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave); + /* assume spi core configured to do 8 bit transfers */ + uint bytes = bitlen / 8; + const uchar *txp = dout; + uchar *rxp = din; + + debug("%s: bus:%i cs:%i bitlen:%i bytes:%i fla
[U-Boot] UEC numbering broken in uec_initialize
Commit qe: Pass in uec_info struct through uec_initialize (8e55258f144764de8902e9f078a7ad4c6c022c2f) changed the FSL UEC# numbering: - sprintf(dev->name, "FSL UEC%d", index); + sprintf(dev->name, "FSL UEC%d", uec_info->uf_info.ucc_num); from logical(zero based)to physical UCC number. This breaks boards that have multiple eth I/F and uses ethprime/ethact. It seems like this change was unintentional? I propose we change back to the way it was as it breaks my board. Jocke ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Adds driver for Xilinx' xps_spi SPI controller.
On Tuesday, August 03, 2010 11:47:42 Graeme Smecher wrote: > --- a/drivers/spi/Makefile > +++ b/drivers/spi/Makefile > > COBJS-$(CONFIG_ALTERA_SPI) += altera_spi.o > +COBJS-$(CONFIG_XILINX_SPI) += xilinx_spi.o > COBJS-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o this is a sorted list. please keep it that way > --- /dev/null > +++ b/drivers/spi/xilinx_spi.c > > +static ulong xilinx_spi_base_list[] = { > +#ifdef XPAR_SPI_0_BASEADDR > + XPAR_SPI_0_BASEADDR, > +#endif > +#ifdef XPAR_SPI_1_BASEADDR > + XPAR_SPI_1_BASEADDR, > +#endif > +#ifdef XPAR_SPI_2_BASEADDR > + XPAR_SPI_2_BASEADDR, > +#endif > +#ifdef XPAR_SPI_3_BASEADDR > + XPAR_SPI_3_BASEADDR, > +#endif > +}; if this is only ever read, you might want to declare it const so it ends up in the rodata section. what if someone defines just XPAR_SPI_3_BASEADDR ? do you want to be consistent in bus id 3 always corresponds to XPAR_SPI_3_BASEADDR ? or are you OK with the numbers always being relative ? doesnt matter to me, just highlighting some things that might have been missed. -mike 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
[U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue
All, Can anybody point me to resources/techniques for finding and resolving why u-boot seems to take a horrendously long time to boot from sd .vs. nand? Thanks in advance. -- - evt (Eric van Tassell) twitter: evt_texelsoft linked-in: linkedin.com/in/evttxl ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue
Dear eric van tassell, In message you wrote: > > Can anybody point me to resources/techniques for finding and resolving why > u-boot seems to take a horrendously long time to boot from sd .vs. nand? It would help if you mentioned which architecture and board and U-Boot version you are talking about... Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de A consultant is a person who borrows your watch, tells you what time it is, pockets the watch, and sends you a bill for it. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue
Dear eric van tassell, please always keep the mailing list on Cc. Also, please do not top post / full quote, this is considered really bad manners. See http://www.netmeister.org/news/learn2quote.html In message you wrote: > > it's an imx35 based custom board. Although I've done a lot of kernel work > I'm new to u-boot and was more looking for general approaches than specific > fixes(although that would be nice) Current ARM support does not enable caches. You might want to look into Heiko Schocher's recent 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 A day without sunshine is like night. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support
Dear Marek Vasut, In message <1279811005-21858-4-git-send-email-marek.va...@gmail.com> you wrote: > This patch adds support for the Palm Tungsten|C PXA255 board. The support > includes: > - LCD > - MMC > - UART > - NOR > > Signed-off-by: Marek Vasut > --- > board/palmtc/Makefile| 54 + > board/palmtc/config.mk |3 + > board/palmtc/lowlevel_init.S | 40 +++ > board/palmtc/palmtc.c| 77 + > board/palmtc/u-boot.lds | 56 ++ > boards.cfg |1 + > include/configs/palmtc.h | 250 > ++ > 7 files changed, 481 insertions(+), 0 deletions(-) > create mode 100644 board/palmtc/Makefile > create mode 100644 board/palmtc/config.mk > create mode 100644 board/palmtc/lowlevel_init.S > create mode 100644 board/palmtc/palmtc.c > create mode 100644 board/palmtc/u-boot.lds > create mode 100644 include/configs/palmtc.h Entries to MAINTAINERS and MAKEALL missing. > diff --git a/board/palmtc/Makefile b/board/palmtc/Makefile > new file mode 100644 > index 000..92e5288 > --- /dev/null > +++ b/board/palmtc/Makefile > @@ -0,0 +1,54 @@ > + > +# > +# Copyright (C) 2009 2009? > --- /dev/null > +++ b/board/palmtc/config.mk > @@ -0,0 +1,3 @@ > +#TEXT_BASE = 0xa170 > +TEXT_BASE = 0xa100 > +#TEXT_BASE = 0 Please remove dead code. > +int board_init (void) > +{ > + /* memory and cpu-speed are setup before relocation */ > + /* so we do _nothing_ here */ Incorrect multiline comment style. > + /* arch number of Lubbock-Board */ > + gd->bd->bi_arch_number = MACH_TYPE_PALMTC; > + > + /* Adress of boot parameters */ > + gd->bd->bi_boot_params = 0xa100; > + > + /* Set PWM for LCD */ > + PWM_CTRL1 = 0x5f; > + PWM_PERVAL1 = 0x3ff; > + PWM_PWDUTY1 = 892; > + > + return 0; > +} > + > +int board_late_init(void) > +{ > +#ifdef CONFIG_LCD > + setenv("stdout", "lcd"); > + setenv("stderr", "lcd"); > +#else > + setenv("stdout", "serial"); > + setenv("stderr", "serial"); > +#endif It's a bad idea to force such settings on a user without leaving him any other choice. We had such discussions before. Please don't. ... > +#define CONFIG_PXA2501 /* Intel PXA255 CPU */ > +#define CONFIG_PALMTC1 /* Palm Tungsten|C > board */ > + > +#undef BOARD_LATE_INIT > +#undef CONFIG_SKIP_RELOCATE_UBOOT > +#undef CONFIG_USE_IRQ > +#undef CONFIG_SKIP_LOWLEVEL_INIT Please do not undef what is not defined anyway. > +/* > + * Environment settings > + */ > +#define CONFIG_ENV_OVERWRITE > +#define CONFIG_ENV_IS_IN_FLASH 1 > +#define CONFIG_ENV_ADDR 0x4 > +#define CONFIG_ENV_SIZE 0x4 Decide if you use TABs or SPACEs here (SPACEs recommended), but use that consistently then. > +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + > CONFIG_STACKSIZE) That looks awfully wrong - the stack has nothing to do with the malloc arena. If you want to use just the same size (which does not make much sense to me either), then use aan independent variable for that. > +#define CONFIG_SYS_GBL_DATA_SIZE512 Don't! Make as small as possible. You probably do NOT need that much, or do you? ... > +#define CONFIG_SYS_CPUSPEED 0x161 /* standard setting for > 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */ Line too long. Please fix globally. 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 There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support
Dear Marek Vasut, In message <1279811005-21858-6-git-send-email-marek.va...@gmail.com> you wrote: > Signed-off-by: Marek Vasut > --- > board/palmld/Makefile| 54 > board/palmld/config.mk |1 + > board/palmld/lowlevel_init.S | 46 +++ > board/palmld/palmld.c| 81 > board/palmld/u-boot.lds | 56 + > boards.cfg |1 + > include/configs/palmld.h | 275 > ++ > 7 files changed, 514 insertions(+), 0 deletions(-) > create mode 100644 board/palmld/Makefile > create mode 100644 board/palmld/config.mk > create mode 100644 board/palmld/lowlevel_init.S > create mode 100644 board/palmld/palmld.c > create mode 100644 board/palmld/u-boot.lds > create mode 100644 include/configs/palmld.h Entries to MAINTAINERS and MAKEALL missing. > diff --git a/board/palmld/Makefile b/board/palmld/Makefile > new file mode 100644 > index 000..c184cf6 > --- /dev/null > +++ b/board/palmld/Makefile > @@ -0,0 +1,54 @@ > + > +# Don't waste too many empty lines. > +# Copyright (C) 2009 2009? [Please see comments for previous patch; seems this one looks pretty much similar.] Actually the code looks pretty much similar, too. Are you sure that multiple copies of htis code are needed? 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 We want to create puppets that pull their own strings. - Ann Marion ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes
Dear Marek Vasut, In message <1279811005-21858-7-git-send-email-marek.va...@gmail.com> you wrote: > Define __io to get harddrive working. > Fix saving of environment into OneNAND. > Boot from harddrive when possible. > > Signed-off-by: Marek Vasut > --- > include/configs/vpac270.h | 12 +++- > 1 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h > index 6d02995..a0383b2 100644 > --- a/include/configs/vpac270.h > +++ b/include/configs/vpac270.h > @@ -36,7 +36,7 @@ > /* > * Environment settings > */ > -#define CONFIG_ENV_SIZE 0x4000 > +#define CONFIG_ENV_SIZE 0x2 Do you really need 128 KiB for environment data? [Note that this is NOT a sector size or so!] Really??? I think this is not true. > +/* > + * HACK WARNING: __io > + * This MUST go away once the readb/writeb and inb/outb issue is solved > + */ > +#define __io Drop that. 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 "Plan to throw one away. You will anyway." - Fred Brooks, "The Mythical Man Month" ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PULL] U-Boot-pxa
Dear Marek Vasut, In message <201007221701.37914.marek.va...@gmail.com> you wrote: > Hi, please merge my "for-wd-master" branch into u-boot.git "master" branch. > Thanks > > The following changes since commit 1f82ff4777f360e92aa37bbbed647f7b9d9d2044: > > Merge branch 'master' of git://git.denx.de/u-boot-video (2010-07-17 > 20:49:59 > +0200) > > are available in the git repository at: > > git://git.denx.de/u-boot-pxa.git for-wd-master > > Marek Vasut (8): > ARM: Define __raw_readX and __raw_writeX > PXA: pxafb: Add ACX517AKN support > common: Enable serial for PXA250 > PXA: Palm Tungsten|C Support > PXA: pxafb: Add support for Sharp LQ038J7DH53 > PXA: Add initial Palm LifeDrive support > Merge branch 'palm' into for-wd-master > PXA: Vpac270 config fixes Sorry. Please do not send the pull request at the same time (or actually _before_) the patches. Please allow for a couple of days of review time. Some patches need rework, not pulled because of that. 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 program, therefore I am. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] ATMEL Custodians == /dev/null ??
Dear Mike Frysinger, In message <201007290018.40886.vap...@gentoo.org> you wrote: > > if the maintainers are effectively dead, then i'd suggest someone (i.e. > Wolfgang) hand the custodian role over to someone willing to do the work. Full ACK. > employment by the company who owns the processor in question only goes so > far. > vastly more important are the people doing the actual work and in this case, > it seems like that person might be you vs anyone with @atmel.com in their e- > mail address. Full ACK again. Reinhard, do you volunteer? For AVR32? Or also for AT91? 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 Houston, Tranquillity Base here. The Eagle has landed. -- Neil Armstrong ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Adding New Boards
Dear Henrique Camargo, In message you wrote: > I'm working on a project porting the latest version of u-boot to a > dm365evm based board from Appro [1]. The board is a bit different, but > most of the changes are to the /include/configs/.h file. Should > I contribute the code when it's working? How should i proceed? This > board came with a old version of u-boot (1.3.4). Yes, please contribute your changes back. See http://www.denx.de/wiki/U-Boot/Patches or ask if you need help. 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 Things are not as simple as they seem at first.- Edward Thorp ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request u-boot-blackfin.git
Dear Mike Frysinger, In message <1280086568-3891-1-git-send-email-vap...@gentoo.org> you wrote: > The following changes since commit 7385c28e9b5f7d47e6a8f1ad9800e6e70af714e2: > > fs/fat: Big code cleanup. (2010-07-24 20:54:46 +0200) > > are available in the git repository at: > git://www.denx.de/git/u-boot-blackfin.git master > > Mike Frysinger (6): > Blackfin: bf533/bf561 boards: convert to new soft gpio i2c code > Blackfin: jtagconsole: disable output processing > Blackfin: jtag-console: robustify against missing peer > Blackfin: jtag-console: add debug markers > Blackfin: jtag-console: handle newline stuffing > Blackfin: gpio: use common usage func > > arch/blackfin/cpu/cmd_gpio.c |2 +- > arch/blackfin/cpu/jtag-console.c | 95 > include/configs/bf533-ezkit.h | 43 + > include/configs/bf533-stamp.h | 43 + > include/configs/bf561-ezkit.h | 42 +--- > include/configs/bfin_adi_common.h |1 + > include/configs/blackstamp.h | 28 +-- > include/configs/ibf-dsp561.h | 29 +-- > tools/jtagconsole |4 +- > 9 files changed, 98 insertions(+), 189 deletions(-) Applied, thanks. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Each team building another component has been using the most recent tested version of the integrated system as a test bed for debugging its piece. Their work will be set back by having that test bed change under them. Of course it must. But the changes need to be quantized. Then each user has periods of productive stability, interrupted by bursts of test-bed change. This seems to be much less disruptive than a constant rippling and trembling. - Frederick Brooks Jr., "The Mythical Man Month" ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 4/8] ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems
Dear Steve Sakoman, In message <1279941255-26947-5-git-send-email-st...@sakoman.com> you wrote: > This patch add the basic infrastructure for the TWL6030 driver and enables > support in the two existing OMAP4 boards, Panda and OMAP4430 SDP > > Signed-off-by: Steve Sakoman > --- > drivers/power/Makefile |1 + > drivers/power/twl6030.c | 77 + > include/configs/omap4_panda.h |3 + > include/configs/omap4_sdp4430.h |3 + > include/twl6030.h | 90 > +++ > 5 files changed, 174 insertions(+), 0 deletions(-) > create mode 100644 drivers/power/twl6030.c > create mode 100644 include/twl6030.h > > diff --git a/drivers/power/Makefile b/drivers/power/Makefile > index dd06514..db53173 100644 > --- a/drivers/power/Makefile > +++ b/drivers/power/Makefile > @@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk > LIB := $(obj)libpower.a > > COBJS-$(CONFIG_TWL4030_POWER)+= twl4030.o > +COBJS-$(CONFIG_TWL6030_POWER)+= twl6030.o > > COBJS:= $(COBJS-y) > SRCS := $(COBJS:.o=.c) > diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c > new file mode 100644 > index 000..b47992b > --- /dev/null > +++ b/drivers/power/twl6030.c > @@ -0,0 +1,77 @@ > +/* > + * (C) Copyright 2010 > + * Texas Instruments, > + * > + * 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 > + * version 2 as published by the Free Software Foundation. NAK. We require the "or (at your option) any later version" clause. 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 ___ 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
Dear Sandeep, In message <1280345146-18810-1-git-send-email-s-paul...@ti.com> you wrote: > > Please pull u-boot-ti/master. I ran MAKEALL and saw no issues. > The patch modifying the I2c driver has an ACK from Heiko. > The patch restructuring the USB driver actually was a simple patch > adding some more #defines so i went ahead and added it. Sorry, I cannot. There is a license conflivt with that patch: > Steve Sakoman (8): > ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems 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 used to be indecisive, now I'm not sure. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PULL] U-Boot-pxa
Dear Marek Vasut, In message <201007290314.39806.marek.va...@gmail.com> you wrote: > > I added two more patches. Here's a revised pull request, please merge my "for- > wd-master" branch into u-boot.git "master" branch. I don't see any trace of these patches on the mailing list. I will not pull any such stuff. 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 There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly dis- appear and be replaced by something even more bizarre and inexpli- cable. There is another theory which states that this has already happened.-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 4/8] ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems
This patch add the basic infrastructure for the TWL6030 driver and enables support in the two existing OMAP4 boards, Panda and OMAP4430 SDP Signed-off-by: Steve Sakoman --- This version adds the GPL "or (at your option) any later version" clause per Wolfgang's request drivers/power/Makefile |1 + drivers/power/twl6030.c | 78 + include/configs/omap4_panda.h |3 + include/configs/omap4_sdp4430.h |3 + include/twl6030.h | 91 +++ 5 files changed, 176 insertions(+), 0 deletions(-) create mode 100644 drivers/power/twl6030.c create mode 100644 include/twl6030.h diff --git a/drivers/power/Makefile b/drivers/power/Makefile index dd06514..db53173 100644 --- a/drivers/power/Makefile +++ b/drivers/power/Makefile @@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk LIB:= $(obj)libpower.a COBJS-$(CONFIG_TWL4030_POWER) += twl4030.o +COBJS-$(CONFIG_TWL6030_POWER) += twl6030.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c new file mode 100644 index 000..cf1da6b --- /dev/null +++ b/drivers/power/twl6030.c @@ -0,0 +1,78 @@ +/* + * (C) Copyright 2010 + * Texas Instruments, + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#ifdef CONFIG_TWL6030_POWER + +#include + +/* Functions to read and write from TWL6030 */ +static inline int twl6030_i2c_write_u8(u8 chip_no, u8 val, u8 reg) +{ + return i2c_write(chip_no, reg, 1, &val, 1); +} + +static inline int twl6030_i2c_read_u8(u8 chip_no, u8 *val, u8 reg) +{ + return i2c_read(chip_no, reg, 1, val, 1); +} + +void twl6030_start_usb_charging(void) +{ + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_VICHRG_1500, + CHARGERUSB_VICHRG); + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_CIN_LIMIT_NONE, + CHARGERUSB_CINLIMIT); + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, MBAT_TEMP, + CONTROLLER_INT_MASK); + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, MASK_MCHARGERUSB_THMREG, + CHARGERUSB_INT_MASK); + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_VOREG_4P0, + CHARGERUSB_VOREG); + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_CTRL2_VITERM_100, + CHARGERUSB_CTRL2); + /* Enable USB charging */ + twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CONTROLLER_CTRL1_EN_CHARGER, + CONTROLLER_CTRL1); + return; +} + +void twl6030_init_battery_charging(void) +{ + twl6030_start_usb_charging(); + return; +} + +void twl6030_usb_device_settings() +{ + u8 data = 0; + + /* Select APP Group and set state to ON */ + twl6030_i2c_write_u8(TWL6030_CHIP_PM, 0x21, VUSB_CFG_STATE); + + twl6030_i2c_read_u8(TWL6030_CHIP_PM, &data, MISC2); + data |= 0x10; + + /* Select the input supply for VBUS regulator */ + twl6030_i2c_write_u8(TWL6030_CHIP_PM, data, MISC2); +} +#endif diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h index 0fb1ad3..4bec00b 100644 --- a/include/configs/omap4_panda.h +++ b/include/configs/omap4_panda.h @@ -103,6 +103,9 @@ #define CONFIG_DRIVER_OMAP34XX_I2C 1 #define CONFIG_I2C_MULTI_BUS 1 +/* TWL6030 */ +#define CONFIG_TWL6030_POWER 1 + /* MMC */ #define CONFIG_MMC 1 #define CONFIG_OMAP3_MMC 1 diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h index ef5272b..c18e71a 100644 --- a/include/configs/omap4_sdp4430.h +++ b/include/configs/omap4_sdp4430.h @@ -104,6 +104,9 @@ #define CONFIG_DRIVER_OMAP34XX_I2C 1 #define CONFIG_I2C_MULTI_BUS 1 +/* TWL6030 */ +#define CONFIG_TWL6030_POWER 1 + /* MMC */ #define CONFIG_MMC 1 #define CONFIG_OMAP3_MMC 1 diff --git a/
Re: [U-Boot] Please pull u-boot-ti/master
On Tue, Aug 3, 2010 at 2:37 PM, Wolfgang Denk wrote: > Dear Sandeep, > > In message <1280345146-18810-1-git-send-email-s-paul...@ti.com> you wrote: >> >> Please pull u-boot-ti/master. I ran MAKEALL and saw no issues. >> The patch modifying the I2c driver has an ACK from Heiko. >> The patch restructuring the USB driver actually was a simple patch >> adding some more #defines so i went ahead and added it. > > Sorry, I cannot. > > There is a license conflivt with that patch: > >> Steve Sakoman (8): >> ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems I just sent a revised version of the patch with that change incorporated. Steve ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2] powerpc/p4080: Add support for the P4080DS board
Dear Kumar Gala, In message <1280167927-29160-1-git-send-email-ga...@kernel.crashing.org> you wrote: > Add support for the P4080DS board, with the following features: > > * 36-bit only > * Boots from NOR flash > * FMAN drivers NOT supported > * SPD DDR initialization > > Signed-off-by: Ed Swarthout > Signed-off-by: Emil Medve > Signed-off-by: Becky Bruce > Signed-off-by: Ashish Kalra > Signed-off-by: Stuart Yoder > Signed-off-by: Dave Liu > Signed-off-by: Lan Chunhe-B25806 > Signed-off-by: Scott Wood > Signed-off-by: Kim Phillips > Signed-off-by: Roy Zang > Signed-off-by: Timur Tabi > Signed-off-by: Andy Fleming > Signed-off-by: York Sun > Signed-off-by: Kumar Gala > --- > * Dropped non-SPD ddr setup > * cleaned up some whitespace issues > > MAKEALL |1 + > board/freescale/common/Makefile |1 + > board/freescale/corenet_ds/Makefile | 55 +++ > board/freescale/corenet_ds/config.mk| 30 ++ > board/freescale/corenet_ds/corenet_ds.c | 259 > board/freescale/corenet_ds/ddr.c| 176 > board/freescale/corenet_ds/law.c| 40 ++ > board/freescale/corenet_ds/pci.c| 127 ++ > board/freescale/corenet_ds/tlb.c| 112 + > boards.cfg |1 + > include/configs/P4080DS.h | 35 ++ > include/configs/corenet_ds.h| 673 > +++ > 12 files changed, 1510 insertions(+), 0 deletions(-) > create mode 100644 board/freescale/corenet_ds/Makefile > create mode 100644 board/freescale/corenet_ds/config.mk > create mode 100644 board/freescale/corenet_ds/corenet_ds.c > create mode 100644 board/freescale/corenet_ds/ddr.c > create mode 100644 board/freescale/corenet_ds/law.c > create mode 100644 board/freescale/corenet_ds/pci.c > create mode 100644 board/freescale/corenet_ds/tlb.c > create mode 100644 include/configs/P4080DS.h > create mode 100644 include/configs/corenet_ds.h Entry in MAINTAINERS missing. Please provide incremental patch. 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 "Bureaucracy is the enemy of innovation." - Mark Shepherd, former President and CEO of Texas Instruments ___ 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
Dear Steve Sakoman, In message you wrote: > > I just sent a revised version of the patch with that change incorporated. Thanks. I'll wait for Sandeep to rebase his tree and resend the pull rq, then. 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 News is what a chap who doesn't care much about anything wants to read. And it's only news until he's read it. After that it's dead. - Evelyn Waugh _Scoop_ (1938) bk. 1, ch. 5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Please pull u-boot-mpc85xx.git
Dear Kumar Gala, In message you wrote: > The following changes since commit 7385c28e9b5f7d47e6a8f1ad9800e6e70af714e2: > Wolfgang Denk (1): > fs/fat: Big code cleanup. > > are available in the git repository at: > > git://git.denx.de/u-boot-mpc85xx master > > Kim Phillips (2): > powerpc/85xx: configure autocompletion support > powerpc/8xxx: query feature reporting register for num cores on unknown > cpus > > Kumar Gala (10): > powerpc/85xx: Add additional p4080 platform related defines/structs > powerpc/fsl_fman: Add initial fman immap structures > powerpc/p4080: Add support for CPC(Corenet platform cache) on CoreNet > platforms > fdt: Add function to alloc phandle values > powerpc/85xx: Add support to initialize LIODN registers and portals > powerpc/p4080: Add support for initializing SERDES > powerpc/p4080: Add workaround for errata SERDES8 > powerpc/p4080: Add workaround for erratum CPU22 > powerpc/8xxx: Enabled hwconfig for memory interleaving > powerpc/p4080: Add support for the P4080DS board > > york (8): > powerpc/85xx: Move INIT_RAM_ADDR physical address to 36-bit space > powerpc/p2020: Move INIT_RAM_ADDR physical address higher for 36-bit > for P2020DS > powerpc/8xxx: Fix bug in memctrl interleaving & bank interleaving on > cs0~cs4 > powerpc/8xxx: Enable quad-rank DIMMs. > powerpc/8xxx: Enabled address hashing for 85xx > powerpc/8xxx: Enable DDR3 RDIMM support > powerpc/8xxx: Improvement to DDR parameters > powerpc/p2020ds: Integrated with P2020DS DDR change and enabled hwconfig > > MAKEALL|1 + > Makefile |1 + > arch/powerpc/cpu/mpc85xx/Makefile |8 + > arch/powerpc/cpu/mpc85xx/cmd_errata.c |6 + > arch/powerpc/cpu/mpc85xx/cpu_init.c| 52 ++- > arch/powerpc/cpu/mpc85xx/ddr-gen3.c|2 + > arch/powerpc/cpu/mpc85xx/fdt.c | 39 ++ > arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c | 495 ++ > arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.h | 44 ++ > arch/powerpc/cpu/mpc85xx/liodn.c | 187 ++ > arch/powerpc/cpu/mpc85xx/p4080_ids.c | 115 > arch/powerpc/cpu/mpc85xx/p4080_serdes.c| 98 +++ > arch/powerpc/cpu/mpc85xx/portals.c | 238 +++ > arch/powerpc/cpu/mpc85xx/release.S |6 + > arch/powerpc/cpu/mpc85xx/start.S | 10 + > arch/powerpc/cpu/mpc8xxx/cpu.c | 10 +- > .../powerpc/cpu/mpc8xxx/ddr/common_timing_params.h |3 + > arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c | 264 +--- > arch/powerpc/cpu/mpc8xxx/ddr/ddr.h |1 + > arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c|6 +- > .../cpu/mpc8xxx/ddr/lc_common_dimm_params.c| 30 +- > arch/powerpc/cpu/mpc8xxx/ddr/main.c| 40 +- > arch/powerpc/cpu/mpc8xxx/ddr/options.c | 154 - > arch/powerpc/include/asm/fsl_ddr_dimm_params.h |3 + > arch/powerpc/include/asm/fsl_ddr_sdram.h |3 + > arch/powerpc/include/asm/fsl_fman.h| 212 ++ > arch/powerpc/include/asm/fsl_law.h |3 +- > arch/powerpc/include/asm/fsl_liodn.h | 142 > arch/powerpc/include/asm/fsl_portals.h | 59 ++ > arch/powerpc/include/asm/fsl_serdes.h | 11 +- > arch/powerpc/include/asm/immap_85xx.h | 219 ++- > arch/powerpc/include/asm/processor.h |1 + > board/freescale/common/Makefile|1 + > board/freescale/corenet_ds/Makefile| 55 ++ > board/freescale/corenet_ds/config.mk | 30 + > board/freescale/corenet_ds/corenet_ds.c| 259 > board/freescale/corenet_ds/ddr.c | 176 + > board/freescale/corenet_ds/law.c | 40 ++ > board/freescale/corenet_ds/pci.c | 127 > board/freescale/corenet_ds/tlb.c | 112 > board/freescale/mpc8641hpcn/mpc8641hpcn.c |2 + > board/freescale/p2020ds/ddr.c | 56 +- > board/freescale/p2020ds/p2020ds.c |7 +- > board/freescale/p2020ds/tlb.c |8 +- > boards.cfg |1 + > common/fdt_support.c | 18 + > doc/README.fsl-ddr | 39 +- > include/configs/MPC8536DS.h|1 + > include/configs/MPC8540ADS.h |3 +- > include/configs/MPC8541CDS.h |3 +- > include/configs/MPC8544DS.h|3 +- > include/configs/MPC8548CDS.h
Re: [U-Boot] [PATCH 1/2] S5P: support mmc driver
Dear Minkyu Kang, In message <4c331c61.9070...@samsung.com> you wrote: > This patch adds support mmc driver for s5p SoC ... > +#ifdef DEBUG_S5P_HSMMC > +#define dbg(x...) printf(x) > +#else > +#define dbg(x...) do { } while (0) > +#endif Can you please rework this code to use the standard debug() macro instead of your own? Thanks. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de "...all the good computer designs are bootlegged; the formally planned products, if they are built at all, are dogs!" - David E. Lundstrom, "A Few Good Men From Univac", MIT Press, 1987 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Please pull u-boot-samsung/master
Dear Minkyu Kang, In message <4c57cb3b.1020...@samsung.com> you wrote: > Please pull u-boot-samsung/master. > Thanks. > > The following changes since commit 2271d3ddccfbd4a7640121669ff9b013b1fea361: > Minkyu Kang (1): > Merge branch 'master' of git://git.denx.de/u-boot > > are available in the git repository at: > > git://git.denx.de/u-boot-samsung master > > Minkyu Kang (3): > SAMSUNG: serial: remove compiler warnings > S5P: support mmc driver > s5p_goni: enable mmc0 > > arch/arm/include/asm/arch-s5pc1xx/cpu.h |2 + > arch/arm/include/asm/arch-s5pc1xx/mmc.h | 71 + > board/samsung/goni/goni.c | 37 +++ > drivers/mmc/Makefile|1 + > drivers/mmc/s5p_mmc.c | 478 > +++ > drivers/serial/serial_s5p.c |4 +- > include/configs/s5p_goni.h |6 + > 7 files changed, 597 insertions(+), 2 deletions(-) > create mode 100644 arch/arm/include/asm/arch-s5pc1xx/mmc.h > create mode 100644 drivers/mmc/s5p_mmc.c Applied to u-boot-arm #master, thanks. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Madness takes its toll. Please have exact change. ___ 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
On Tue, Aug 3, 2010 at 3:21 PM, Wolfgang Denk wrote: > Dear Steve Sakoman, > > In message you > wrote: >> >> I just sent a revised version of the patch with that change incorporated. > > Thanks. I'll wait for Sandeep to rebase his tree and resend the pull > rq, then. OK. Sorry for the inconvenience. I also have the updated series in the following branch if that will make it easier for Sandeep: http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-boot.git;a=shortlog;h=refs/heads/omap4-next-upstream Steve ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] bootm: fix pointer warning with lzma
Dear Mike Frysinger, In message <1280087657-12566-1-git-send-email-vap...@gentoo.org> you wrote: > Avoid warning: > cmd_bootm.c: In function 'bootm_load_os': > cmd_bootm.c:394: warning: passing argument 2 of > 'lzmaBuffToBuffDecompress' from incompatible pointer type > > For 32 bit systems, this change shouldn't make a difference to code size > since sizeof(size_t) and sizeof(unsigned int) are equal. But it does fix > the warning. > > Signed-off-by: Mike Frysinger > --- > common/cmd_bootm.c |7 +-- > 1 files changed, 5 insertions(+), 2 deletions(-) Applied, thanks. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Space is big. You just won't believe how vastly, hugely, mind- bogglingly big it is. I mean, you may think it's a long way down the road to the drug store, but that's just peanuts to space. -- The Hitchhiker's Guide to the Galaxy ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Rename getenv_r() into getenv_f()
Dear Wolfgang Denk, In message <1280001343-1460-1-git-send-email...@denx.de> you wrote: > While running from flash, i. e. before relocation, we have only a > limited C runtime environment without writable data segment. In this > phase, some configurations (for example with environment in EEPROM) > must not use the normal getenv(), but a special function. This > function had been called getenv_r(), with the idea that the "_r" > suffix would mean the same as in the _r_eentrant versions of some of > the C library functions (for example getdate vs. getdate_r, getgrent > vs. getgrent_r, etc.). > > Unfortunately this was a misleading name, as in U-Boot the "_r" > generally means "running from RAM", i. e. _after_ relocation. > > To avoid confusion, rename into getenv_f() [as "running from flash"] > > Signed-off-by: Wolfgang Denk > --- > README |2 +- > arch/arm/lib/board.c |2 +- > arch/avr32/lib/board.c |2 +- > arch/blackfin/lib/board.c|2 +- > arch/blackfin/lib/post.c |2 +- > arch/i386/lib/board.c|2 +- > arch/m68k/lib/board.c|6 +++--- > arch/mips/cpu/incaip_clock.c |2 +- > arch/mips/lib/board.c|2 +- > arch/powerpc/cpu/mpc8xx/speed.c |2 +- > arch/powerpc/cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c |2 +- > arch/powerpc/lib/board.c |6 +++--- > arch/sparc/lib/board.c |2 +- > board/Marvell/db64360/mv_eth.c |4 ++-- > board/Marvell/db64460/mv_eth.c |4 ++-- > board/avnet/fx12mm/fx12mm.c |2 +- > board/cray/L1/L1.c |2 +- > board/dave/PPChameleonEVB/PPChameleonEVB.c |2 +- > board/esd/adciop/adciop.c|2 +- > board/esd/apc405/apc405.c|2 +- > board/esd/ar405/ar405.c |2 +- > board/esd/ash405/ash405.c|2 +- > board/esd/canbt/canbt.c |2 +- > board/esd/cms700/cms700.c|2 +- > board/esd/cpci2dp/cpci2dp.c |2 +- > board/esd/cpci405/cpci405.c |2 +- > board/esd/cpci750/mv_eth.c |4 ++-- > board/esd/cpciiser4/cpciiser4.c |2 +- > board/esd/dasa_sim/dasa_sim.c|2 +- > board/esd/dp405/dp405.c |2 +- > board/esd/du405/du405.c |2 +- > board/esd/du440/du440.c |2 +- > board/esd/hh405/hh405.c |8 > board/esd/hub405/hub405.c|4 ++-- > board/esd/meesc/meesc.c |2 +- > board/esd/ocrtc/ocrtc.c |2 +- > board/esd/otc570/otc570.c|4 ++-- > board/esd/pci405/pci405.c|2 +- > board/esd/plu405/plu405.c|2 +- > board/esd/pmc405/pmc405.c|2 +- > board/esd/voh405/voh405.c|4 ++-- > board/esd/vom405/vom405.c|2 +- > board/esd/wuh405/wuh405.c|2 +- > board/evb64260/eth.c |2 +- > board/g2000/g2000.c |2 +- > board/gen860t/gen860t.c |6 +++--- > board/inka4x0/inka4x0.c |2 +- > board/ip860/ip860.c |2 +- > board/kup/kup4k/kup4k.c |4 ++-- > board/mpl/common/common_util.c |4 ++-- > board/mpl/common/memtst.c|2 +- > board/mpl/mip405/mip405.c|2 +- > board/mpl/pati/pati.c|2 +- > board/mpl/pip405/pip405.c|2 +- > board/mpl/vcma9/vcma9.c |4 ++-- > board/ppmc8260/ppmc8260.c|2 +- > board/prodrive/p3mx/mv_eth.c |4 ++-- > board/sbc405/sbc405.c|2 +- > board/sbc8260/sbc8260.c |2 +- > board/siemens/CCM/ccm.c |2 +- > board/siemens/SCM/scm.c |2 +- > board/snmc/qs850/qs850.c |2 +- > board/snmc/qs860t/qs860t.c |2 +- > board/tqc/tqm8260/tqm8260.c |2 +- > board/trab/trab.c|2 +- > board/uc100/uc100.c |2 +- > common/cmd_nvedit.c
Re: [U-Boot] [PATCH 5/5] New implementation for internal handling of environment variables.
Dear Matthias Fuchs, In message <201007291116.15503.matthias.fu...@esd-electronics.com> you wrote: > > > Actually neither MAC addresses nor serial# are part of the default > > environment. > Right. But, I'd like to have that described feature in any case. Let's call > it different, > but the functionality would be helpful. What about a further option like '-p' > for keep > _p_rotected. I see this a s part of a sub-sequent patch (series), which adds flags to variables (like read-only, don't-save, etc.). > > No. We need the address of the pointer variable, so the function can > > store the result pointer there. > Nak. You added &-operator when calling: hexport('\0', &res, ENV_SIZE); > That's one to much. You can also remove the &-operator from this: > res = (char *)&envp->data; > > So the code will look like this: Thanks, will re-check this when I have a little more time. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The more complex the mind, the greater the need for the simplicity of play. -- Kirk, "Shore Leave", stardate 3025.8 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] config.mk: avoid -traditional-cpp on OS X 10.5
Simply trying to include a basic header file like stdlib.h on OS X 10.5 and then building with -traditional-cpp fails with lots of errors like: In file included from /usr/include/stdlib.h:63, from test.c:3: /usr/include/available.h:85: error: stray '#' in program /usr/include/available.h:85: error: syntax error before numeric constant /usr/include/available.h:86: error: stray '#' in program In the past, I hadn't noticed because the old logic for these flags were restricted to Darwin running on PowerPC systems while I'm running on an Intel system. But after some recent clean ups and changes, the flag was being applied to all Darwin systems and my host tools broke. Signed-off-by: Mike Frysinger --- Note: i've only tested Darwin/x86 as my Darwin/ppc is having hardware trouble atm ... not sure when/if i'll get it fixed config.mk | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config.mk b/config.mk index bcda776..eb95093 100644 --- a/config.mk +++ b/config.mk @@ -68,13 +68,13 @@ ifeq ($(HOSTOS),darwin) DARWIN_MAJOR_VERSION = $(shell sw_vers -productVersion | cut -f 1 -d '.') DARWIN_MINOR_VERSION = $(shell sw_vers -productVersion | cut -f 2 -d '.') -before-snow-leopard= $(shell if [ $(DARWIN_MAJOR_VERSION) -le 10 -a \ - $(DARWIN_MINOR_VERSION) -le 5 ] ; then echo "$(1)"; else echo "$(2)"; fi ;) +os_x_before= $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \ + $(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo "$(4)"; fi ;) # Snow Leopards build environment has no longer restrictions as described above -HOSTCC = $(call before-snow-leopard, "cc", "gcc") -HOSTCFLAGS += $(call before-snow-leopard, "-traditional-cpp") -HOSTLDFLAGS+= $(call before-snow-leopard, "-multiply_defined suppress") +HOSTCC = $(call os_x_before, 10, 5, "cc", "gcc") +HOSTCFLAGS += $(call os_x_before, 10, 4, "-traditional-cpp") +HOSTLDFLAGS+= $(call os_x_before, 10, 5, "-multiply_defined suppress") else HOSTCC = gcc endif -- 1.7.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] S5P: support mmc driver
Dear Wolfgang, On 4 August 2010 07:33, Wolfgang Denk wrote: > Dear Minkyu Kang, > > In message <4c331c61.9070...@samsung.com> you wrote: >> This patch adds support mmc driver for s5p SoC > ... > >> +#ifdef DEBUG_S5P_HSMMC >> +#define dbg(x...) printf(x) >> +#else >> +#define dbg(x...) do { } while (0) >> +#endif > > Can you please rework this code to use the standard debug() macro > instead of your own? Ok, I'll do. Thanks. > > Thanks. > > Best regards, > > Wolfgang Denk > > -- > DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de > "...all the good computer designs are bootlegged; the formally > planned products, if they are built at all, are dogs!" - David E. > Lundstrom, "A Few Good Men From Univac", MIT Press, 1987 > ___ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > Minkyu Kang -- 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] update the MIPS u-boot.lds
On 08/04/2010 12:29 AM, Xiangfu Liu wrote: > On 08/03/2010 07:36 PM, Shinya Kuribayashi wrote: >> Aconfccording to MAKEALL script, pb1000_ig is only used in Little- >> endian, so its default endian should be set to LE as well. I too >> missed this point in my previous patch. > > thanks. You still forgot to fix this part: | No greetings in the longlog, please. Such comments, supplements are | to go below the three-dashes (---): In other words, please remove "Hi Wolfgang" line, and in this case "v1:" and "v2:" at the same time. The resulting longlog would be like this: >From the document, if set all arguments in "OUTPUT_FORMAT" to "tradbigmips", then even add "-EL" to gcc we still get EB format. pb1x00 is only used in Little-endian, so its default endian should be set to LE as well Signed-off-by: Xiangfu Liu Acked-by: Shinya Kuribayashi --- Hi Wolfgang, v1: ... v2: ... board/dbau1x00/u-boot.lds|2 +- board/gth2/u-boot.lds|2 +- board/incaip/u-boot.lds |2 +- board/pb1x00/u-boot.lds |2 +- board/purple/u-boot.lds |2 +- board/qemu-mips/u-boot.lds |2 +- examples/standalone/mips.lds |2 +- 7 files changed, 7 insertions(+), 7 deletions(-) : : _ I recommend you to read the patch submission guide first. http://www.denx.de/wiki/U-Boot/Patches >> With fixing above nits, feel free to add: >> >> Acked-by: Shinya Kuribayashi >> > (by the way. I manually added this line to email. > is the another way to add "Acked-by" like "Signed-off-by" is "-s") Git doesn't support such feature itself, so edit commitlog manually. As an alternative, StackedGit can append those tags by "stg refresh --sign/--ack". Just for your information. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] ATTEN:$500,000.00
ATTEN:$500,000.00 has been credited in an ATMCARD in your favor,reply immediately for yourclaims.Email:atmcarddeliv...@windowslive.com and Mobile +44-703-599-4438 for more details. All banks. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 0/2] tnetv107x cpsw ethernet switch driver
This patch series adds support for the cpsw ethernet switch found on tnetv107x and other SoCs from Texas Instruments. Cyril Chemparathy (2): TI: netdev: add driver for cpsw ethernet device TI: add tnetv107x evm board support for cpsw board/ti/tnetv107xevm/sdb_board.c | 155 +++ drivers/net/Makefile |1 + drivers/net/cpsw.c| 840 + include/configs/tnetv107x_evm.h | 16 + include/netdev.h | 29 ++ 5 files changed, 1041 insertions(+), 0 deletions(-) create mode 100644 drivers/net/cpsw.c ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2] TI: add tnetv107x evm board support for cpsw
This patch adds the necessary board-level hookups to get the CPSW device working on tnetv107x evm boards. Signed-off-by: Cyril Chemparathy --- board/ti/tnetv107xevm/sdb_board.c | 155 + include/configs/tnetv107x_evm.h | 16 2 files changed, 171 insertions(+), 0 deletions(-) diff --git a/board/ti/tnetv107xevm/sdb_board.c b/board/ti/tnetv107xevm/sdb_board.c index 3ed1cfd..a7effd0 100644 --- a/board/ti/tnetv107xevm/sdb_board.c +++ b/board/ti/tnetv107xevm/sdb_board.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -139,6 +140,160 @@ int dram_init(void) return 0; } +#ifdef CONFIG_DRIVER_TI_CPSW + +#define PHY_PAGE 22 +#define PHY_MSCR 21 +#define PHY_CSCR 16 +#define PHY_PAGE_MSCR 2 +#define PHY_PAGE_DEFAULT 0 + +static void phy_init(char *name, int addr) +{ + unsigned short reg; + + /* Program RXID and TXID */ + if (miiphy_write(name, addr, PHY_PAGE, PHY_PAGE_MSCR) != 0) { + printf("failed to select mscr page\n"); + return; + } + + if (miiphy_read(name, addr, PHY_MSCR, ®) != 0) { + printf("failed to read mscr\n"); + return; + } + + reg |= 0x3 << 4;/* RXID and TXID */ + + if (miiphy_write(name, addr, PHY_MSCR, reg) != 0) { + printf("failed to write mscr\n"); + return; + } + + /* Program AutoCross */ + if (miiphy_write(name, addr, PHY_PAGE, PHY_PAGE_DEFAULT) != 0) { + printf("failed to select cscr page\n"); + return; + } + + reg = 0x0060; + if (miiphy_write(name, addr, PHY_CSCR, reg) != 0) { + printf("failed to write cscr\n"); + return; + } + + /* Enable Autonegotiation */ + if (miiphy_read(name, addr, PHY_BMCR, ®) != 0) { + printf("failed to read bmcr\n"); + return; + } + + reg |= PHY_BMCR_AUTON; + + if (miiphy_write(name, addr, PHY_BMCR, reg) != 0) { + printf("failed to write bmcr\n"); + return; + } + + /* Setup Advertisement */ + if (miiphy_read(name, addr, PHY_ANAR, ®) != 0) { + printf("failed to read anar\n"); + return; + } + + reg |= (0x1f << 5); + + if (miiphy_write(name, addr, PHY_ANAR, reg) != 0) { + printf("failed to write anar\n"); + return; + } + + /* PHY Soft Reset */ + if (miiphy_reset(name, addr) != 0) { + printf("failed to soft-reset phy\n"); + return; + } +} + +static void cpsw_control(int enabled) +{ + u32 vtp0_regs = TNETV107X_VTP_CNTRL_0; + u32 vtp1_regs = TNETV107X_VTP_CNTRL_1; + + + if (!enabled) { + clk_disable(TNETV107X_LPSC_ETHSS_RGMII); + clk_disable(TNETV107X_LPSC_ETHSS); + return; + } + + clk_enable(TNETV107X_LPSC_ETHSS); + clk_enable(TNETV107X_LPSC_ETHSS_RGMII); + + /* +* This piece of hardware is horribly mangled. For one, port +* 0 and port 1 configurations are strangely mixed up in the +* register space, i.e., writing to port 0 registers affects +* port 1 as well. Second, for some other equally mysterious +* reason, port 1 MUST be configured before port 0. +*/ + __raw_writel(0x, vtp1_regs + 0x04); /* single mode */ + __raw_writel(0x000f, vtp1_regs + 0x10); /* slew slowest */ + __raw_writel(0x0002, vtp1_regs + 0x14); /* start*/ + + __raw_writel(0x, vtp0_regs + 0x04); /* single mode */ + __raw_writel(0x000f, vtp0_regs + 0x10); /* slew slowest */ + __raw_writel(0x0002, vtp0_regs + 0x14); /* start*/ +} + +static struct cpsw_slave_data cpsw_slaves[] = { + { + .slave_reg_ofs = 0x14, + .sliver_reg_ofs = 0x80, + .phy_id = 0, + }, + { + .slave_reg_ofs = 0x34, + .sliver_reg_ofs = 0xc0, + .phy_id = 1, + }, +}; + +static struct cpsw_platform_data cpsw_data = { + .mdio_base = TNETV107X_MDIO_BASE, + .cpsw_base = TNETV107X_CPSW_BASE, + .mdio_div = 0xff, + .channels = 8, + .cpdma_reg_ofs = 0x100, + .slaves = 2, + .slave_data = cpsw_slaves, + .ale_reg_ofs= 0x500, + .ale_entries= 1024, + .host_port_reg_ofs = 0x54, + .hw_stats_reg_ofs = 0x400, + .mac_control= (1 << 18) | /* IFCTLA */ + (1 << 15) | /* EXTEN */ + (1 << 5) | /* MIIEN */ +
[U-Boot] [PATCH 1/2] TI: netdev: add driver for cpsw ethernet device
CPSW is an on-chip ethernet switch that is found on various SoCs from Texas Instruments. This patch adds a simple driver (based on the Linux driver) for this hardware module. Signed-off-by: Cyril Chemparathy --- drivers/net/Makefile |1 + drivers/net/cpsw.c | 861 ++ include/netdev.h | 29 ++ 3 files changed, 891 insertions(+), 0 deletions(-) create mode 100644 drivers/net/cpsw.c diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 218eeff..f4f1ed2 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -73,6 +73,7 @@ COBJS-$(CONFIG_SMC9) += smc9.o COBJS-$(CONFIG_SMC911X) += smc911x.o COBJS-$(CONFIG_TIGON3) += tigon3.o bcm570x_autoneg.o 5701rls.o COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o +COBJS-$(CONFIG_DRIVER_TI_CPSW) += cpsw.o COBJS-$(CONFIG_TSEC_ENET) += tsec.o COBJS-$(CONFIG_TSI108_ETH) += tsi108_eth.o COBJS-$(CONFIG_ULI526X) += uli526x.o diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c new file mode 100644 index 000..c84ec78 --- /dev/null +++ b/drivers/net/cpsw.c @@ -0,0 +1,861 @@ +/* + * CPSW Ethernet Switch Driver + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include + +#define BIT(x) (1 << (x)) +#define BITMASK(bits) (BIT(bits) - 1) +#define PHY_REG_MASK 0x1f +#define PHY_ID_MASK0x1f +#define NUM_DESCS (PKTBUFSRX * 2) +#define PKT_MIN60 +#define PKT_MAX(1500 + 14 + 4 + 4) + +/* DMA Registers */ +#define CPDMA_TXCONTROL0x004 +#define CPDMA_RXCONTROL0x014 +#define CPDMA_SOFTRESET0x01c +#define CPDMA_RXFREE 0x0e0 +#define CPDMA_TXHDP0x100 +#define CPDMA_RXHDP0x120 +#define CPDMA_TXCP 0x140 +#define CPDMA_RXCP 0x160 + +/* Descriptor mode bits */ +#define CPDMA_DESC_SOP BIT(31) +#define CPDMA_DESC_EOP BIT(30) +#define CPDMA_DESC_OWNER BIT(29) +#define CPDMA_DESC_EOQ BIT(28) + +struct cpsw_mdio_regs { + u32 version; + u32 control; +#define CONTROL_IDLE (1 << 31) +#define CONTROL_ENABLE (1 << 30) + + u32 alive; + u32 link; + u32 linkintraw; + u32 linkintmasked; + u32 __reserved_0[2]; + u32 userintraw; + u32 userintmasked; + u32 userintmaskset; + u32 userintmaskclr; + u32 __reserved_1[20]; + + struct { + u32 access; + u32 physel; +#define USERACCESS_GO (1 << 31) +#define USERACCESS_WRITE (1 << 30) +#define USERACCESS_ACK (1 << 29) +#define USERACCESS_READ(0) +#define USERACCESS_DATA(0x) + } user[0]; +}; + +struct cpsw_regs { + u32 id_ver; + u32 control; + u32 soft_reset; + u32 stat_port_en; + u32 ptype; +}; + +struct cpsw_slave_regs { + u32 max_blks; + u32 blk_cnt; + u32 flow_thresh; + u32 port_vlan; + u32 tx_pri_map; + u32 gap_thresh; + u32 sa_lo; + u32 sa_hi; +}; + +struct cpsw_host_regs { + u32 max_blks; + u32 blk_cnt; + u32 flow_thresh; + u32 port_vlan; + u32 tx_pri_map; + u32 cpdma_tx_pri_map; + u32 cpdma_rx_chan_map; +}; + +struct cpsw_sliver_regs { + u32 id_ver; + u32 mac_control; + u32 mac_status; + u32 soft_reset; + u32 rx_maxlen; + u32 __reserved_0; + u32 rx_pause; + u32 tx_pause; + u32 __reserved_1; + u32 rx_pri_map; +}; + +#define ALE_ENTRY_BITS 68 +#define ALE_ENTRY_WORDSDIV_ROUND_UP(ALE_ENTRY_BITS, 32) + +/* ALE Registers */ +#define ALE_CONTROL0x08 +#define ALE_UNKNOWNVLAN0x18 +#define ALE_TABLE_CONTROL 0x20 +#define ALE_TABLE 0x34 +#define ALE_PORTCTL0x40 + +#define ALE_TABLE_WR
Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support
> -Original Message- > From: Prafulla Wadaskar > Sent: Tuesday, August 03, 2010 5:40 PM > To: 'Albert ARIBAUD' > Cc: u-boot@lists.denx.de; tanmay.upadh...@einfochips.com; > Prabhanjan Sarnaik; Ashish Karkare > Subject: RE: [PATCH V5 4/4] edminiv2: add mvsata_ide and > cmd_ide support > ...snip... > > > > Actually two things were necessary to get ide reset to work > reliably: > > > > 1) adding a delay between the writes to SControl. > > Experimentation showed > > this delay should be at least 41 us on my board. I have set > > it to 50 us > > to play safe on possible HW characteristics dispersions. > > > > 2) moving the call(s) to mvsata_ide_initialize_port() from > > board_init() > > function to function ide_preinit(), which is called just > > before an IDE > > reset if CONFIG_IDE_INIT is set -- accordingly, I added > > ide_preinit() to > > openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h. > > > > Prafulla, can you try the patch attached above yours? > > Sure, I will try this and let you know Hi Albert It worked for me. You may post V7, then I will post my patches for Kirkwood sata support I have two more suggestion, 1. put ide_preinit function in mvsata driver, define CONFIG_IDE_PREINIT in board config file 2. pls remove the blank lines between each command in function mvsata_ide_initialize_port, it looks ugly. 3. Instead of adding fixed 41/50 usec delay between the writes to Scontrol It would be good if you can check/poll some status bit associated with IDE controller, this will make mvsata driver rock solid on any platform. Regards.. Prafulla . . > > Regards.. > Prafulla . . > > > > > If this works, then I'll backport the above fixes to > orion5x/edminiv2 > > and post a V7 patch. > > > > Amicalement, > > -- > > Albert. > > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot