On 05/08/2019 02:52 AM, Jagan Teki wrote:
> Right now rockchip platform need to copy bl31.elf into u-boot
> source directory to make use of building u-boot.itb.
>
> So, add environment variable BL31 like Allwinner SoC so-that the
> bl31.elf would available via BL31.
>
> If the builds are not exporting BL31 env, the make_fit_atf.py
> explicitly create dummy bl31.elf in u-boot root directory to
> satisfy travis builds and it will show the warning on console as
>
>  WARNING: BL31 file bl31.elf NOT found, resulting binary is non-functional
>  WARNING: Please read Building section in doc/README.rockchip
>
> Note, that the dummy bl31 files were created during not exporting
> BL31 case would be removed via clean target in Makefile.
>
> Signed-off-by: Jagan Teki <[email protected]>

Reviewed-by: Kever Yang <[email protected]>

Thanks,
- Kever
> ---
>  Makefile                               |  2 +-
>  arch/arm/mach-rockchip/make_fit_atf.py | 11 ++++++++++-
>  doc/README.rockchip                    |  4 ++--
>  3 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 64c7976f7e..c5078b95b7 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1814,7 +1814,7 @@ clean: $(clean-dirs)
>               -o -name 'dsdt.aml' -o -name 'dsdt.asl.tmp' -o -name 'dsdt.c' \
>               -o -name '*.efi' -o -name '*.gcno' -o -name '*.so' \) \
>               -type f -print | xargs rm -f \
> -             bl31_*.bin image.map
> +             bl31.c bl31.elf bl31_*.bin image.map
>  
>  # mrproper - Delete all generated files, including .config
>  #
> diff --git a/arch/arm/mach-rockchip/make_fit_atf.py 
> b/arch/arm/mach-rockchip/make_fit_atf.py
> index d1faff1957..327875d87b 100755
> --- a/arch/arm/mach-rockchip/make_fit_atf.py
> +++ b/arch/arm/mach-rockchip/make_fit_atf.py
> @@ -10,6 +10,7 @@ usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
>  import os
>  import sys
>  import getopt
> +import logging
>  
>  # pip install pyelftools
>  from elftools.elf.elffile import ELFFile
> @@ -194,8 +195,16 @@ def get_bl31_segments_info(bl31_file_name):
>  
>  def main():
>      uboot_elf="./u-boot"
> -    bl31_elf="./bl31.elf"
>      FIT_ITS=sys.stdout
> +    if "BL31" in os.environ:
> +        bl31_elf=os.getenv("BL31");
> +    else:
> +        os.system("echo 'int main(){}' > bl31.c")
> +        os.system("${CROSS_COMPILE}gcc -c bl31.c -o bl31.elf")
> +        bl31_elf="./bl31.elf"
> +        logging.basicConfig(format='%(levelname)s:%(message)s', 
> level=logging.DEBUG)
> +        logging.warning(' BL31 file bl31.elf NOT found, resulting binary is 
> non-functional')
> +        logging.warning(' Please read Building section in 
> doc/README.rockchip')
>  
>      opts, args = getopt.getopt(sys.argv[1:], "o:u:b:h")
>      for opt, val in opts:
> diff --git a/doc/README.rockchip b/doc/README.rockchip
> index ca4d6473b0..98a3824e2c 100644
> --- a/doc/README.rockchip
> +++ b/doc/README.rockchip
> @@ -149,8 +149,8 @@ For example:
>       => make realclean
>       => make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399
>  
> -     (copy bl31.elf into U-Boot root dir)
> -     => cp build/rk3399/release/bl31/bl31.elf /path/to/u-boot
> +     (export bl31.elf)
> +     => export 
> BL31=/path/to/arm-trusted-firmware/build/rk3399/release/bl31/bl31.elf
>  
>     - Compile PMU M0 firmware
>  



_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to