04 Feb, 2020

3 commits


20 Jan, 2020

3 commits


04 Dec, 2019

1 commit


24 Oct, 2019

1 commit


11 Oct, 2019

1 commit

  • Add a new file include/environment/ti/k3_rproc.h that defines
    common environment variables useful for booting various remote
    processors from U-Boot. This file is expected to be included in
    the board config files with the EXTRA_ENV_RPROC_SETTINGS added
    to CONFIG_EXTRA_ENV_SETTINGS and DEFAULT_RPROCS macro overwritten
    to include the actual list of processors to be booted.

    The 'boot_rprocs' variable just needs to be added to the board's
    bootcmd to automatically boot the processors, and runtime control
    can be achieved through the 'dorprocboot' variable.

    The variables are currently defined to use MMC as the boot media,
    and can be expanded in the future to include other boot media.
    The immediate usage is intended for K3 J721E SoCs.

    Signed-off-by: Jean-Jacques Hiblot
    Signed-off-by: Suman Anna

    Suman Anna
     

09 Sep, 2019

1 commit

  • While the original patch to fix a regression in distro boot for mmc on
    these platforms had the correct syntax, I broke the change while
    applying. Add back in the missing "=" here so that the syntax is
    correct.

    Reported-by: Andre Heider
    Fixes: 27e0f3bcf075 ("arm: ti: Fix regression in distro boot for mmc")
    Signed-off-by: Tom Rini

    Tom Rini
     

26 Aug, 2019

1 commit

  • When devnum was changed to a local variable in distro_bootcmd we ran
    into a problem on TI platforms (confirmed on Beaglebone) as we had been
    using 'setenv devnum' there as well and it needs to match the other
    usage.

    Fixes: 13dd6665ed18 ("distro: not taint environment variables if possible")
    [trini: Review other platforms, re-word commit message]
    Signed-off-by: Tom Rini

    Nuno Gonçalves
     

01 Aug, 2019

1 commit

  • In case of Android boot, reboot reason can be written into BCB (usually
    it's an area in 'misc' partition). U-Boot then can obtain that reboot
    reason from BCB and handle it accordingly to achieve correct Android
    boot flow, like it was suggested in [1]:
    - if it's empty: perform normal Android boot from eMMC
    - if it contains "bootonce-bootloader": get into fastboot mode
    - if it contains "boot-recovery": perform recovery boot

    The latter is not implemented yet, as it depends on some features that
    are not implemented on TI platforms yet (in AOSP and in U-Boot).

    [1] https://marc.info/?l=u-boot&m=152508418909737&w=2

    Signed-off-by: Sam Protsenko

    Sam Protsenko
     

28 Jul, 2019

1 commit

  • ttyO2 console enables legacy CONFIG_SERIAL_OMAP driver in kernel.
    Nowadays it's preferred to use the generic CONFIG_SERIAL_8250_OMAP
    driver, which being enabled via ttyS2 console. Both drivers are enabled
    in multi_v7_defconfig and in omap2plus_defconfig, for compatibility
    reasons. Let's switch to ttyS2 console, to be sure that standard 8250
    serial driver is used.

    Similar behavior can be also achieved by enabling
    CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP option in kernel, but it's better not
    to rely on that, as it can be disabled or removed after transitional
    period.

    Right now on DRA7/AM57x platforms the 8250-omap driver is being probed
    first, and omap-serial driver is only probed if the first one failed.
    It can be seen from uart3 definition in arch/arm/boot/dts/dra7-l4.dtsi:

    compatible = "ti,dra742-uart", "ti,omap4-uart";

    So the kernel already uses 8250 driver. This change basically allows
    kernel developers to throw away the omap-serial driver and associated
    compatibility options. Similar discussions [1,2] have started several
    years ago, so it should be safe to do that now.

    [1] https://patchwork.kernel.org/patch/6198471/
    [2] http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_8250_Driver

    Signed-off-by: Sam Protsenko
    Reviewed-by: Andrew F. Davis
    [trini: Update omap5_uevm]
    Signed-off-by: Tom Rini

    Sam Protsenko
     

25 Jul, 2019

1 commit

  • Add support for A/B boot process on AM57xx based boards:

    1. Define 'slot_suffix' variable (using 'ab_select' command)
    2. Extend 'emmc_android_boot' boot command (add commands for A/B boot
    process)

    'ab_select' command is used to decide which slot should be used for
    booting up. A/B metadata resides in 'misc' partition.

    To activate the A/B boot process, the following config options must be
    set:

    CONFIG_ANDROID_AB=y
    CONFIG_CMD_AB_SELECT=y

    For successful A/B boot, the corresponding A/B infrastructure must be
    involved on Android side [1] (including mounting system as root), and
    disk must be partitioned accordingly.

    When A/B boot is enabled, there are some known limitations currently
    exist (not related to A/B patches, need to be implemented later):

    1. The 'Verified Boot' sequence is not supported
    2. dev path to system partition (system_a or system_b) is passed via
    'bootargs' as 'root=' argument like 'root=/dev/mmcblk1p12', but
    further we'll need to rework it with respect to dm-verity
    requirements [2]

    In case when A/B partitions are not present in system (and A/B boot is
    enabled), boot up process will be terminated and next message will be
    shown:

    "boot_a(b) partition not found"

    [1] https://source.android.com/devices/tech/ota/ab
    [2] https://source.android.com/devices/tech/ota/ab/ab_implement#kernel

    Signed-off-by: Ruslan Trofymenko
    Signed-off-by: Igor Opaniuk
    Signed-off-by: Sam Protsenko
    Reviewed-by: Alistair Strachan
    Reviewed-by: Sam Protsenko
    Reviewed-by: Simon Glass

    Ruslan Trofymenko
     

12 Apr, 2019

1 commit


09 Jan, 2019

1 commit

  • Remove unused Android partitions:
    - efs, crypto, cache: we don't use it anymore (images are not built
    in AOSP
    - ipu1, ipu2: IPU firmware is now a part of vendor image and doesn't
    reside as a separate partition

    While at it, rename "reserved" partition to "uboot-env", as it's
    actually stores U-Boot environment.

    Signed-off-by: Sam Protsenko
    Signed-off-by: Praneeth Bajjuri

    Sam Protsenko
     

17 Dec, 2018

1 commit

  • Android code base is growing, so since Android "Pie" the size of
    system.img grew up to be about 740 MiB. Let's increase system.img to
    1 GiB to accommodate for those changes and leave some margin for future
    changes. We don't want to make it more than 1 GiB, because we should
    keep userdata partition big enough (for user files, like media etc.),
    and eMMC size on BeagleBoard-X15 is only 3.5 GiB.

    Signed-off-by: Sam Protsenko
    Acked-by: Praneeth Bajjuri

    Sam Protsenko
     

27 Nov, 2018

1 commit

  • Recent removal of obsolete partition led to shifting of starting address
    of "reserved" partition (which reflects U-Boot environment). Fix its
    start address to keep it in sync with ENV_OFFSET and DFU environment.

    This patch also provides fixed start address for "reserved" partition,
    so that we can track when it's shifted next time.

    While at it, move it before "misc" partition to keep all Android
    partitions together.

    Signed-off-by: Sam Protsenko
    Acked-By: Praneeth Bajjuri

    Sam Protsenko
     

01 Nov, 2018

1 commit


22 Oct, 2018

1 commit

  • Remove "environment" partition and do not read it when booting Android
    from eMMC. We don't use this partition anymore, so this is just an
    unintentional leftover.

    Earlier we were reading dtb file from "environment" partition to feed it
    further to kernel. Now we are using dtb from FIT image ("boot" partition
    contains boot_fit.img image), which can be seen from this command:

    bootm ${loadaddr}#${fdtfile}

    where "#" character means we have FIT image in ${loadaddr} RAM address.

    Signed-off-by: Sam Protsenko
    Acked-by: Praneeth Bajjuri

    Sam Protsenko
     

19 Jun, 2018

1 commit

  • 1. Add vbmeta partition info to android partition layout for TI
    platforms.
    2. Add support of AVB 2.0 (including avb subset of commands) for am57xx HS

    Signed-off-by: Igor Opaniuk
    [trini: Move to include/environment/ti/boot.h, reword commit slightly]
    Signed-off-by: Tom Rini

    Igor Opaniuk
     

09 May, 2018

1 commit


08 May, 2018

1 commit


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
     

14 Mar, 2018

1 commit


20 Jan, 2018

1 commit


30 Sep, 2017

2 commits


12 Sep, 2017

2 commits


27 Aug, 2017

1 commit


23 Jun, 2017

1 commit


16 Jun, 2017

1 commit


06 Jun, 2017

1 commit

  • The problems with the current DFU layout are:
    MMC: The space allocated for u-boot is too small for the latest u-boot
    (>750KB). We need to increase it. eMMC uses a much bigger area (2MB).
    eMMC: region "u-boot.img.raw" overlaps the environment area and the region
    "spl-os-image.raw".
    both: region "spl-os-image.raw" is quite small and can't handle android
    kernels

    Fixing this requires growing some regions and moving others.
    Care has been taken to leave some room for further growth of
    "spl-os-args.raw".
    Also the "env" now appears in the dfu so that it's apparent that the
    region is not free space that can be used to grow "u-boot.img.raw".
    The MLO region is 0x100 sectors wide but the 0x100 are unused in case the
    MLO comes too overflow this areas.
    The total space allocated for those raw binaries is 16MB, of which 13+MB
    are reserved for the kernel image.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Tom Rini
    Reviewed-by: Sam Protsenko

    Jean-Jacques Hiblot
     

09 Apr, 2017

1 commit

  • Introduce include/environment/ti/mmc.h that
    consolidates environment variable definitions
    for various TI boards that support MMC/SD.

    This allows reuse of same environment variables
    on non-ARMv7 TI platforms like OMAP-L138 for
    example.

    While at it, move DFU-related environment variable
    includes to only non-SPL builds for AM335x and
    AM437x since they are not really used for SPL
    today.

    Signed-off-by: Sekhar Nori
    Reviewed-by: Lukasz Majewski
    Reviewed-by: Tom Rini

    Sekhar Nori
     

08 Apr, 2017

1 commit

  • SPI U-Boot image for K2 boards have now exceeded 512K partition
    allocated to it and no longer fit the partitions defined in kernel DTS
    file. Therefore, pass an updated MTD partition table from U-Boot as
    kernel command line arguments to avoid kernel from accidentally
    modifying boot loader image that has overflowed to next user partition.

    To do is, introduce a common environment file for declaring SPI
    partition so that each individual boards need not repeat the same.
    Choose appropriate SPI bus from board config file and pass it as command
    line argument to kernel.

    Signed-off-by: Vignesh R

    Vignesh R
     

03 Dec, 2016

1 commit

  • Introduce include/environment/ti/dfu.h that
    consolidates environment variable definitions
    for various TI boards that support DFU today.

    Tested on AM335x EVM, AM437x SK EVM and DRA74x
    EVM by using DFU to write to SD card.

    Signed-off-by: Sekhar Nori
    Reviewed-by: Tom Rini

    Sekhar Nori