18 Jan, 2020

1 commit


14 Jan, 2020

7 commits

  • Follow i.MX, Sunxi, RISC-V and Rockchip to generate u-boot.itb which
    includes U-Boot proper, ATF and DTBs in FIT format. ZynqMP supports FIT for
    quite a long time but with using out of tree solution. The patch is filling
    this gap.

    Tested on zcu102, zcu104 and zcu100/Ultra96.

    zcu100/Ultra96 v2.2 ATF build by:
    make DEBUG=0 ZYNQMP_CONSOLE=cadence1 RESET_TO_BL31=1 PLAT=zynqmp bl31

    Signed-off-by: Michal Simek

    Michal Simek
     
  • handoff_setup() was used to generate fixed handoff structure for ATF on
    ZynqMP platform.
    Switching to bl2_plat_get_bl31_params() platform brings more flexibility
    because information can be taken from fit image where /fit-images node is
    created at run time.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Empty implementation should not return 0 (success) because that mean that
    passed name matches the board configuration.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • In past SPL_ZYNQMP_TWO_SDHCI symbol was introduced to handle boards with
    two sdhci controllers. The problem was that U-Boot is registering
    controllers based on aliases in DT but bootmode targets specific controller
    ID. That's why on boards with one "second" sdhci controller bootmode was
    pointing to second controller(MMC2) but alias was setup to mmc0 (the first
    controller). And SPL requires to point to mmc0 in this case.

    Long time ago commit f101e4bd3703
    ("spl: add support for alternative boot device") added support for handling
    multiple bootmodes in SPL. Use this functionality and setup second sdhci
    controller as backup boot device.

    Below is table with behavior:
    HW/bootmode bootorder
    sd0/sd0 mmc0/mmc1 (mmc1 never called)
    sd1/sd1 mmc1/mmc0 (mmc0 fails and mmc1 is called)
    sd0+sd1/sd0 mmc0/mmc1 (mmc1 never called)
    sd0+sd1/sd1 mmc1/mmc0 (mmc0 never called)

    All other bootmodes are not affected but order can be extended to cover
    advance boot flows.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • MIO34 is connected to POWER_KILL signal. When MIO configuration is done in
    psu_init() and this pin is assigned to PMU but PMU configuration is not
    loaded yet. PMU gpio output is high that means board is powered off
    immediately.
    The patch is fixing this sequence that MIO34 stays assing to ps gpio IP.
    PMU config is loaded in SPL and then pin assigned to PMU through
    psu_post_config_data().

    Signed-off-by: Michal Simek

    Michal Simek
     
  • There is no reason to clear bss and call board_init_r() from board_init_f()
    beca it can be called directly from crt0_64.S with also support for SPL
    stack relocation to SDRAM.
    For more information please take a look at arch/arm/lib/crt0_64.S

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Remove hardcoded base address of nand and replace it with the
    value taken from device tree. Remove base address from header
    file too.

    Signed-off-by: Ashok Reddy Soma
    Signed-off-by: Michal Simek

    Ashok Reddy Soma
     

03 Dec, 2019

2 commits


24 Oct, 2019

2 commits


08 Oct, 2019

5 commits


30 Jul, 2019

1 commit

  • Optionally allow U-Boot to load a configuration object into the Power
    Management Unit (PMU) firmware on Xilinx ZynqMP.

    The configuration object is required by the PMU FW to enable most SoC
    peripherals. So far the only way to boot using U-Boot SPL was to hard-code
    the configuration object in the PMU firmware. Allow a different boot
    process, where the PMU FW is equal for any ZynqMP chip and its
    configuration is passed at runtime by U-Boot SPL.

    All the code for Inter-processor communication with the PMU is isolated in
    a new file (pmu_ipc.c). The code is inspired by the same feature as
    implemented in the Xilinx First Stage Bootloader (FSBL) and Arm Trusted
    Firmware:

    * https://github.com/Xilinx/embeddedsw/blob/fb647e6b4c00f5154eba52a88b948195b6f1dc2b/lib/sw_apps/zynqmp_fsbl/src/xfsbl_misc_drivers.c#L295
    * https://github.com/ARM-software/arm-trusted-firmware/blob/c48d02bade88b07fa7f43aa44e5217f68e5d047f/plat/xilinx/zynqmp/pm_service/pm_api_sys.c#L357

    SPL logs on the console before loading the configuration object:

    U-Boot SPL 2019.07-rc1-00511-gaec224515c87 (May 15 2019 - 08:43:41 +0200)
    Loading PMUFW cfg obj (2008 bytes)
    EL Level: EL3
    ...

    Signed-off-by: Luca Ceresoli
    Signed-off-by: Michal Simek

    Luca Ceresoli
     

16 Apr, 2019

2 commits


14 Feb, 2019

2 commits


01 Feb, 2019

1 commit


26 Jan, 2019

1 commit


24 Jan, 2019

2 commits