21 Jul, 2018

7 commits


20 Jul, 2018

14 commits


19 Jul, 2018

13 commits

  • commit 4aba5fb857c1 ("arm: zynq: Rework FPGA initialization")
    moved FPGA initialization from board_init() to arch_early_init_r(),
    which is not called as part of the SPL

    Fix this by calling arch_early_init_r() in the spl_board_init()
    function, so the FPGA is correctly initialized

    Signed-off-by: Luis Araneda
    Signed-off-by: Michal Simek

    Luis Araneda
     
  • Add configuration files/dtses for mini u-boot configuration
    which runs on smaller footprint of internal memory. This
    configuration has only required qspi flash support and it
    uses DCC as serial.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek

    Siva Durga Prasad Paladugu
     
  • Add configuration files/dtses for mini u-boot configuration
    which runs on smaller footprint OCM memory. This configuration
    only has required parallel nor flash support.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek

    Siva Durga Prasad Paladugu
     
  • Add configuration files/dtses for mini u-boot configuration
    which runs on smaller footprint of memory. This configuration
    has only required nand flash support.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek

    Siva Durga Prasad Paladugu
     
  • This patch renames the routine fdtdec_setup_memory_size()
    to fdtdec_setup_mem_size_base() as it now fills the
    mem base as well along with size.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek
    Reviewed-by: Tom Rini

    Siva Durga Prasad Paladugu
     
  • There is no reason to save variables to flash only.
    Select option via Kconfig instead.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Converting GPIO to DM requires to do changes in reset subsystem
    that's why support for Microblaze soft reset via sysreset and GPIO
    sysreset support was added.
    These two patches enables enabling GPIO DM.
    Microblaze soft reset is bind at last reset method.

    GPIO reset is handled via sysreset with adding this fragment to DT.

    gpio-restart {
    compatible = "gpio-restart";
    gpios = ;
    /* 3rd cell ACTIVE_HIGH = 0, ACTIVE_LOW = 1 */
    };

    hard-reset-gpio property is not documented and also handled.
    Conversion is required.

    Unfortunately do_reset is required for SPL that's why use only soft
    microblaze reset for now.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • There is only one chipselect on each connector.
    Define it directly in board dts file.
    There should be an option to use more chipselects via gpios.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Signed-off-by: Shreenidhi Shedi
    Signed-off-by: Michal Simek

    Shreenidhi Shedi
     
  • Timer needs to be converted to DM but as of now it can't be called so
    early because intc controller is not ready. Call it later in board_r.c.
    Before this patch timer_init is called twice which is wrong.
    The patch is blocking initialization before relocation.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     
  • There is no reason not to use default ioremap/iounmap io functions.
    The patch remove Microblaze macros.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • This patch basically adds two new commands for loadig secure
    images.
    1. zynq rsa adds support to load secure image which can be both
    authenticated or encrypted or both authenticated and encrypted
    image in xilinx bootimage(BOOT.bin) format.
    2. zynq aes command adds support to decrypt and load encrypted
    image back to DDR as per destination address. The image has
    to be encrypted using xilinx bootgen tool and to get only the
    encrypted image from tool use -split option while invoking
    bootgen.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek

    Siva Durga Prasad Paladugu
     
  • U-Boot needs to link ps7_init_gpl.c on Zynq or psu_init_gpl.c on
    ZynqMP (PS init for short). The current logic to locate this file for
    both platforms is:

    1. if a board-specific file exists in
    board/xilinx/zynq[mp]/$(CONFIG_DEFAULT_DEVICE_TREE)/ps?_init_gpl.c
    then use it
    2. otherwise use board/xilinx/zynq/ps?_init_gpl.c

    In the latter case the file does not exist in the U-Boot sources and
    must be copied in the source tree from the outside before starting the
    build. This is typical when it is generated from Xilinx tools while
    developing a custom hardware. However making sure that a
    board-specific file is _not_ found (and used) requires some trickery
    such as removing or overwriting all PS init files (e.g.: the current
    meta-xilinx yocto layer).

    This generates a few problems:

    * if the source tree is shared among different out-of-tree builds,
    they will pollute (and potentially corrupt) each other
    * the source tree cannot be read-only
    * any buildsystem must add a command to copy the PS init file binary
    * overwriting or deleting files in the source tree is ugly as hell

    Simplify usage by allowing to pass the path to the desired PS init
    file in kconfig variable XILINX_PS_INIT_FILE. It can be an absolute
    path or relative to $(srctree). If the variable is set, the
    user-specified file will always be used without being copied
    around. If the the variable is left empty, for backward compatibility
    fall back to the old behaviour.

    Since the issue is the same for Zynq and ZynqMP, add one kconfig
    variable in a common place and use it for both.

    Also use the new kconfig help text to document all the ways to give
    U-Boot the PS init file.

    Build-tested with all combinations of:
    - platform: zynq or zynqmp
    - PS init file: from XILINX_PS_INIT_FILE (absolute, relative path,
    non-existing), in-tree board-specific, in board/xilinx/zynq[mp]/
    - building in-tree, in subdir, in other directory

    Signed-off-by: Luca Ceresoli
    Cc: Albert Aribaud
    Cc: Michal Simek
    Cc: Nathan Rossi
    Signed-off-by: Michal Simek

    Luca Ceresoli
     

18 Jul, 2018

1 commit


17 Jul, 2018

1 commit

  • The Libretech ALL-H3-CC has a high density connector for attaching
    an eMMC module. The module form factor and connection is specific
    to Libretech, and has provisions for split vmmc/vqmmc (core and I/O)
    voltage supplies, but this board does not wire the vqmmc side. The
    H2+/H3/H5 SoCs do not support alternate I/O voltages for eMMC either.
    Only 3.3V is supported. A specific module that ties vqmmc to vmmc,
    with both at 3.3V, must be used.

    Given that a) eMMC is not designed to be hotplugged, b) power is
    always provided on the pins, and c) MMC controllers can deal with
    missing cards, we can enable this by default. If a module is attached
    it will be picked up by the system.

    The device tree change was also submitted to the Linux Kernel and
    has already been queued up for 4.19.

    Signed-off-by: Chen-Yu Tsai
    Acked-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Chen-Yu Tsai
     

16 Jul, 2018

4 commits