21 Jan, 2020

6 commits


16 Jan, 2020

1 commit


07 Jan, 2020

1 commit

  • Make first step in DT/DM migration. Enable OF_CONTROL only for the main
    U-Boot image for now.

    Remove mmc_init_main() because board_mmc_init() is not called when
    DM_MMC is enabled.

    DM_MMC requires DM_GPIO for card-detect to work. That in turn makes gpio
    request mandatory. Add code to request/free gpios in platform code.

    MMC devices are now numbered according to DT. The SD card is 1, and eMMC
    is 2. Account for that in board_mmc_get_env_dev(), BOOT_TARGET_DEVICES,
    and has_emmc().

    DM_MMC requires BLK. However, the (BLK && !DM_USB) combination disables
    USB_STORAGE. Enable DM_USB to preserve USB functionality. Add also
    DM_REGULATORS for the USB power controller. This allows us to drop
    board_ehci_hcd_init() and setup_usb().

    Runtime selection of DT is necessary because of the i.MX6QD vs i.MX6SDL
    incompatibility. DT selection does not rely on GPIOs, since DM_GPIO
    depends on DT. Instead, we take one "fully featured" DT of each variant.
    That should be enough to boot from both SD card and eMMC.

    Since we don't select the exact DT, override the generic
    show_board_info() that shows the selected DT 'model' field.

    Signed-off-by: Baruch Siach
    Reviewed-by: Fabio Estevam

    Baruch Siach
     

06 Dec, 2019

1 commit


03 Dec, 2019

1 commit


12 Aug, 2019

1 commit


11 Jul, 2019

1 commit


23 Jun, 2019

1 commit


12 Apr, 2019

1 commit


21 Jan, 2019

1 commit


08 Dec, 2018

1 commit

  • This syncs drivers/ddr/marvell/a38x/ with the mv_ddr-armada-18.09 branch
    of https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git.
    Specifically this syncs with commit 99d772547314 ("Bump mv_ddr to
    release armada-18.09.2").

    The complete log of changes is best obtained from the mv-ddr-marvell.git
    repository but some relevant highlights are:

    ddr3: add missing txsdll parameter
    ddr3: fix tfaw timimg parameter
    ddr3: fix trrd timimg parameter
    merge ddr3 topology header file with mv_ddr_topology one
    mv_ddr: a38x: fix zero memory size scrubbing issue

    The upstream code is incorporated omitting the portions not relevant to
    Armada-38x and DDR3. After that a semi-automated step is used to drop
    unused features with unifdef

    find drivers/ddr/marvell/a38x/ -name '*.[ch]' | \
    xargs unifdef -m -UMV_DDR -UMV_DDR_ATF -UCONFIG_DDR4 \
    -UCONFIG_APN806 -UCONFIG_MC_STATIC \
    -UCONFIG_MC_STATIC_PRINT -UCONFIG_PHY_STATIC \
    -UCONFIG_64BIT -UCONFIG_A3700 -UA3900 -UA80X0 \
    -UA70X0

    Signed-off-by: Chris Packham
    Reviewed-by: Stefan Roese
    Tested-by: Baruch Siach
    Signed-off-by: Stefan Roese

    Chris Packham
     

21 Nov, 2018

1 commit


06 Aug, 2018

1 commit

  • Move the gdsys Controlcenter DC specific build time kwbimage.cfg
    generation code into the mach-mvebu/ directory to be shared by all 32bit
    mvebu platforms.

    Remove board specific kwbimage.cfg files, and use the generated one
    instead. These files are all identical, with two exceptions. Clearfog
    and Helios4 use the sdio boot device, whereas all others use spi. Update
    the defconfigs for the exceptional boards to generate the same
    kwbimage.cfg as before.

    Signed-off-by: Baruch Siach
    Signed-off-by: Stefan Roese

    Baruch Siach
     

23 Jul, 2018

2 commits


18 Jun, 2018

2 commits

  • The soms with 4GB ddr have a rowaddr of 16 not 15, this allows
    the detection mechanism to properly identify them as 4GB.
    However these soms can be populated with whatever amount of
    memory the customer requests therefor we need a ram stride test.
    We can not use the get_ram_size() function because not all 4GB's
    of DDR is addressable on a 32-bit architecture. Therefore instead
    we use a memory stride of 128MB's and look for the address that
    the memory wraps. This function is used for all som types to
    catch most memory configurations.

    This is a revised version of Rabeeh Khoury's original code.

    Signed-off-by: Jon Nettleton
    Signed-off-by: Rabeeh Khoury
    Signed-off-by: Baruch Siach
    Reviewed-by: Fabio Estevam

    Jon Nettleton
     
  • In order to properly detect the board the checks need to be done
    in a specific order. Move these tests back into a single enum
    function that will always return the proper the board it is checking.

    This also adds the best test we have for detecting the rev 1.5 som,
    and it simplifies the device-tree filename building.

    Signed-off-by: Jon Nettleton
    Signed-off-by: Baruch Siach
    Reviewed-by: Fabio Estevam

    Jon Nettleton
     

05 Jun, 2018

1 commit


14 May, 2018

2 commits

  • This restores support for configuring the timing mode based on the
    ddr_topology. This was originally implemented in commit 90bcc3d38d2b
    ("driver/ddr: Add support for setting timing in hws_topology_map") but
    was removed as part of the upstream sync.

    Signed-off-by: Chris Packham
    Signed-off-by: Stefan Roese

    Chris Packham
     
  • This syncs drivers/ddr/marvell/a38x/ with the mv_ddr-armada-17.10 branch
    of https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git.

    The upstream code is incorporated omitting the ddr4 and apn806 and
    folding the nested a38x directory up one level. After that a
    semi-automated step is used to drop unused features with unifdef

    find drivers/ddr/marvell/a38x/ -name '*.[ch]' | \
    xargs unifdef -m -UMV_DDR -UMV_DDR_ATF -UCONFIG_DDR4 \
    -UCONFIG_APN806 -UCONFIG_MC_STATIC \
    -UCONFIG_MC_STATIC_PRINT -UCONFIG_PHY_STATIC \
    -UCONFIG_64BIT

    INTER_REGS_BASE is updated to be defined as SOC_REGS_PHY_BASE.

    Some now empty files are removed and the ternary license is replaced
    with a SPDX GPL-2.0+ identifier.

    Signed-off-by: Chris Packham
    Signed-off-by: Stefan Roese

    Chris Packham
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

15 Apr, 2018

1 commit


09 Jan, 2018

1 commit


30 Nov, 2017

1 commit

  • The order of members in struct hws_topology_map is cas_wl, cas_l. The
    comments in the original db-88f6820-gp.c had this wrong and have been
    copied to other Armada-385 based boards. Practically this hasn't made a
    difference since all these boards set both cas_wl and cas_l to 0
    (autodetect) but if there were ever a board that did need to set these
    explicitly they would run into unexpected issued.

    Update the comments to reflect the correct order of structure members.

    Reported-by: Tobi Wulff
    Signed-off-by: Chris Packham
    Reviewed-by: Stefan Roese
    Signed-off-by: Stefan Roese

    Chris Packham
     

12 Oct, 2017

1 commit


26 Sep, 2017

1 commit


20 Sep, 2017

1 commit

  • The hummingboard2 is slightly different to the cubox i and to the
    hummingboard. The GPIO pin info to probe came from solidruns
    for of u-boot on github.
    https://github.com/SolidRun/u-boot-imx6/blob/imx6/board/solidrun/mx6_cubox-i/mx6_cubox-i.c#L569-L589
    I have tested on a hummingboard-edge witha imx6 solo and 512mb of
    ram.

    Signed-off-by: Dennis Gilmore

    Dennis Gilmore
     

28 Aug, 2017

1 commit


16 Aug, 2017

1 commit


18 Jul, 2017

1 commit


12 Jul, 2017

4 commits

  • Change is consistent with other SOCs and it is in preparation
    for adding SOMs. SOC's related files are moved from cpu/ to
    mach-imx/.

    This change is also coherent with the structure in kernel.

    Signed-off-by: Stefano Babic

    CC: Fabio Estevam
    CC: Akshay Bhat
    CC: Ken Lin
    CC: Marek Vasut
    CC: Heiko Schocher
    CC: "Sébastien Szymanski"
    CC: Christian Gmeiner
    CC: Stefan Roese
    CC: Patrick Bruenn
    CC: Troy Kisky
    CC: Nikita Kiryanov
    CC: Otavio Salvador
    CC: "Eric Bénard"
    CC: Jagan Teki
    CC: Ye Li
    CC: Peng Fan
    CC: Adrian Alonso
    CC: Alison Wang
    CC: Tim Harvey
    CC: Martin Donnelly
    CC: Marcin Niestroj
    CC: Lukasz Majewski
    CC: Adam Ford
    CC: "Albert ARIBAUD (3ADEV)"
    CC: Boris Brezillon
    CC: Soeren Moch
    CC: Richard Hu
    CC: Wig Cheng
    CC: Vanessa Maegima
    CC: Max Krummenacher
    CC: Stefan Agner
    CC: Markus Niebel
    CC: Breno Lima
    CC: Francesco Montefoschi
    CC: Jaehoon Chung
    CC: Scott Wood
    CC: Joe Hershberger
    CC: Anatolij Gustschin
    CC: Simon Glass
    CC: "Andrew F. Davis"
    CC: "Łukasz Majewski"
    CC: Patrice Chotard
    CC: Nobuhiro Iwamatsu
    CC: Hans de Goede
    CC: Masahiro Yamada
    CC: Stephen Warren
    CC: Andre Przywara
    CC: "Álvaro Fernández Rojas"
    CC: York Sun
    CC: Xiaoliang Yang
    CC: Chen-Yu Tsai
    CC: George McCollister
    CC: Sven Ebenfeld
    CC: Filip Brozovic
    CC: Petr Kulhavy
    CC: Eric Nelson
    CC: Bai Ping
    CC: Anson Huang
    CC: Sanchayan Maity
    CC: Lokesh Vutla
    CC: Patrick Delaunay
    CC: Gary Bisson
    CC: Alexander Graf
    CC: u-boot@lists.denx.de
    Reviewed-by: Fabio Estevam
    Reviewed-by: Christian Gmeiner

    Stefano Babic
     
  • The Cubox-i and Hummingboard series of devices have an option of
    SATA on board, and depending on how the fuses are blown even the
    option to boot SPL from SATA. So enable support for it so it can
    be used to boot the OS from if people desire.

    Cc: Fabio Estevam
    Signed-off-by: Peter Robinson
    Acked-by: Fabio Estevam

    Peter Robinson
     
  • The clearfog uses Armada 388.

    Cc: Stefan Roese
    Signed-off-by: Baruch Siach
    Signed-off-by: Stefan Roese

    Baruch Siach
     
  • The DDR3 training code for Marvell A38X currently computes 1t timing
    when given board topology map of the Turris Omnia, but Omnia needs 2t.

    This patch adds support for enforcing the 2t timing in struct
    hws_topology_map, through a new enum hws_timing, which can assume
    following values:
    HWS_TIM_DEFAULT - default behaviour, compute whether to enable 2t
    from the number of CSs
    HWS_TIM_1T - enforce 1t
    HWS_TIM_2T - enforce 2t

    This patch also sets all the board topology maps (db-88f6820-amc,
    db-88f6820-gp, controlcenterdc and clearfog) to have timing set to
    HWS_TIM_DEFAULT.

    Signed-off-by: Marek Behun
    Reviewed-by: Stefan Roese
    Signed-off-by: Stefan Roese

    Marek Behún
     

31 May, 2017

1 commit

  • Use GPIO19 which is wired to the uSOM phy reset signal in order to reset
    the uSOM's 1512 Gigabit Ethernet phy.

    This GPIO is valid on ClearFog rev 2.1 and newer.

    Taken from SolidRun's specialised u-boot, see
    https://github.com/SolidRun/u-boot-armada38x/commit/f906e3df172e07ac82cdd87b278d7896949262ea

    Signed-off-by: Patrick Wildt
    Signed-off-by: Stefan Roese

    Patrick Wildt