06 Oct, 2017

1 commit


31 May, 2017

1 commit

  • There is no dedicated reset signal wired up for the MX6QDL thus if the
    bootloader enables the link we need some special handling to get the core
    back into a state where it is safe to touch it for configuration.

    While there has been some special handling in the Linux kernel to do this,
    it was removed in 4.11 thus we need to do it properly in the bootloader
    and therefore without this if you enable PCI in the bootloader you will hang
    while booting the 4.11 kernel.

    This puts the PCIe controller back into a safe state for the kernel driver
    before launching the kernel.

    Signed-off-by: Tim Harvey
    Reviewed-by: Fabio Estevam
    Tested-by: Peter Senna Tschudin

    Tim Harvey
     

22 Mar, 2016

1 commit


17 Mar, 2016

2 commits


05 Feb, 2016

1 commit


24 Jan, 2016

1 commit


13 Jan, 2016

8 commits


01 Dec, 2015

5 commits


23 Oct, 2015

1 commit


26 Aug, 2015

1 commit


14 Aug, 2015

2 commits


05 Aug, 2015

1 commit


04 Aug, 2015

1 commit


22 Jul, 2015

2 commits

  • It is useful to be able to find the full PCI address (bus, device and
    function) for a PCI device. Add a function to provide this.

    Adjust the existing code to use this.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present all PCI devices must be present in the device tree in order to
    be used. Many or most PCI devices don't require any configuration other than
    that which is done automatically by U-Boot. It is inefficent to add a node
    with nothing but a compatible string in order to get a device working.

    Add a mechanism whereby PCI drivers can be declared along with the device
    parameters they support (vendor/device/class). When no suitable driver is
    found in the device tree the list of such devices is consulted to determine
    the correct driver. If this also fails, then a generic driver is used as
    before.

    The mechanism used is very similar to that provided by Linux and the header
    file defintions are copied from Linux 4.1.

    Signed-off-by: Simon Glass
    Reviewed-by: Joe Hershberger

    Simon Glass
     

15 Jul, 2015

2 commits

  • Currently PCI expansion ROM address is assigned by a call to
    pciauto_setup_rom() outside of the pci auto config process.
    This does not work when expansion ROM is on a device behind
    PCI bridge where bridge's memory limit register was already
    programmed to a value that does not cover the newly assigned
    expansion ROM address. To fix this, we should configure the
    ROM address during the auto config process.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass
    Tested-by: Simon Glass
    Acked-by: Simon Glass

    Bin Meng
     
  • Only the PCI controller has access to the PCI region information. Make sure
    to use the controller (rather than any attached bridges) when configuring
    devices.

    This corrects a failure to scan and configure devices when driver model is
    enabled for PCI.

    Also add a comment to explain the problem.

    Signed-off-by: Simon Glass

    Simon Glass
     

17 Apr, 2015

3 commits


06 Feb, 2015

1 commit


24 Jan, 2015

1 commit


06 Jan, 2015

1 commit


25 Nov, 2014

1 commit


23 Nov, 2014

1 commit

  • When enumerating devices, honour the pci_skip_dev() function. This can
    be used by PCI controller drivers to restrict which devices will be
    probed.

    This is required by the NVIDIA Tegra PCIe controller driver, which will
    fail with a data abort exception if an access is attempted to a device
    number larger than 0 outside of bus 0. pci_skip_dev() is therefore
    implemented to prevent any such accesses.

    Signed-off-by: Thierry Reding
    Signed-off-by: Simon Glass

    Thierry Reding
     

09 Sep, 2014

1 commit


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