10 Aug, 2018

1 commit


27 Apr, 2018

1 commit

  • - one lane pcie gen2 link is okay, the cfg space
    of the rc/ep can be accessed.
    rc cfg base 0x5f00_0000. ep cfg base 0x6000_0000
    - limit to gen2 speed
    - mask the wait of eq3 finish, because it is used
    for gen3.
    - use pcie_ctrla_init_rc() to do the initialization
    of the pciea controller
    - setup the common pcie codes in pcie_imx8x.c, separate
    the different soc speicifed initialization codes into
    their own pcie/board codes, move the macro definitions
    into the new header file imx8_hsio.h.
    - i.MX8QXP only have PCIe Control B. Enable PORT B at default.
    i.MX8QM needs to set CONFIG_IMX_PCIEB to enable PORT B.
    - Disable the LTSSM when link is down.

    Signed-off-by: Frank Li
    Signed-off-by: Richard Zhu
    Signed-off-by: Shenwei Wang
    Signed-off-by: Ye Li
    (cherry picked from commit 03141c2b955ce6034f06e701126aea1493dc2b4b)

    Ye Li
     

26 Apr, 2018

1 commit

  • Enable pcie support in uboot on imx6sx sd boards
    - enable_pcie_clock should be call before ssp_en is set,
    since that ssp_en control the phy_ref clk gate, turn on
    it after the source of the pcie clks are stable.
    - add debug info
    - add rx_eq of gpr12 on imx6sx
    - there are random link down issue on imx6sx. It's
    pcie ep reset issue.
    solution:reset ep, then retry link can fix it.

    (cherry picked from commit ec78595a24b5ff1020baa97b6d6e79a3a3326307)
    Signed-off-by: Richard Zhu
    Signed-off-by: Ye Li
    (cherry picked from commit 81fd30250110d72992758f08b66c07306126892b)

    Ye Li
     

05 Mar, 2018

1 commit

  • Thomas reported U-Boot failed to build host tools if libfdt-devel
    package is installed because tools include libfdt headers from
    /usr/include/ instead of using internal ones.

    This commit moves the header code:
    include/libfdt.h -> include/linux/libfdt.h
    include/libfdt_env.h -> include/linux/libfdt_env.h

    and replaces include directives:
    #include -> #include
    #include -> #include

    Reported-by: Thomas Petazzoni
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

23 Feb, 2018

1 commit


28 Jan, 2018

1 commit


12 Jan, 2018

2 commits

  • By default, the subordinate is set equally to the secondary bus (1) when
    the RC boots, and does not alter afterwards.

    This means that theoretically, the highest bus reachable downstream is
    bus 1.

    Force the PCIe RC subordinate to 0xff, otherwise no downstream
    devices will be detected behind bus 1 if the booting OS does not allow
    enumerating a higher busnr than the subordinate value of the primary
    bus.

    Signed-off-by: Koen Vandeputte

    Koen Vandeputte
     
  • Before use GPIO, we need to request gpio first. Free gpio after use.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Cc: Fabio Estevam
    Reviewed-by: Stefano Babic

    Peng Fan
     

10 Jan, 2018

1 commit


29 Nov, 2017

1 commit

  • MIPS is no longer a part of Imagination Technologies, and as such my
    @imgtec.com email address will soon cease to function. This patch
    updates occurrances of it with my new @mips.com email address, and adds
    an entry in .mailmap such that git (& tools such as get_maintainer.pl
    when examining history) will use the new address.

    Signed-off-by: Paul Burton
    Cc: Daniel Schwierzeck
    Cc: u-boot@lists.denx.de

    Paul Burton
     

17 Nov, 2017

1 commit


16 Nov, 2017

1 commit


12 Oct, 2017

1 commit

  • We have at least a minor count of boards, that failed to re-initialize
    PCI express in the Linux kernel. Typical failure rate is 20% on affected
    boards. This is mitigated by commit 6ecbe1375671 ("drivers: pci: imx:
    add imx_pcie_remove function").

    However, at least on some i.MX6 custom boards, when calling
    assert_core_reset() as part of the first-time PCIe init, read access
    to PCIE_PL_PFLR simply hangs. Surround this readl() with
    imx_pcie_fix_dabt_handler() does not help. For this reason, the forced
    LTSSM detection is only used on the second assert_core_reset() that is
    called shorly before starting the Linux kernel.

    Signed-off-by: Sven-Ola Tuecke
    Signed-off-by: Fabio Estevam
    Tested-by: David Müller

    Sven-Ola Tuecke
     

06 Oct, 2017

4 commits


04 Oct, 2017

1 commit

  • U-Boot widely uses error() as a bit noisier variant of printf().

    This macro causes name conflict with the following line in
    include/linux/compiler-gcc.h:

    # define __compiletime_error(message) __attribute__((error(message)))

    This prevents us from using __compiletime_error(), and makes it
    difficult to fully sync BUILD_BUG macros with Linux. (Notice
    Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().)

    Let's convert error() into now treewide-available pr_err().

    Done with the help of Coccinelle, excluing tools/ directory.

    The semantic patch I used is as follows:

    //
    @@@@
    -error
    +pr_err
    (...)
    //

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass
    [trini: Re-run Coccinelle]
    Signed-off-by: Tom Rini

    Masahiro Yamada
     

23 Sep, 2017

1 commit


22 Sep, 2017

5 commits


24 Aug, 2017

1 commit


16 Aug, 2017

1 commit

  • We are now using an env_ prefix for environment functions. Rename these
    two functions for consistency. Also add function comments in common.h.

    Quite a few places use getenv() in a condition context, provoking a
    warning from checkpatch. These are fixed up in this patch also.

    Suggested-by: Wolfgang Denk
    Signed-off-by: Simon Glass

    Simon Glass
     

10 Aug, 2017

1 commit


02 Aug, 2017

1 commit


01 Aug, 2017

2 commits


29 Jul, 2017

1 commit

  • Update the tegra pci driver to support a live device tree. Fix the check
    for nvidia,num-lanes so that an error will actually be detected.

    Tested-by: Marcel Ziswiler
    Tested-on: Beaver, Jetson-TK1
    Signed-off-by: Simon Glass
    Tested-by: Stephen Warren

    Simon Glass
     

12 Jul, 2017

2 commits

  • This function returns the pointer to the value of a node property.
    The current name ofnode_read_prop() is confusing. Follow the naming
    of_get_property() from Linux.

    The return type (const u32 *) is wrong. DT property values can be
    strings as well as integers. This is why of_get_property/fdt_getprop
    returns an opaque pointer.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • The of_n_addr_cells() and of_n_size_cells() functions are useful for
    getting the size of addresses in a node, but in a few places U-Boot needs
    to obtain the actual property value for a node without walking up the
    stack. Add functions for this and just the existing code to use it.

    Add a comment to the existing ofnode functions which do not do the right
    thing with a flat tree.

    This fixes a problem reading PCI addresses.

    Signed-off-by: Simon Glass
    Tested-by: Marcel Ziswiler
    Tested-on: Beaver, Jetson-TK1

    Simon Glass
     

04 Jul, 2017

1 commit

  • There was for long time no activity in the 4xx area.
    We need to go further and convert to Kconfig, but it
    turned out, nobody is interested anymore in 4xx,
    so remove it.

    Signed-off-by: Heiko Schocher

    Heiko Schocher
     

27 Jun, 2017

1 commit


12 Jun, 2017

1 commit


06 Jun, 2017

1 commit


01 Jun, 2017

2 commits

  • Update the PCI uclass to support livetree. This mostly involves fixing
    the address decoding from the device tree.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • These support the flat device tree. We want to use the dev_read_..()
    prefix for functions that support both flat tree and live tree. So rename
    the existing functions to avoid confusion.

    In the end we will have:

    1. dev_read_addr...() - works on devices, supports flat/live tree
    2. devfdt_get_addr...() - current functions, flat tree only
    3. of_get_address() etc. - new functions, live tree only

    All drivers will be written to use 1. That function will in turn call
    either 2 or 3 depending on whether the flat or live tree is in use.

    Note this involves changing some dead code - the imx_lpi2c.c file.

    Signed-off-by: Simon Glass

    Simon Glass
     

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