29 Jan, 2019

2 commits


28 Jan, 2019

18 commits

  • The colibri_imx7_defconfig is for Colibri iMX7 raw NAND devices.
    Hence DFU for NAND is more useful then for MMC devices.

    Signed-off-by: Stefan Agner

    Stefan Agner
     
  • Access to CAAM in non-secure mode must be enabled by the boot
    loader first. The U-Boot CAAM driver enables access to CAAM in
    non-secure mode by default. Hence enable the CAAM driver to
    allow Linux accessing CAAM directly. This prevents error
    messages like the following on Linux boot:
    caam 30900000.caam: Entropy delay = 3200
    caam 30900000.caam: failed to acquire DECO 0
    caam 30900000.caam: failed to instantiate RNG

    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • Drop legacy pinmux/usdhc board configuration.

    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • Now that device tree is in place use DM_MMC for Colibri iMX7
    devices.

    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • Add usdhci peripherals to device tree. This allows to use DM_MMC
    for Colibri iMX7 devices.

    Signed-off-by: Stefan Agner

    Stefan Agner
     
  • Use OF_SEPARATE as suggested by the build system.

    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • Use DM and device trees for raw NAND devices by default. This
    fixes -74 NAND read errors since it makes sure the ECC settings
    are the same as used in Linux and our downstream U-Boot.

    Signed-off-by: Stefan Agner

    Stefan Agner
     
  • In preparation of adding CONFIG_DM_MMC support use separate device
    trees for raw NAND and eMMC devices.

    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • Fix mixed up boot commands between raw NAND and eMMC variant. Also
    make sure that the boot_file is defined for the eMMC boot command.

    Fixes: a62c60610f51 ("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support")
    Signed-off-by: Stefan Agner
    Acked-by: Marcel Ziswiler

    Stefan Agner
     
  • This reverts commit f7e475db4011d18b4ae974154eb022c3af6a4d16.

    This commit breaks the boot on imx8qxp evk and it should only
    be re-applied after imx8qxp evk is converted to SPL.

    Revert it for now, so that imx8qxp evk can be functional.

    Reported-by: Breno Lima
    Signed-off-by: Fabio Estevam
    Reviewed-by: Peng Fan
    Tested-by: Breno Lima

    Fabio Estevam
     
  • core is of type uint64_t. So for printing we need "%"PRIu64 (not "%lu").

    Without the patch a warning is issued when building on a 32bit system.

    Signed-off-by: Heinrich Schuchardt

    Heinrich Schuchardt
     
  • The original definition added the string mtdparts= to the Linux Kernel
    args twice: mtdparts=mtdparts=. Fix that.

    Signed-off-by: Olaf Mandel
    Reviewed-by: Marek Vasut

    Olaf Mandel
     
  • After merging the boot partition into the root partition, the splashfile
    resides in the /boot subdirectory: update the default environment to
    reflect that.

    Signed-off-by: Olaf Mandel
    Reviewed-by: Marek Vasut

    Olaf Mandel
     
  • Add support for the VXT VL050-8048NT-C01 panel connected through
    the 24 bit parallel LCDIF interface.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Otavio Salvador

    Fabio Estevam
     
  • Like it was done on imx6 in commit 9236269de57d ("imx: mx6: Fix
    implementantion reset_misc")

    Do not call lcdif_power_down() in the SPL case to fix the following
    build error:

    LD spl/u-boot-spl
    MKIMAGE u-boot.img
    arch/arm/mach-imx/built-in.o: In function `reset_misc':
    /home/fabio/ossystems/u-boot/arch/arm/mach-imx/mx7/soc.c:372: undefined reference to `lcdif_power_down'
    scripts/Makefile.spl:375: recipe for target 'spl/u-boot-spl' failed

    Signed-off-by: Fabio Estevam
    Signed-off-by: Otavio Salvador
    Signed-off-by: Fabio Estevam
    Signed-off-by: Otavio Salvador
    Reviewed-by: Peng Fan

    Fabio Estevam
     
  • Port for the PHYTEC phyBOARD-i.MX6UL-Segin single board computer. Based on
    the PHYTEC phyCORE-i.MX6UL SOM (PCL063).

    CPU: Freescale i.MX6UL rev1.2 528 MHz (running at 396 MHz)
    CPU: Industrial temperature grade (-40C to 105C) at 44C
    Reset cause: POR
    Board: PHYTEC phyCORE-i.MX6UL
    I2C: ready
    DRAM: 256 MiB
    NAND: 512 MiB
    MMC: FSL_SDHC: 0
    In: serial
    Out: serial
    Err: serial
    Net: FEC0

    Working:
    - Eth0
    - i2C
    - MMC/SD
    - NAND
    - UART (1 & 5)
    - USB (host & otg)

    Signed-off-by: Martyn Welch

    Martyn Welch
     
  • Currently if we have more than one phy on the MDIO bus, we do not have a
    good mechanism for determining which should be used at runtime. Enable the
    FEC driver to determine the address for the PHY from the device tree.

    Signed-off-by: Martyn Welch
    Reviewed-by: Lukasz Majewski

    Martyn Welch
     
  • The following NXP application notes and manual recommend to ensure the
    IVT DCD pointer is Null prior to calling HAB API authenticate_image()
    function:

    - AN12263: HABv4 RVT Guidelines and Recommendations
    - AN4581: Secure Boot on i.MX50, i.MX53, i.MX 6 and i.MX7 Series using
    HABv4
    - CST docs: High Assurance Boot Version 4 Application Programming
    Interface Reference Manual

    Commit ca89df7dd46f ("imx: hab: Convert DCD non-NULL error to warning")
    converted DCD non-NULL error to warning due to the lack of documentation
    at the time of first patch submission. We have warned U-Boot users since
    v2018.03, and it makes sense now to follow the NXP recommendation to
    ensure the IVT DCD pointer is Null.

    DCD commands should only be present in the initial boot image loaded by
    the SoC ROM. Starting in HAB v4.3.7 the HAB code will generate an error
    if a DCD pointer is present in an image being authenticated by calling the
    HAB RVT API. Older versions of HAB will process and run DCD if it is
    present, and this could lead to an incorrect authentication boot flow.

    Signed-off-by: Breno Lima
    Reviewed-by: Fabio Estevam

    Breno Matheus Lima
     

25 Jan, 2019

20 commits

  • Tom Rini
     
  • Tom Rini
     
  • mpc85xx config.mk: Add support for -msingle-pic-base

    Tom Rini
     
  • Print information about Aquantia system interface and firmware loaded
    on the phy.

    Signed-off-by: Valentin Catalin Neacsu
    Acked-by: Joe Hershberger

    Valentin-catalin Neacsu
     
  • If System Interface protocol is USXGMII then enable USXGMII autoneg

    Signed-off-by: Valentin Catalin Neacsu
    Acked-by: Joe Hershberger

    Valentin-catalin Neacsu
     
  • No mainline board enables CONFIG_MCAST_TFTP and there have been
    compilation issues with the code for some time. Additionally, it has a
    potential buffer underrun issue (reported as a side note in
    CVE-2018-18439).

    Remove the multicast TFTP code but keep the driver API for the future
    addition of IPv6.

    Cc: Simon Goldschmidt
    Signed-off-by: Chris Packham
    Acked-by: Joe Hershberger

    Chris Packham
     
  • ether_crc was added to the core net code in commit 53a5c424bf86
    ("multicast tftp: RFC2090") so that other drivers could use it. However
    the only current user of it is tsec.c so move it there.

    Signed-off-by: Chris Packham
    Acked-by: Joe Hershberger

    Chris Packham
     
  • According to the datasheet to access the extended registers we have to:

    1. Write Register 31 Data = 0x0XYZ (Page 0xXYZ)
    2. Read/Write the target Register Data
    3. Write Register 31 Data = 0x0000 or 0xa42 (switch back to IEEE
    Standard Registers)

    Hook the missing functions so that we can use the `mdio rx/wx` command to
    easily access the extended registers.

    Signed-off-by: Carlo Caione
    Acked-by: Joe Hershberger

    Carlo Caione
     
  • Some architectures (MIPS) needs mapping to access IOMEM.
    Fix that.

    Fixes: f1dcc19b213d ("net: macb: Convert to driver model")

    Signed-off-by: Ramon Fried
    Acked-by: Joe Hershberger

    Ramon Fried
     
  • This patch add GPIO configuration support in mvneta driver.
    Driver will handle PHY reset. GPIO pins should be set in device tree.

    Ported from mvpp2x
    [https://patchwork.ozlabs.org/patch/799654/]

    Initial discussion to port the changes into mvneta
    [https://patchwork.ozlabs.org/patch/1005765/]

    Signed-off-by: Aditya Prayoga
    Tested-by: Dennis Gilmore
    Reviewed-by: Stefan Roese
    Acked-by: Joe Hershberger

    Aditya Prayoga
     
  • Some existing device trees don't specify a phy-mode so fallback to GMII
    when a phy-mode is not provided.

    Signed-off-by: Chris Packham
    Reviewed-by: Stefan Roese
    Acked-by: Joe Hershberger

    Chris Packham
     
  • For KSZ9021, all skew register fields are 4-bit wide.
    For KSZ9031, the clock skew register fields are 5-bit wide.

    The common code in ksz90x1_of_config_group calculating the combined
    register value checks if the requested value is above the maximum
    and uses this maximum if so. The calculation of this maximum uses
    the register width, but the check itself does not. It uses a hardcoded
    value of 0xf, which is too low in case of the 5-bit clock (0x1f).
    This detail was probably lost during driver unification.

    Effect (only for KSZ9031 clock skews): For values greater 900 (== 0ps),
    this silently results in 1860 (== +960ps) instead of the requested one.

    Fix the check by using the bit width instead of hardcoded value(s).

    Signed-off-by: Andreas Pretzsch
    Acked-by: Joe Hershberger

    Andreas Pretzsch
     
  • With CONFIG_REGEX enabled, ETHADDR_WILDCARD is set up for up to 10
    interfaces (0..9) as the number can only have one digit.

    On boards with more than 10 interfaces, this leads to the protection
    and format checks being absent for eth10addr and above.

    Fix this by changing ETHADDR_WILDCARD from "\\d?" to "\\d*" to allow
    more than one digit.

    Signed-off-by: Simon Goldschmidt
    Acked-by: Joe Hershberger

    Simon Goldschmidt
     
  • ETHADDR_WILDCARD is defined as the same value in both env_flags.h
    and env_callback.h

    As env_callback.h includes env_flags.h, remove the duplicate definition
    from env_callback.h

    Signed-off-by: Simon Goldschmidt
    Acked-by: Joe Hershberger

    Simon Goldschmidt
     
  • When dealing with two ethernet ports and having "netretry" set
    to "once", it could occur that the connection (e.g. an ARP
    request) failed, hence the status of the netloop was
    "NETLOOP_FAIL". Due to the setting of "netretry", the network
    logic would then switch to the other network interface,
    assigning "ret" with the return value of "net_start_again()".
    If this call succeeded we would return 0 (i.e. success) to
    the caller when in reality the network action failed.

    Signed-off-by: Thomas RIENOESSL
    Reviewed-by: Christian Gmeiner
    Acked-by: Joe Hershberger

    Thomas RIENOESSL
     
  • Current code forces all ports on a given Ethernet device to use the same
    mdio device. In practice different ports might be wired to separate mdio
    devices. Move the mdio device from the container struct mvpp2 to the per
    port struct mvpp2_port.

    Cc: Ken Ma
    Cc: Stefan Chulski
    Signed-off-by: Baruch Siach
    Reviewed-by: Stefan Roese
    Acked-by: Joe Hershberger

    Baruch Siach
     
  • Current mdio base lookup code relies on a 'reg' property at the upper CP
    node. There is no 'reg' property there in current DT files of Armada
    CP110. Use ofnode_get_addr() instead since it provides proper DT address
    translation.

    Cc: Ken Ma
    Cc: Stefan Chulski
    Signed-off-by: Baruch Siach
    Reviewed-by: Stefan Roese
    Acked-by: Joe Hershberger

    Baruch Siach
     
  • Short frames are padded to the minimum allowed size of 60 bytes.
    However, the designware driver sends old data in these padding bytes.
    It is common practice to zero out these padding bytes ro prevent
    leaking memory contents to other hosts.

    Fix the padding code to zero out the padded bytes at the end.

    Tested on socfpga gen5.

    Signed-off-by: Simon Goldschmidt
    Acked-by: Joe Hershberger

    Simon Goldschmidt
     
  • The designware driver has a bug in setting the tx length into the dma
    descriptor: it always or's the length into the descriptor without
    zeroing out the length mask before.

    This results in occasional packets being transmitted with a length
    greater than they should be (trailer). Due to the nature of Ethernet
    allowing such a trailer, most packets seem to be parsed fine by remote
    hosts, which is probably why this hasn't been noticed.

    Fix this by correctly clearing the size mask before setting the new
    length.

    Tested on socfpga gen5.

    Signed-off-by: Simon Goldschmidt
    Acked-by: Joe Hershberger
    Reviewed-by: Philipp Tomsich

    Simon Goldschmidt
     
  • The phy devices can be accessed via clause 22 or via clause 45.
    This information can be deduced when we read phy id. if the phy id
    is read without giving any MDIO Manageable Device Address (MMD), then
    it conforms to clause 22. otherwise it conforms to clause 45.

    Signed-off-by: Pankaj Bansal
    Acked-by: Joe Hershberger

    Pankaj Bansal