10 Nov, 2013

1 commit

  • This patch simply #ifdef's out the C-specific parts of pci.h when it is
    included by an assembly file. This will allow the macros it contains to
    be used from assembly source as will be done in a followup commit adding
    support for more modern MIPS Malta boards.

    Signed-off-by: Paul Burton

    Paul Burton
     

17 Oct, 2013

1 commit

  • Previously, the address of a requested capability is define like that
    "#define PCI_DCR 0x78"
    But, the addresses of capabilities is different with regard to PCIe revs.
    So this method is not flexible.

    Now a function to get the address of a requested capability is added and used.
    It can get the address dynamically by capability ID.
    The step of this function:
    1. Read Status register in PCIe configuration space to confirm that
    Capabilities List is valid.
    2. Find the address of Capabilities Pointer Register.
    3. Find the address of requested capability from the first capability.

    Signed-off-by: Zhao Qiang

    Zhao Qiang
     

10 Aug, 2013

1 commit

  • T4240 PCIe IP is version 3.0 and has some update comparing previous
    QorIQ products.

    1. Move Freescale specific register define
    to
    arch/powerpc/include/asm/fsl_pci.h
    and update the register offset define for T4240.

    2. add the status/control register define
    use status/control register to judge the link status

    3. The original code uses 'Programming Interface' field to judge if PCIE is
    EP or RC mode, however, T4240 does not support this functionality.
    According to PCIE specification, 'Header Type' offset 0x0e is used to
    indicate header type, so for PCIE controller, the patch changes code to
    use 'Header Type' field to identify if the PCIE is RC or EP mode.

    This patch fixes the PCIe card link up issue on T4240QDS.

    Signed-off-by: Roy Zang
    Signed-off-by: Minghuan Lian
    Signed-off-by: York Sun

    Zang Roy-R61911
     

24 Jul, 2013

1 commit


26 Jun, 2013

1 commit


08 Jun, 2013

1 commit

  • The pci_indirect.c file is always compiled when
    CONFIG_PCI is defined although the indirect PCI
    bridge support is not needed by every board.

    Introduce a new CONFIG_PCI_INDIRECT_BRIDGE
    config option and only compile indirect PCI
    bridge support if this options is enabled.

    Also add the new option into the configuration
    files of the boards which needs that.

    Compile tested for powerpc, x86, arm and nds32.
    MAKEALL results:

    powerpc:
    --------------------- SUMMARY ----------------------------
    Boards compiled: 641
    Boards with warnings but no errors: 2 ( ELPPC MPC8323ERDB )
    ----------------------------------------------------------
    Note: the warnings for ELPPC and MPC8323ERDB are present even
    without the actual patch.

    x86:
    --------------------- SUMMARY ----------------------------
    Boards compiled: 1
    ----------------------------------------------------------

    arm:
    --------------------- SUMMARY ----------------------------
    Boards compiled: 311
    ----------------------------------------------------------

    nds32:
    --------------------- SUMMARY ----------------------------
    Boards compiled: 3
    ----------------------------------------------------------

    Cc: Tom Rini
    Cc: Daniel Schwierzeck
    Signed-off-by: Gabor Juhos

    Gabor Juhos
     

07 Dec, 2012

1 commit


31 Mar, 2012

1 commit

  • The FSL PCI driver uses local prototypes for
    pciauto_[pre|post]scan_setup_bridge(), this does not seem right,
    so move them to the file.

    Fixed a small extern declaration too, this is harmless but distracts
    the view since all other prototypes are explicitly external.

    Signed-off-by: Linus Walleij

    Linus Walleij
     

05 Mar, 2012

1 commit

  • Fixing build regressions for the Integrator I get find that a few
    boards try to work around the missing declaration of
    pciauto_config_init() by declaring it in the local scope. This
    does not make sense when the sibling functions are in
    so move the function to the header, ridding the build error
    in the Integrator and getting rid of the local declarations
    here and there.

    Reported-by: Wolfgang Denk
    Signed-off-by: Linus Walleij

    Linus Walleij
     

29 Mar, 2011

1 commit


06 Feb, 2011

1 commit

  • This patch fix a problem for the pcie enumeration when the mpc83xx
    pcie controller is connected with switch or we use both of the two
    pcie controller.

    Signed-off-by: Leo Liu

    fix codingstyle and compiler warning: 'pcie_priv' defined but not used

    Signed-off-by: Kim Phillips

    Leo Liu
     

14 Jan, 2011

1 commit

  • Previously we passed in a specifically named struct pci_controller to
    determine if we had setup the particular PCI bus. Now we can search for
    the struct so we dont have to depend on the name or the struct being
    statically allocated.

    Introduced new find_hose_by_cfg_addr() to get back a pci_controller struct
    back by searching for it means we can do things like dynamically allocate
    them or not have to expose the static structures to all users.

    Signed-off-by: Kumar Gala
    Acked-by: Wolfgang Denk

    Kumar Gala
     

15 Nov, 2010

1 commit

  • 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

    Peter Tyser
     

29 Aug, 2009

1 commit


24 Feb, 2009

1 commit

  • This is just a handy routine that reports last PCI busno: we walk
    down all the hoses and return last hose's last_busno.

    Will be used by PCI/PCIe initialization code.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Kim Phillips

    Anton Vorontsov
     

10 Feb, 2009

1 commit


08 Feb, 2009

1 commit


22 Jan, 2009

1 commit

  • This patch adds support for MPC83xx PCI-E controllers in Root Complex
    mode.

    The patch is based on Tony Li and Dave Liu work[1].

    Though unlike the original patch, by default we don't register PCI-E
    buses for use in U-Boot, we only configure the controllers for future
    use in other OSes (Linux). This is done because we don't have enough
    of spare BATs to map all the PCI-E regions.

    To actually use PCI-E in U-Boot, users should explicitly define
    CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES symbol in the board file. And
    only then U-Boot will able to access PCI-E, but at the cost of disabled
    address translation.

    [1] http://lists.denx.de/pipermail/u-boot/2008-January/027630.html

    Signed-off-by: Tony Li
    Signed-off-by: Anton Vorontsov
    Acked-by: Dave Liu
    Signed-off-by: Kim Phillips

    Anton Vorontsov
     

25 Oct, 2008

1 commit

  • PCI bus is inherently 64-bit. While not all system require access to
    the full 64-bit PCI address range some do. This allows those systems
    to enable the full PCI address width via CONFIG_SYS_PCI_64BIT.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Fleming-AFLEMING
    Acked-by: Wolfgang Denk

    Kumar Gala
     

10 May, 2008

1 commit


06 Aug, 2007

1 commit

  • All of the PCI/PCI-Express driver and initialization code that
    was in the MPC8641HPCN port has now been moved into the common
    drivers/fsl_pci_init.c. In a subsequent patch, this will be
    utilized by the 85xx ports as well.

    Common PCI-E IMMAP register blocks for FSL 85xx/86xx are added.

    Also enable the second PCI-Express controller on 8641
    by getting its BATS and CFG_ setup right.

    Fixed a u16 vendor compiler warning in AHCI driver too.

    Signed-off-by: Ed Swarthout
    Signed-off-by: Zhang Wei
    Signed-off-by: Jon Loeliger

    Ed Swarthout
     

20 Oct, 2006

1 commit


10 Aug, 2006

1 commit


13 Mar, 2006

1 commit


12 Mar, 2006

1 commit


12 Jan, 2006

1 commit

  • If a host controller sets up a region as prefetchable and
    a device's BAR denotes it as prefetchable, allocate the
    BAR into the prefetch region.

    If a BAR is prefetchable and no prefetchable region has
    been setup by the controller we fall back to allocating
    the BAR into the normally memory region.
    Patch by Kumar Gala 11 Jan 2006

    Kumar Gala
     

01 Aug, 2005

1 commit


01 Jun, 2003

1 commit

  • Fixed rarp boot method for IA32 and other little-endian CPUs.

    * Patch by Marc Singer, 28 May 2003:
    Added port I/O commands.

    * Patch by Matthew McClintock, 28 May 2003
    - cpu/mpc824x/start.S: fix relocation code when booting from RAM
    - minor patches for utx8245

    * Patch by Daniel Engström, 28 May 2003:
    x86 update

    * Patch by Dave Ellis, 9 May 2003 + 27 May 2003:
    add nand flash support to SXNI855T configuration
    fix/extend nand flash support:
    - fix 'nand erase' command so does not erase bad blocks
    - fix 'nand write' command so does not write to bad blocks
    - fix nand_probe() so handles no flash detected properly
    - add doc/README.nand
    - add .jffs2 and .oob options to nand read/write
    - add 'nand bad' command to list bad blocks
    - add 'clean' option to 'nand erase' to write JFFS2 clean markers
    - make NAND read/write faster

    * Patch by Rune Torgersen, 23 May 2003:
    Update for MPC8266ADS board

    wdenk
     

19 Nov, 2002

1 commit

  • Add code for AmigaOne board
    (preliminary merge to U-Boot, still WIP)

    * Patch by Jon Diekema, 12 Nov 2002:
    - Adding URL for IEEE OUI lookup
    - Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED
    being defined.
    - In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and
    root-on-nfs macros are designed to switch how the default boot
    method gets defined.

    wdenk
     

03 Nov, 2002

1 commit