14 Jan, 2020

2 commits

  • OF_BOARD and OF_SEPARATE can use board specific board_fdt_blob_setup().

    OF_BOARD option is mostly used for picking up DTB from certain location.

    OF_SEPARATE option is used when DTB is appended after u-boot binary.

    This board specific function is aligned with current version in
    lib/fdtdec.c with checking CONFIG_XILINX_OF_BOARD_DTB_ADDR address first.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Currently "script_offset_f" env variable is hardcoded, this variable
    specifies from which offset of the flash boot.scr should be read/write.
    As flashes are of different sizes having a fixed offset makes it
    difficult to load other images into the flash which may overwrite the
    boot script or cannot utilize the full memory. This current fix
    creates a new config "CONFIG_BOOT_SCRIPT_OFFSET" which holds the
    offset address, overwrites the "script_offset_f" variable.
    Also removed existing variable with default values, as the default
    values are held by CONFIG_BOOT_SCRIPT_OFFSET

    Signed-off-by: T Karthik Reddy
    Signed-off-by: Michal Simek

    T Karthik Reddy
     

08 Oct, 2019

2 commits


19 Jul, 2018

1 commit

  • 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