summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
...
* | | | | | | Blackfin: drop initcode.o from combined objectMike Frysinger2010-11-19-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We explicitly link in the initcode.o in the Blackfin linker script, so there is no need to merge it into the main common object for the linker to pull in itself. This also fixes duplicate symbol errors with the new partial linking logic. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | | | | | | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2010-11-19-1/+45
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' of git://git.denx.de/u-boot-i2cWolfgang Denk2010-11-19-1/+45
| |\ \ \ \ \ \ \
| | * | | | | | | post, i2c: add missing curly bracket in i2c_post_testHeiko Schocher2010-11-17-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If CONFIG_SYS_POST_I2C_ADDRS is not defined and CONFIG_SYS_POST_I2C is activated, i2c_probe() is not called in the for statement, because missing curly bracket. Signed-off-by: Heiko Schocher <hs@denx.de>
| | * | | | | | | i2c, mpc5xxx: add multibus supportHeiko Schocher2010-11-17-0/+43
| | | |_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested on upcoming hydra (mpc5200 based) board. Signed-off-by: Heiko Schocher <hs@denx.de>
* | | | | | | | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2010-11-19-0/+6
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Merge branch 'master' of git://git.denx.de/u-boot-blackfinWolfgang Denk2010-11-19-0/+6
| |\ \ \ \ \ \ \
| | * | | | | | | Blackfin: make sure bss len is multiple of 4 bytesMike Frysinger2010-11-18-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Blackfin on-chip BootROM requires that fill operations (which is used for the bss) be aligned to 4 bytes (base addr and total len). Plus, the Blackfin early init asm code assumes the same thing. So rather than making things work for no real gain, make sure the bss len is padded to 4 bytes in the linker script. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| | * | | | | | | Blackfin: stick ins/outs funcs into their own .text sectionMike Frysinger2010-11-18-0/+5
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets the linker garbage collect these functions when they aren't actually used by placing them into the standard .text.<func> section. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | | | | | | | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2010-11-19-70/+94
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Merge branch 'net' of git://git.denx.de/u-boot-sparcWolfgang Denk2010-11-19-70/+94
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| | * | | | | | GRETH: removed space in network driver device name.Daniel Hellstrom2010-11-18-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
| | * | | | | | GRETH: fixed 2 decriptor table typosDaniel Hellstrom2010-11-18-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
| | * | | | | | GRETH: Added extra RESET, this is needed if GRETH was stopped during an ↵Daniel Hellstrom2010-11-18-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ethernet frame reception. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
| | * | | | | | GRETH: Added autodetection of PHY address, or let BSP hardcode it.Daniel Hellstrom2010-11-18-23/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
| | * | | | | | GRETH: made debug printouts use common debug() macro.Daniel Hellstrom2010-11-18-41/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
| | * | | | | | GRETH: removed unneccesary register write and one clean up.Daniel Hellstrom2010-11-18-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | | | | | | | Exclude drivers/qe/fdt.c without CONFIG_QESebastien Carlier2010-11-18-3/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously with archive libraries fdt.o was compiled and included in qe.a and then discarded by the linker. With partial linking this results in unresolved symbols, which this commit fixes. This commit also cleans up a now-useless conditional in fdt.c. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com> Tested-by: Wolfgang Denk <wd@denx.de>
* | | | | | | Makefile: Fix build with USE_PRIVATE_LIBGCCMatthias Weisser2010-11-18-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If USE_PRIVATE_LIBGCC is set the yes building fails with a missing libgcc.a As we use partial linking now it is libgcc.o now. Signed-off-by: Matthias Weisser <weisserm@arcor.de>
* | | | | | malloc: Fix issue with calloc memory possibly being non-zeroKumar Gala2010-11-17-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we set #define MORECORE_CLEARS 1, the code assumes 'sbrk' always returns zero'd out memory. However since its possible that free() returns memory back to sbrk() via malloc_trim we could possible get non-zero'd memory from sbrk(). This is a problem for when code might call calloc() and expect the memory to have been zero'd out. There are two possible solutions to this problem. 1. change #define MORECORE_CLEARS 0 2. memset to zero memory returned to sbrk. We go with the second since the sbrk being called to free up memory should be pretty rare. The following code problems an example test to show the issue. This test code was inserted right after the call to mem_malloc_init(). ... u8 *p2; int i; printf("MALLOC TEST\n"); p1 = malloc(135176); printf("P1 = %p\n", p1); memset(p1, 0xab, 135176); free(p1); p2 = calloc(4097, 1); printf("P2 = %p %p\n", p2, p2 + 4097); for (i = 0; i < 4097; i++) { if (p2[i] != 0) printf("miscompare at byte %d got %x\n", i, p2[i]); free(p2); printf("END MALLOC TEST\n\n"); ... Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Tested-by: Wolfgang Denk <wd@denx.de>
* | | | | | net: e1000: typo using wrong argument to sizeofMatthew McClintock2010-11-17-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Typo from 4b29bdb0ed08412d225a8be94f61fc6c37a59dd5 Signed-off-by: Matthew McClintock <msm@freescale.com>
* | | | | | Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-1371/+1381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* | | | | | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-11-17-290/+581
|\ \ \ \ \ \ | |/ / / / / |/| | | | / | | |_|_|/ | |/| | |
| * | | | tx25: fix linker file for newer ld supportAlbert Aribaud2010-11-17-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | older ld emitted all ELF relocations in input sections named .rel.dyn, whereas newer ld uses names of the form .rel*. The linker script only collected .rel.dyn input sections. Rewrite to collect all .rel* input sections. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
| * | | | ARM: fix linker file for newer ld supportAlbert Aribaud2010-11-17-121/+105
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | older ld emitted all ELF relocations in input sections named .rel.dyn, whereas newer ld uses names of the form .rel*. The linker script only collected .rel.dyn input sections. Rewrite to collect all .rel* input sections. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
| * | | Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk2010-11-13-113/+411
| |\ \ \
| | * | | armv7, beagle: Second SDRAM bank don;t workHeiko Schocher2010-11-04-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since commit 3667cbeed5e3c4067e624e52a916b1ebb02c8f05 on beagle board the second sdram bank didn;t longer work. Since this patch sdram settings just get copied from bank a, but CMD_NOP, CMD_PRECHARGE, CMD_AUTOREFRESH are not executed and after that mr register is also not updated. This patch adds this for the bank b. Signed-off-by: Heiko Schocher <hs@denx.de> cc: Steve Sakoman <steve@sakoman.com> cc: Sandeep Paulraj <s-paulraj@ti.com> cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | omap3evm: Fix mechanism to identify board revisionSanjeev Premi2010-11-04-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function omap3_evm_get_revision() - to identify the board revision was called at end of setup_net_chip(). Board revision can be ascertained only by identifying the Ethernet chipset - but combining setup operations with revision detection isn't a good idea. So, moved the function after call to setup_net_chip(). Function setup_net_chip() should be ideally be called only when CONFIG_CMD_NET is defined. But this leaves the board revision "undetected". This patch allows static definition of revision or default fallback to the latest revision. Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | omap3evm: Wrap function under CONFIG_USB_OMAP3Sanjeev Premi2010-11-04-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function omap3_evm_need_extvbus() is required only when USB support is configured. Wrapped this function in #ifdef CONFIG_USB_OMAP3. Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | omap3evm: Support relocationSanjeev Premi2010-11-04-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds relocation support for omap3evm. Content of the patch is based on changes for Beagleboard. Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP3: Use generic mmc driver on OMAP3 IGEP moduleEnric Balletbo i Serra2010-11-04-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch switches from the legacy mmc driver to the new generic mmc driver Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP3: Use generic mmc driver on IGEP v2Enric Balletbo i Serra2010-11-04-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch switches from the legacy mmc driver to the new generic mmc driver Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | mmc: Add multi-block read support to the generic mmc driverAlagu Sankar2010-11-04-71/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds multi-block read support for the generic MMC driver. Large reads are broken into chunks of 65535 blocks to ensure that the code works with controllers having a 16 bit block counter. This patch results in a significant performance improvement. Time to read a 45 MB file went from 36 seconds to 9 seconds on Overo Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Tested-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | mmc: Clean up generic mmc driver multi-block write functionsSteve Sakoman2010-11-04-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current mmc write implementation is type ulong, but returns int values. Some of the printf's are terminated with /n/r, one has none. This patch fixes these issues and also removes some unnecessary local variables. Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP: Fix build after introduction of GENERATED_GBL_DATA_SIZESteve Sakoman2010-11-04-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the issue by defining and using CONFIG_SYS_INIT_RAM_SIZE and CONFIG_SYS_INIT_RAM_ADDR. Based on an email discussion with Wolfgang Denk and Heiko Schocher. Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP3: Add expansion board detection for BeagleKoen Kooi2010-11-04-2/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beagle expansion boards contain an i2c eeprom to identify themselves. This patch adds code to read and parse the eeprom contents. It prints the expansion board name and revision and modifies environment variables as appropriate. This patch is based on the Overo expansion board code. Signed-off-by: Koen Kooi <k-kooi@ti.com> Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP3: Add expansion board detection for OveroSteve Sakoman2010-11-04-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overo expansion boards contain an i2c eeprom to identify themselves. This patch adds code to read and parse the eeprom contents. It prints the expansion board name and revision and modifies environment variables as appropriate. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: Fix build for non-OMAP3 boardsSteve Sakoman2010-11-04-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c3d3a54 uses CONFIG_ARMV7 to determine whether to call the v7_flush_cache_all function. This breaks the build for all non-OMAP3 boards (like Panda and OMAP4430SDP) since there is only a v7_flush_cache_all implementation for OMAP3. This patch uses CONFIG_OMAP3XXX instead of CONFIG_ARMV7 so that only boards with a v7_flush_cache_all will make the call. Tested on Beagle, Overo, Panda, and OMAP4430SDP Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| | * | | ARMV7: OMAP3: IGEP: Rename TEXT_BASESteve Sakoman2010-11-04-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 14d0a02a "Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE" missed the IGEP boards since they were just added. Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * | | | Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk2010-11-12-0/+41
| |\ \ \ \
| | * | | | AT91: add header file for the Shutdown ControllerReinhard Meyer2010-11-02-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and SHDWN address entry in at91sam9260.h Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| | * | | | AT91: add 2nd SPI to 9260/9XE/9G20Reinhard Meyer2010-10-30-0/+2
| | |/ / / | | | | | | | | | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * | | | Merge branch 'master' of /home/wd/git/u-boot/masterWolfgang Denk2010-11-12-14595/+10877
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| |
| * | | Devkit8000: Adapt changes to ARM relocation supportThomas Weber2010-10-20-35/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix compilation of Devkit8000 after introduction of ARM relocation support. Signed-off-by: Thomas Weber <weber@corscience.de> Adapt to TEXT_BASE => CONFIG_SYS_TEXT_BASE rename. Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | | Net: clarify board/cpu_eth_init callsBen Warren2010-11-15-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has always been confusing, and the idea of these functions returning the number of interfaces initialized was half-baked and ultimately pointless. Instead, act more like regular functions and return < 0 on failure, >= 0 on success. This change shouldn't break anything. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | | | Makefile: move include for config.mk upFrançois Revol2010-11-14-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorder including config.mk before the HOSTCC check, so HOSTCC is actually defined when checking for it. Signed-off-by: François Revol <revol@free.fr> Cleaned up commit message Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | | MAKEALL: Do a sanity check on user-supplied argumentsPeter Tyser2010-11-14-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a check to make sure that the user's arguments actually find a board in boards.cfg. Previously, if a user misspelled an argument the argument would be discarded without warning. For example, running 'MAKEALL -c 85xx' with the intention of compiling all Freescale 85xx boards would instead silently discard the '-c 85xx' argument since the proper cpu name is 'mpc85xx' and then proceed to compile all PowerPC boards (MAKEALL's default). Also fix an unrelated typo. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | | | pci: Use intelligent indentation for CONFIG_PCI_SCAN_SHOWPeter Tyser2010-11-14-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_PCI_SCAN_SHOW is defined U-Boot prints out PCI devices as they are found during bootup, eg: PCIE1: connected as Root Complex 01:00.0 - 10b5:8518 - Bridge device 02:01.0 - 10b5:8518 - Bridge device 03:00.0 - 10b5:8112 - Bridge device 04:01.0 - 8086:1010 - Network controller 04:01.1 - 8086:1010 - Network controller 02:02.0 - 10b5:8518 - Bridge device 02:03.0 - 10b5:8518 - Bridge device 06:00.0 - 10b5:8518 - Bridge device 07:00.0 - 10b5:8518 - Bridge device 08:00.0 - 1957:0040 - Processor 07:01.0 - 10b5:8518 - Bridge device 09:00.0 - 10b5:8112 - Bridge device 07:02.0 - 10b5:8518 - Bridge device PCIE1: Bus 00 - 0b PCIE2: connected as Root Complex 0d:00.0 - 1957:0040 - Processor PCIE2: Bus 0c - 0d This information is useful, but its difficult to determine the PCI bus topology. To things clearer, we can use indention to make it more obvious how the PCI bus is organized. For the example above, the updated output with this change is: PCIE1: connected as Root Complex 01:00.0 - 10b5:8518 - Bridge device 02:01.0 - 10b5:8518 - Bridge device 03:00.0 - 10b5:8112 - Bridge device 04:01.0 - 8086:1010 - Network controller 04:01.1 - 8086:1010 - Network controller 02:02.0 - 10b5:8518 - Bridge device 02:03.0 - 10b5:8518 - Bridge device 06:00.0 - 10b5:8518 - Bridge device 07:00.0 - 10b5:8518 - Bridge device 08:00.0 - 1957:0040 - Processor 07:01.0 - 10b5:8518 - Bridge device 09:00.0 - 10b5:8112 - Bridge device 07:02.0 - 10b5:8518 - Bridge device PCIE1: Bus 00 - 0b PCIE2: connected as Root Complex 0d:00.0 - 1957:0040 - Processor PCIE2: Bus 0c - 0d In the examples above, an MPC8640 is connected to a PEX8518 PCIe switch (01:00 and 02:0x), which is connected to another PEX8518 PCIe switch (06:00 and 07:0x), which then connects to a MPC8572 processor (08:00). Also, the MPC8640's PEX8518 PCIe switch is connected to a PCI ethernet card (04:01) via a PEX8112 PCIe-to-PCI bridge (03:00). Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | | | pci: Fix ordering of devices when CONFIG_PCI_SCAN_SHOWPeter Tyser2010-11-14-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the printing of PCI device information to before the PCI device is configured. This prevents the case where recursive scanning results in the deepest devices being printed first. This change also makes PCI lockups during enumeration easier to diagnose since the device that is being configured is printed out prior to configuration. Previously, it was not possible to determine which device caused the PCI lockup. Original example: PCIE1: connected as Root Complex 04:01.0 - 8086:1010 - Network controller 04:01.1 - 8086:1010 - Network controller 03:00.0 - 10b5:8112 - Bridge device 02:01.0 - 10b5:8518 - Bridge device 02:02.0 - 10b5:8518 - Bridge device 08:00.0 - 1957:0040 - Processor 07:00.0 - 10b5:8518 - Bridge device 09:00.0 - 10b5:8112 - Bridge device 07:01.0 - 10b5:8518 - Bridge device 07:02.0 - 10b5:8518 - Bridge device 06:00.0 - 10b5:8518 - Bridge device 02:03.0 - 10b5:8518 - Bridge device 01:00.0 - 10b5:8518 - Bridge device PCIE1: Bus 00 - 0b Updated example: PCIE1: connected as Root Complex 01:00.0 - 10b5:8518 - Bridge device 02:01.0 - 10b5:8518 - Bridge device 03:00.0 - 10b5:8112 - Bridge device 04:01.0 - 8086:1010 - Network controller 04:01.1 - 8086:1010 - Network controller 02:02.0 - 10b5:8518 - Bridge device 02:03.0 - 10b5:8518 - Bridge device 06:00.0 - 10b5:8518 - Bridge device 07:00.0 - 10b5:8518 - Bridge device 08:00.0 - 1957:0040 - Processor 07:01.0 - 10b5:8518 - Bridge device 09:00.0 - 10b5:8112 - Bridge device 07:02.0 - 10b5:8518 - Bridge device PCIE1: Bus 00 - 0b Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | | | pci: Clean up PCI info when CONFIG_PCI_SCAN_SHOWPeter Tyser2010-11-14-92/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change does the following: - Removes the printing of the PCI interrupt line value. This is normally set to 0 by U-Boot on bootup and is rarely used during everyday operation. - Prints out the PCI function number of a device. Previously a device with multiple functions would be printed identically 2 times, which is generally confusing. For example, on an Intel 2 port gigabit Ethernet card the following was displayed: ... 04 01 8086 1010 0200 00 04 01 8086 1010 0200 00 ... - Prints a text description of each device's PCI class instead of the raw PCI class code. The textual description makes it much easier to determine what devices are installed on a PCI bus. - Changes the general formatting of the PCI device output. Previous output: PCIE1: connected as Root Complex 04 01 8086 1010 0200 00 04 01 8086 1010 0200 00 03 00 10b5 8112 0604 00 02 01 10b5 8518 0604 00 02 02 10b5 8518 0604 00 08 00 1957 0040 0b20 00 07 00 10b5 8518 0604 00 09 00 10b5 8112 0604 00 07 01 10b5 8518 0604 00 07 02 10b5 8518 0604 00 06 00 10b5 8518 0604 00 02 03 10b5 8518 0604 00 01 00 10b5 8518 0604 00 PCIE1: Bus 00 - 0b PCIE2: connected as Root Complex 0d 00 1957 0040 0b20 00 PCIE2: Bus 0c - 0d Updated output: PCIE1: connected as Root Complex 04:01.0 - 8086:1010 - Network controller 04:01.1 - 8086:1010 - Network controller 03:00.0 - 10b5:8112 - Bridge device 02:01.0 - 10b5:8518 - Bridge device 02:02.0 - 10b5:8518 - Bridge device 08:00.0 - 1957:0040 - Processor 07:00.0 - 10b5:8518 - Bridge device 09:00.0 - 10b5:8112 - Bridge device 07:01.0 - 10b5:8518 - Bridge device 07:02.0 - 10b5:8518 - Bridge device 06:00.0 - 10b5:8518 - Bridge device 02:03.0 - 10b5:8518 - Bridge device 01:00.0 - 10b5:8518 - Bridge device PCIE1: Bus 00 - 0b PCIE2: connected as Root Complex 0d:00.0 - 1957:0040 - Processor PCIE2: Bus 0c - 0d Signed-off-by: Peter Tyser <ptyser@xes-inc.com>