summaryrefslogtreecommitdiff
path: root/include/environment
AgeCommit message (Collapse)Author
2020-05-18common: Drop linux/stringify.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-04-29environment: distro: Add SF distro commandJagan Teki
Add distro boot command support for SPI flash (SF). This distro boot will read the boot script at specific location at the flash and start sourcing the same. This file need to include on required include/config file. Cc: Tom Rini <trini@konsulko.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2020-03-03env: ti: boot: Fix Android boot on AM57x EVMSam Protsenko
When applying DTBO on top of DTB (with "fdt apply" command) on AM57x EVM board, there is not enough memory reserved in RAM for DTB blob. Hence, DTBO can't be merged in DTB. It leads to inability to boot Android with next error message: failed on fdt_overlay_apply(): FDT_ERR_NOSPACE To overcome that issue let's provide 512 KiB of space to keep DTB and all merged DTBO blobs. To do so, "length" parameter should be specified for "fdt addr" command: => fdt addr $fdtaddr 0x80000 512 KiB is the maximum size we can use for this, because next address after $fdtaddr is 512 KiB ahead of it: fdtaddr=0x88000000 rdaddr=0x88080000 Also add size variables to 'adtimg' command invocations, to avoid cluttering the console with DTBO blob sizes. Signed-off-by: Sam Protsenko <joe.skb7@gmail.com> Reviewed-by: Eugeniu Rosca <rosca.eugeniu@gmail.com>
2020-02-04arm: ti: boot: Use correct dtb and dtbo on Android bootSam Protsenko
Read correct dtb blob from boot.img/recovery.img and apply correct dtbo blobs from dtbo partition. Signed-off-by: Sam Protsenko <joe.skb7@gmail.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-02-04env: ti: boot: Boot Android with dynamic partitionsSam Protsenko
Changes: - use boot.img instead of boot_fit.img - use .dtb from boot.img v2 - implement recovery boot - always boot ramdisk from boot.img, we can't mount system as root now, as system is a logical partition inside of super partition - don't add "skip_initramfs" to cmdline anymore - to boot into recovery, use boot image from recovery partition - prepare partition table: - A/B scheme - use 'super' partition instead of 'system' and 'vendor' - add dtbo partitions - introduce metadata partition Not implemented: reading and applying dtbo blobs from dtbo partition. Signed-off-by: Sam Protsenko <joe.skb7@gmail.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-02-04env: ti: boot: Respect slot_suffix in AVB commandsSam Protsenko
Signed-off-by: Sam Protsenko <joe.skb7@gmail.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20configs: ti: Factor out call to 'args_mmc' into MMC common environmentAndrew F. Davis
Both 'loadfit' and 'mmcloados' start with a call to 'args_mmc' so this can be factored out to before eithers only call site. This also allows us to remove that call from 'loadfit', which should not have been calling it anyway as that command should not be MMC specific. Without the call to 'args_mmc' the command 'loadfit' becomes just a call to 'run_fit' so remove the indirection and call 'run_fit' directly, this removes the need for 'loadfit' command (which was misnamed anyway). Drop it. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: beagleboneai: enable in am57xx_evm_defconfigCaleb Robey
Adding the configurations to the evm_defconfig file Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20environment: ti: Add DFU environment variables k3_dfu.hVignesh Raghavendra
Setup env variables for updating firmwares on eMMC/OSPI/MMC via DFU Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-12-03mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NANDMiquel Raynal
Add more clarity by changing the Kconfig entry name. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> [trini: Re-run migration, update a few more cases] Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
2019-10-23env: ti: Add environment variables to boot from UFSFaiz Abbas
Add environment variables to boot kernel from a filesystem contained in the 2nd UFS LUN. The user can boot from a ufs filesystem just by entering the following commands. => setenv boot ufs => boot Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-11env: ti: k3_rproc: Add common rproc environment variablesSuman Anna
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 <jjhiblot@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com>
2019-09-09arm: ti: Add missing "=" from previous fixTom Rini
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 <a.heider@gmail.com> Fixes: 27e0f3bcf075 ("arm: ti: Fix regression in distro boot for mmc") Signed-off-by: Tom Rini <trini@konsulko.com>
2019-08-26arm: ti: Fix regression in distro boot for mmcNuno Gonçalves
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 <trini@konsulko.com>
2019-07-31env: ti: boot: Handle reboot reason from BCBSam Protsenko
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 <semen.protsenko@linaro.org>
2019-07-27env: ti: boot: Use ttyS2 instead of ttyO2Sam Protsenko
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 <semen.protsenko@linaro.org> Reviewed-by: Andrew F. Davis <afd@ti.com> [trini: Update omap5_uevm] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-24env: am57xx: Implement A/B boot processRuslan Trofymenko
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 <ruslan.trofymenko@linaro.org> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Alistair Strachan <astrachan@google.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-04-12configs: ti_omap5_common: Add NAND environment settingsFaiz Abbas
Now that NAND is supported on DRA71x include various NAND environment settings Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-01-09arm: ti: boot: Remove legacy Android partitionsSam Protsenko
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 <semen.protsenko@linaro.org> Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2018-12-17arm: ti: boot: Increase system partition sizeSam Protsenko
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 <semen.protsenko@linaro.org> Acked-by: Praneeth Bajjuri <praneeth@ti.com>
2018-11-26arm: ti: boot: Fix U-Boot environment partition addressSam Protsenko
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 <semen.protsenko@linaro.org> Acked-By: Praneeth Bajjuri <praneeth@ti.com>
2018-11-01arm: ti: boot: Don't read environment partitionSam Protsenko
This part should've been remove in commit 88d60db01168 ("arm: ti: boot: Remove environment partition"), but I missed it somehow. Remove reading dtb file from environment partition on eMMC, as we don't have it anymore. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2018-10-22arm: ti: boot: Remove environment partitionSam Protsenko
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 <semen.protsenko@linaro.org> Acked-by: Praneeth Bajjuri <praneeth@ti.com>
2018-06-18am57xx_hs: avb2.0: add support of AVB 2.0Igor Opaniuk
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 <igor.opaniuk@linaro.org> [trini: Move to include/environment/ti/boot.h, reword commit slightly] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-08arm: ti: boot: Extract PARTS_DEFAULT to boot.hSam Protsenko
Eliminate code duplication: the same PARTS_DEFAULT was defined in am57xx_evm.h and in dra7xx_evm.h. Extract it to environment/boot.h and use in all OMAP5-based boards. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2018-05-08env: ti: android: boot with FIT ImagePraneeth Bajjuri
Boot android over emmc by default thru FIT image Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> Suggested-by: Andrew F.Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
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 <trini@konsulko.com>
2018-03-13env: ti: boot: Get rid of magic numbersSam Protsenko
Get the start address and the size of partitions using partition names rather than partition numbers. This way we can change the partition table further without changing the boot code. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2018-01-19env: ti: Select dtb name for dra76x and am574Lokesh Vutla
Select dtb name for am574x-idk and dra76x evm with acd package. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-09-29env: ti: boot: Show boot status informationSam Protsenko
Add tracing printings to Linux/Android boot commands, so that we can see what's going on. Helps to trace possible bugs on early stages and improves the output for user (which is especially useful, because we have a bunch of boot commands executing one by one). Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-09-29env: ti: boot: Extract command for eMMC Linux bootSam Protsenko
Extract commands for booting Linux from eMMC to separate command. It seems more logical that way, and allows us to run the whole command set from U-Boot shell with only one command. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-09-11env: ti: boot: Select dtb name for X15 revCLokesh Vutla
Select dtb name for am57xx BeagleBoard-X15 revC Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-09-11env: ti: boot: Select dtb name for dra76Lokesh Vutla
Select dtb name for dra76-evm. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-08-26arm: omap: Define command for booting Android from eMMCSemen Protsenko
If SD card is present -- try to boot from it first. If no -- try to boot Android from eMMC. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2017-06-23arm: omap: Extract OMAP5 boot environment to separate fileSemen Protsenko
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-06-16arm: ti: Add missing guards to headersSemen Protsenko
To prevent possible double inclusions in future. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-06-05ARM: ti: Update layout for MMC and eMMC (env and dfu)Jean-Jacques Hiblot
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 <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2017-04-08ARM: ti: consolidate mmc environment variablesSekhar Nori
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 <nsekhar@ti.com> Reviewed-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-04-08ARM: keystone: Pass SPI MTD partition table via kernel command lineVignesh R
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 <vigneshr@ti.com>
2016-12-02ARM: ti: consolidate dfu environment variablesSekhar Nori
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 <nsekhar@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>