summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-18test/py: gpt: Use long options for sgdiskSam Protsenko
sgdisk 0.8.10.2 from AOSP doesn't support short options, failing with errors like this: sgdisk: invalid option -- 'U' Test fails due to that error. Let's use long options to make the test work with any sgdisk version. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Acked-by: Stephen Warren <swarren@nvidia.com>
2019-07-18env: mmc: add erase-functionFrank Wunderlich
this adds erase environment for mmc storage squashed fixes: - add CONFIG_CMD_ERASEENV - env: erase redundant offset if defined - changes mentioned by Simon - fix whitespaces around errmsg Suggested-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2019-07-18env: register erase commandFrank Wunderlich
this patch adds basic changes for adding a erase-subcommand to env with this command the environment stored on non-volatile storage written by saveenv can be cleared. Signed-off-by: Frank Wunderlich <frank-w@public-files.de> squashed fixes - start message with "Erasing" - mark erase-function as optional - env: separate eraseenv from saveenv Suggested-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2019-07-18common: Fix autocompletion with CONFIG_CMDLINE_PS_SUPPORTMarek Vasut
The autocompletion did not work if CONFIG_CMDLINE_PS_SUPPORT was enabled because U-Boot was comparing the prompt string with CONFIG_SYS_PROMPT . While this works if CONFIG_CMDLINE_PS_SUPPORT is disabled, this no longer works if it's enabled because user can override the PS1 . Fix this by checking prompt string against the current PS1 value. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
2019-07-18regulator: Allow enabling GPIO regulatorSven Schwermer
Drivers need to be able to enable regulators that may be implemented as GPIO regulators. Example: fsl_esdhc enables the vqmmc supply which is commonly implemented as a GPIO regulator in order to switch between I/O voltage levels. Signed-off-by: Sven Schwermer <sven@svenschwermer.de> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-07-18regulator: Factor out common enable codeSven Schwermer
In preparation of being able to enable/disable GPIO regulators, the code that will be shared among the two kinds to regulators is factored out into its own source files. Signed-off-by: Sven Schwermer <sven@svenschwermer.de> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-07-18ARM: correct detection of thumb modeHeinrich Schuchardt
When a crash occurs in thumb mode the crash dump is incorrect. This is due to the usage of a non-existing configuration variable CONFIG_ARM_THUMB in the definition of macro thumb_mode(regs). Use CONFIG_IS_ENABLED(SYS_THUMB_BUILD) to detect that the code has been compiled for thumb mode. Remove ARM_THUMB from config_whitelist.txt. With the patch crash dumps indicate thumb mode correctly. On a system with thumb mode: => exception unaligned data abort pc : [<8f7a2b52>] lr : [<8f7ab1ef>] reloc pc : [<1780cb52>] lr : [<178151ef>] sp : 8ed8c3f8 ip : 8f7a2b4d fp : 00000002 r10: 8f7f8228 r9 : 8ed95ea8 r8 : 8ed99488 r7 : 8f7ab141 r6 : 00000000 r5 : 8ed8c3f9 r4 : 8f7f6390 r3 : 8ed9948c r2 : 00000001 r1 : 00000000 r0 : 8f7f6390 Flags: nzCv IRQs off FIQs off Mode SVC_32 (T) Code: 8f7e 466d f105 0501 (e9d5) 6700 The Flags line has '(T)' and in the Code line the output is in u16 groups. On a system without thumb mode: => exception breakpoint prefetch abort pc : [<7ff5a5c8>] lr : [<7ff675ec>] reloc pc : [<0000e5c8>] lr : [<0001b5ec>] sp : 7ee0ad80 ip : 7ff5a5cc fp : 7ff674cc r10: 00000002 r9 : 7ef0bed8 r8 : 7ffd6214 r7 : 7ef0e080 r6 : 00000000 r5 : 7ffd4090 r4 : 00000000 r3 : 7ef0e084 r2 : 00000001 r1 : 00000000 r0 : 7ffd4090 Flags: nzCv IRQs off FIQs off Mode SVC_32 Code: e1a0500d e2855001 e1c560d0 e3a00001 (e12fff1e) The Flags line does not show '(T)' and in the Code line the output is in u32 groups. Reported-by: Marek Vasut <marex@denx.de> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Marek Vasut <marex@denx.de>
2019-07-18ext4: add support for filesystems without JOURNALMarek Szyprowski
JOURNAL is optional for EXT4 (and EXT3) filesystems, so add support for skipping it. This fixes corrupting EXT4 volumes without JOURNAL after using uboot's 'ext4write' command. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-07-18ext4: fix calculating inode blkcount for non-512 blocksize filesystemsMarek Szyprowski
The block count entry in the EXT4 filesystem disk structures uses standard 512-bytes units for most of the typical files. The only exception are HUGE files, which use the filesystem block size, but those are not supported by uboot's EXT4 implementation anyway. This patch fixes the EXT4 code to use proper unit count for inode block count. This fixes errors reported by fsck.ext4 on disks with non-standard (i.e. 4KiB, in case of new flash drives) PHYSICAL block size after using 'ext4write' uboot's command. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-07-18rtc: Add DM support to ds3231Chuanhua Han
Add an implementation of the ds3231 driver that uses the driver model i2c APIs. Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-07-18lib: rsa: add support to other openssl engine types than pkcs11Vesa Jääskeläinen
There are multiple other openssl engines used by HSMs that can be used to sign FIT images instead of forcing users to use pkcs11 type of service. Relax engine selection so that other openssl engines can be specified and use generic key id definition formula. Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com> Cc: Tom Rini <trini@konsulko.com>
2019-07-18Merge branch '2019-07-17-ti-imports'Tom Rini
- Bring in the first three series that we need in order to enhance the TI AM65x series support and then later introduce J721E support.
2019-07-18Merge branch '2019-07-17-ci-imports'Tom Rini
This brings in a small update to our Travis-CI config file and introduces a GitLab CI file. Currently they have the same functionality and the plan currently is to migrate away from Travis-CI.
2019-07-18gitlab-ci: Move the pyelfutils sectionTom Rini
We need this for building some 64bit ARM platforms, not for test.py runs. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-18gitlab-ci: Split the world build into 4 jobsTom Rini
To better allow for parallelization of the world build job split things into 32bit ARM (687 boards), 64bit ARM (215), PowerPC (311 boards) and everything else (167 boards). While the 32bit ARM job is heavier than I would like, there is not a natural split that would reduce it in half or so without requiring the sort of hard to maintain splits we have to do in Travis CI. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-18gitlab-ci: Add pyelftools when neededTom Rini
In order to mirror current Travis CI support we need to install this package via pip. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-18gitlab-ci: Add evb-ast2500 test.py testTom Rini
Bring us back into line with current Travis tests. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-18gitlab-ci: Initial conversion of Travis CI build to GitLab CITom Rini
Migrate all of the logic in our current .travis.yml file to a GitLab CI config file. Notable changes are that this will run the jobs on runners with the "all" tag. The timeout for a job needs to be configured higher than normal as we no longer split building the world up into a large number of small jobs but instead perform one big build job. We make use of stages so that we build and run all of the QEMU + test.py tests first in order to increase the chance that any problems will be found before starting the final big build. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-17am335x_boneblack_vboot: Disable asm memcpy/memset in SPLTom Rini
In order to save a little space in SPL, do not use the asm versions of memcpy/memset. Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-17travis: Build aspeed board with qemu HEADJoel Stanley
In order to boot u-boot in the aspeed machine we need to run at least qemu 3059c2f5a813 (v4.0.0-1592-g3059c2f5a813), which is not in a released tag. This should be changed to v4.1.0 when it is released. Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17travis: Add ASPEED ast2500 to qemu testsJoel Stanley
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17configs: aspeed: Add HUSH and random ethernet addrJoel Stanley
Tests in test/py/tests/test_env.py like this fail without CONFIG_HUSH_PARSER: => => printenv test_env_0 ## Error: "test_env_0" not defined => .=> setenv test_env_0 => => echo $test_env_0 $test_env_0 => F We also want a mac address so the ethernet device works in qemu. Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17configs: aspeed: Unset CONFIG_MMCJoel Stanley
The aspeed board does not have an upstream MMC driver. As CONFIG_MMC defaults on, the board would fail to build due to the CONFIG_DM_MMC migration: ===================== WARNING ====================== This board does not use CONFIG_DM_MMC. Please update the board to use CONFIG_DM_MMC before the v2019.04 release. Failure to update by the deadline may result in board removal. See doc/driver-model/MIGRATION.txt for more info. ==================================================== Change the defconfig to disable MMC until a driver is submitted. Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17configs: am65x_hs_evm: Add support for applying overlaysAndreas Dannenberg
This will allow for downloading and applying overlays from an MMC/SD boot media based on the overlay_files ENV variable containing a list of overlay files. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17configs: am65x_evm: Add support for applying overlaysAndreas Dannenberg
This will allow for downloading and applying overlays from an MMC/SD boot media based on the overlay_files ENV variable containing a list of overlay files. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17board: ti: am654: Use EEPROM-based board detectionAndreas Dannenberg
The TI AM654x EVM base board and the associated daughtercards have on- board I2C-based EEPROMs containing board configuration data. Use the board detection infrastructure introduced earlier to do the following: 1) Parse the AM654x EVM base board EEPROM and populate items like board name and MAC addresses into the TI common EEPROM data structure residing in SRAM scratch space 2) Check for presence of daughter card(s) by probing the associated presence signals via an I2C-based GPIO expander. Then, if such a card is found, parse the data such as additional Ethernet MAC addresses from its on-board EEPROM and populate into U-Boot accordingly 3) Dynamically create an U-Boot ENV variable called overlay_files containing a list of daugherboard-specific DTB overlays based on daughercards found. This patch adds support for the AM654x base board ("AM6-COMPROCEVM") as well as for the IDK ("AM6-IDKAPPEVM"), OLDI LCD ("OLDI-LCD1EVM") PCIe/USB3.0 ("SER-PCIEUSBEVM"), 2 Lane PCIe/USB2.0 ("SER-PCIE2LEVM"), and general purpuse ("AM6-GPAPPEVM") daughtercards. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17ti: common: am6: Add support for setting MAC addressesAndreas Dannenberg
The AM654x EVM based on the TI K3 family of SoCs has an updated board detection EEPROM structure that contains a TLV record of dedicated MAC addresses rather than a range of MAC addresses as it was used on earlier platforms such as DRA7. Add a basic function that allows us setting up Ethernet MAC addresses into the U-Boot environment based on the MAC address record contained in the common TI EEPROM structure. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17ti: common: am6: Add support for board description EEPROMAndreas Dannenberg
The AM654x EVM based on the TI K3 family of SoCs have an updated board detection EEPROM structure, now comprising variable-sized TLV-type records, containing a superset of what is already being provided on earlier platforms such as DRA7. Add basic support for parsing the new data structures contained on the base board into the common TI EEPROM structure while also providing infrastructure that can be used later on to parse data from additional EEPROMs such as the ones that are used on daughtercards for this platform. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm: K3: am654: Map common EEPROM data into SRAM scratch spaceAndreas Dannenberg
The board detection scheme employed on various TI EVMs makes use of SRAM scratch space to share data read from an on-board EEPROM between the different bootloading stages. Map the associated definition that's used to locate this data into the SRAM scratch space we use on AM654x. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17configs: am65x_hs_evm_a53: Increase malloc pool before relocationAndreas Dannenberg
The malloc pool used before relocation is getting tight leading to out of memory errors doing certain DM-related calls. Since we are running the A53 SPL out of DDR let's just go ahead and bump its size as used in U-Boot proper as well as SPL (via Kconfig default value) from 8KB to 32KB. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Andrew F. Davis <afd@ti.com>
2019-07-17configs: am65x_evm_a53: Increase malloc pool before relocationAndreas Dannenberg
The malloc pool used before relocation is getting tight leading to out of memory errors doing certain DM-related calls. Since we are running the A53 SPL out of DDR let's just go ahead and bump its size as used in U-Boot proper as well as SPL (via Kconfig default value) from 8KB to 32KB. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17configs: am65x_hs_evm_a53: Enable PCA953X-type GPIO driverAndreas Dannenberg
Enable GPIO driver for PCA953X-compatible I2C-based I/O expander which includes support for the TCA9554/PCA9554-type expander found on the AM654 EVM base board. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Andrew F. Davis <afd@ti.com>
2019-07-17configs: am65x_evm_a53: Enable PCA953X-type GPIO driverAndreas Dannenberg
Enable GPIO driver for PCA953X-compatible I2C-based I/O expander which includes support for the TCA9554/PCA9554-type expander found on the AM654 EVM base board. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm64: dts: k3-am654-base-board: Add I2C GPIO expander @ 0x38Andreas Dannenberg
The AM654 base board has a TCA9554/PCA9554-type GPIO expander on the wkup_i2c0 bus at address 0x38 that is used to detect the presence of daughter cards. Add a respective DTS description of this expander to enable its use. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17configs: am65x_hs_evm_defconfig: Enable I2C supportAndreas Dannenberg
Enable I2C via driver model as well as the associated set of U-Boot commands to allow us interacting with various I2C slave devices. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Andrew F. Davis <afd@ti.com>
2019-07-17configs: am65x_evm_defconfig: Enable I2C supportAndreas Dannenberg
Enable I2C via driver model as well as the associated set of U-Boot commands to allow us interacting with various I2C slave devices. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm: dts: k3-am654-base-board: Enable wkup_i2c0 across all boot stagesAndreas Dannenberg
To enable the use of an EEPROM-based board detection scheme we need to be able to access the I2C bus associated with the EEPROMs across all 3 stages of U-Boot: R5 SPL, A53 SPL, and A53 U-Boot (proper). So go ahead and add/update the wkup_i2c0 peripheral module DTS definitions and its associated pinmux node accordingly. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm: dts: k3-am65: Add I2C nodesAndreas Dannenberg
Add I2C DT nodes Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm: dts: k3-am65: Move pinctrl nodes out of U-Boot specific dtsiAndreas Dannenberg
Only U-Boot specifc DT properties or overrides, must be in -u-boot.dtsi. Pinctrl nodes does not belong here. Now that pinctrl nodes are in kernel DT, there is no reason to be keep these in -u-boot.dtsi. Move them to proper places so that it would ease copying DT entries from kernel DT. Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17arm: omap_i2c: Remove unwanted header file inclusionVignesh R
There is no need for to include this header here, so drop it. Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17i2c: omap24xx_i2c: Adapt driver to support K3 devicesVignesh R
K3 devices have I2C IP that is same as OMAP2+ family. Allow driver to be compiled for ARCH_K3. Signed-off-by: Vignesh R <vigneshr@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17am65x: README: Add eMMC layout and flash instructionsFaiz Abbas
Add instructions for flashing boot images to the eMMC with a layout of the address where each image needs to be flashed. Also add instructions to flash filesystem partition in user partition and boot kernel from the rootfs. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-07-17configs: am65x_hs_evm: Add Support for eMMC bootAndreas Dannenberg
Add configs to support RAW boot mode in eMMC. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17configs: am65x_evm: Add Support for eMMC bootFaiz Abbas
Add configs to support RAW boot mode in eMMC. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17configs: am65x_hs_evm_r5: All sysfw to be loaded via MMCAndreas Dannenberg
Enable all the relevant configs that enables support for loading sysfw via MMC. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-17configs: am65x_evm_r5: All sysfw to be loaded via MMCAndreas Dannenberg
Enable all the relevant configs that enables support for loading sysfw via MMC. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17armV7R: K3: am654: Load SYSFW binary and config from boot mediaAndreas Dannenberg
Use the System Firmware (SYSFW) loader framework to load and start the SYSFW as part of the AM654 early initialization sequence. While at it also initialize the WKUP_UART0 pinmux as it is used by SYSFW to print diagnostic messages. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17armv7R: K3: am654: Use full malloc implementation in SPLAndreas Dannenberg
Switch to using the full malloc scheme in post-relocation SPL to allow better utilization of available memory for example by allowing memory to get freed. Initially allocate a 16MB-sized region in DDR starting at address 0x84000000 for this purpose. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17armV7R: K3: am654: Allow using SPL BSS pre-relocationAndreas Dannenberg
In order to be able to use more advanced driver functionality which often relies on having BSS initialized during early boot prior to relocation several things need to be in place: 1) Memory needs to be available for BSS to use. For this, we locate BSS at the top of the MCU SRAM area, with the stack starting right below it, 2) We need to move the initialization of BSS prior to entering board_init_f(). We will do this with a separate commit by turning on the respective CONFIG option. In this commit we also clean up the assignment of the initial SP address as part of the refactoring, taking into account the pre-decrement post- increment nature in which the SP is used on ARM. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-17arm: K3: Introduce System Firmware loader frameworkAndreas Dannenberg
Introduce a framework that allows loading the System Firmware (SYSFW) binary as well as the associated configuration data from an image tree blob named "sysfw.itb" from an FS-based MMC boot media or from an MMC RAW mode partition or sector. To simplify the handling of and loading from the different boot media we tap into the existing U-Boot SPL framework usually used for loading U-Boot by building on an earlier commit that exposes some of that functionality. Note that this initial implementation only supports FS and RAW-based eMMC/SD card boot. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>