summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2018-10-09sandbox: Add a way to write data to the host filesystemSimon Glass
For debugging it is sometimes useful to write out data for inspection using an external tool. Add a function which can write this data to a given file. Signed-off-by: Simon Glass <[email protected]>
2018-10-09sandbox: Support file truncation with os_open()Simon Glass
At present files are not truncated on writing. This is a useful feature. Add support for this. Signed-off-by: Simon Glass <[email protected]>
2018-10-09log: Add helpers for common log levelsSimon Glass
At present to output a log message you need something like: log(UCLASS_SPI, LOCL_INFO, "message1"); log(UCLASS_SPI, LOCL_INFO, "message2"); but many files use the same category throughout. Also it is helpful to shorten the length of log names, providing helpers for common logging levels. Add some macros so that it is possible to do: (top of file, before #includes) #define LOG_CATEGORY UCLASS_SPI (later in the file) log_info("message1"); log_debug("message2"); log_err("message3"); Signed-off-by: Simon Glass <[email protected]>
2018-10-08log: Correct definition of log_msg_ret()Simon Glass
This macro should have two parameters, not one. Fix it so that it correctly resolves to _ret when logging is disabled. Signed-off-by: Simon Glass <[email protected]>
2018-10-08sandbox: Unprotect DATA regions in bus testsSimon Glass
On my Ubuntu 18.04.1 machine two driver-model bus tests have started failing recently. The problem appears to be that the DATA region of the executable is protected. This does not seem correct, but perhaps there is a reason. To work around it, unprotect the regions in these tests before accessing them. Signed-off-by: Simon Glass <[email protected]>
2018-10-07avb_verify: support sandbox configurationJens Wiklander
Change get_sector_buf() to use map_sysmem() to get a pointer to the CONFIG_FASTBOOT_BUF_ADDR in memory. Signed-off-by: Jens Wiklander <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2018-10-07avb_verify: support using OP-TEE TA AVBJens Wiklander
With CONFIG_OPTEE_TA_AVB use the trusted application AVB provided by OP-TEE to manage rollback indexes and device-lock status. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Jens Wiklander <[email protected]>
2018-10-07tee: add sandbox driverJens Wiklander
Adds a sandbox tee driver which emulates a generic TEE with the OP-TEE AVB TA. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Jens Wiklander <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: Fix printf warnings in ta_avb_invoke_func, slots is uint] Signed-off-by: Tom Rini <[email protected]>
2018-10-07tee: optee: support AVB trusted applicationJens Wiklander
Adds configuration option OPTEE_TA_AVB and a header file describing the interface to the Android Verified Boot 2.0 (AVB) trusted application provided by OP-TEE. Tested-by: Igor Opaniuk <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]> Signed-off-by: Jens Wiklander <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2018-10-07Add UCLASS_TEE for Trusted Execution EnvironmentJens Wiklander
Adds a uclass to interface with a TEE (Trusted Execution Environment). A TEE driver is a driver that interfaces with a trusted OS running in some secure environment, for example, TrustZone on ARM cpus, or a separate secure co-processor etc. The TEE subsystem can serve a TEE driver for a Global Platform compliant TEE, but it's not limited to only Global Platform TEEs. The over all design is based on the TEE subsystem in the Linux kernel, tailored for U-Boot. Reviewed-by: Simon Glass <[email protected]> Tested-by: Igor Opaniuk <[email protected]> Signed-off-by: Jens Wiklander <[email protected]>
2018-10-07mmc: rpmb: add mmc_rpmb_route_frames()Jens Wiklander
Adds mmc_rpmb_route_frames() to route RPMB data frames from/to an external entity. Tested-by: Igor Opaniuk <[email protected]> Signed-off-by: Jens Wiklander <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2018-10-06ARM: LogicPD: omap3logic: Remove Torpedo/SOM-LV autodectionAdam Ford
With there now being four device tree files, and 4 separate defconfig files, the code necessary to determine which board is being used is no longer necessary as the corresponding pin-muxing and board names are determined by the device tree. Signed-off-by: Adam Ford <[email protected]>
2018-10-06configs: drop CONFIG_SYS_EXTRA_ENV_RELOCSimon Goldschmidt
Instead of manually specifying CONFIG_SYS_EXTRA_ENV_RELOC for every board that needs it, it shouldn't hurt to let initr_reloc_global_data() always relocate gd->env_addr unless we know this pointer is outside the initial binary. To achieve this, the relocation is omitted if CONFIG_ENV_ADDR is defined (and ENV_IS_EMBEDDED is not). Signed-off-by: Simon Goldschmidt <[email protected]>
2018-10-05Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini
2018-10-05Merge tag 'rockchip-for-v2018.11-rc2' of git://git.denx.de/u-boot-rockchipTom Rini
Rockchip-focused changes for v2018.11-rc2: - fixes to rkimage for SPL boot via USB - fixes to make_fit_atf.py, incl. entry-point calculation and python3 compatibility - OP-TEE support for ARMv7-based SoCs - fixes to RGMII/GMII selection on the RK3328 Signed-off-by: Tom Rini <[email protected]>
2018-10-05Merge tag 'arc-updates-for-2018.11-rc2' of git://git.denx.de/u-boot-arcTom Rini
Here we do a couple of impovements for all ARC boards as well as introduce yet another developemnt board. 1. Now for ARC boards we print CPU and board info which is useful for users and helps with analysis of logs "post-mortem". 2. Synopsys IoT development kit support is added This one might bw a bit too late as we're past RC1 but: 1) This doesn't affect any other arches etc as we change purely ARC code. 2) I've got a chance to talk about U-Boot on IoT platforms during ELCE (my proposal was on a wait list and only this week I've got an update and invitation to talk) so it would be good to have this board as a primer in upstream code-base by the time of ELCE 2018. 3) For complete support of IoT devkit I'm yet to significantly rework regmap subsystem in U-Boot but that's a different topic and hopefully it will be done sometime soon... though not this release cycle for sure.
2018-10-05arc: Add support for IoT development kitAlexey Brodkin
The DesignWare ARC IoT Development Kit is a versatile platform that includes the necessary hardware and software to accelerate software development and debugging of sensor fusion, voice recognition and face detection designs. More information is avaialble here [1] and here [2]. The board is based on real silicon with ARC EM9D-based Data Fusion IP Subsystem. It sports a rich set of I/O including * DW USB OTG * DW MobileStorage (used for micro SD-card) * GPIO * multiple serial interface including DW APB UART * ADC, PWM and eFlash, SRAM and SPI Flash memory * Real-Time Clock (RTC) * Bluetooth module with worldwide regulatory compliance (FCC, IC, CE, ETSI, TELEC) * On-board 9-axis sensor (gyro, accelerometer and compass) Extensible with Arduino, Pmod, mikroBUS connectors and a 2x18 extension header. One of the most interesting features for developers is built-in Digilent USB JTAG probe so only micro-USB cable is needed! [1] https://www.synopsys.com/dw/ipdir.php?ds=arc_iot_development_kit [2] https://www.synopsys.com/dw/doc.php/ds/cc/iot_dev_kit.pdf Signed-off-by: Alexey Brodkin <[email protected]>
2018-10-04spl: add support to booting with OP-TEEKever Yang
OP-TEE is an open source trusted OS, in armv7, its loading and running are like this: loading: - SPL load both OP-TEE and U-Boot running: - SPL run into OP-TEE in secure mode; - OP-TEE run into U-Boot in non-secure mode; To make code simple, it would be fine to use IH_OS_TEE for the os tyle in TPL(just like IH_OS_LINUX is using both in SPL and U-Boot). Here is the diagram for SPL loading OP-TEE, IH_OS_TEE:(make u-boot.itb for SPL) Non-Secure Secure BootROM | v SPL | v --------- OP-TEE | v U-Boot | V Linux For other two king of OP-TEE loading/booting, see commit message: 45b55712d4 image: Add IH_OS_TEE for TEE chain-load boot More detail: https://github.com/OP-TEE/optee_os and search for 'boot arguments' for detail entry parameter in: core/arch/arm/kernel/generic_entry_a32.S Signed-off-by: Kever Yang <[email protected]> Cc: Bryan O'Donoghue <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2018-10-04Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
2018-10-04mtd: nand: spi: Add Gigadevice SPI NAND supportStefan Roese
This patch adds support for Gigadevices SPI NAND device to the new SPI NAND infrastructure in U-Boot. Currently only the 128MiB GD5F1GQ4UC device is supported. Signed-off-by: Stefan Roese <[email protected]> Cc: Miquel Raynal <[email protected]> Cc: Boris Brezillon <[email protected]> Cc: Jagan Teki <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Acked-by: Jagan Teki <[email protected]>
2018-10-03Merge tag 'rockchip-for-v2018.11' of git://git.denx.de/u-boot-rockchipTom Rini
Rockchip changes for 2018.11
2018-10-03ARM: rmobile: Repair TMU clock on Gen2Marek Vasut
The CPfi/4 is derived from XTAL clock and is not fixed. Undo the previous commit 7984ac8d1635aebd11175c96b07f937a39f0384d. Signed-off-by: Marek Vasut <[email protected]>
2018-10-03riscv: Add QEMU virt board supportBin Meng
This adds QEMU RISC-V 'virt' board target support, with the hope of helping people easily test U-Boot on RISC-V. The QEMU virt machine models a generic RISC-V virtual machine with support for the VirtIO standard networking and block storage devices. It has CLINT, PLIC, 16550A UART devices in addition to VirtIO and it also uses device-tree to pass configuration information to guest software. It implements RISC-V privileged architecture spec v1.10. Both 32-bit and 64-bit builds are supported. Support is pretty much preliminary, only booting to U-Boot shell with the UART driver on a single core. Booting Linux is not supported yet. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Lukas Auer <[email protected]>
2018-10-02Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
This is the PR for SPI-NAND changes along with few spi changes. [trini: Re-sync changes for ls1012afrwy_qspi*_defconfig] Signed-off-by: Tom Rini <[email protected]>
2018-10-02cmd: mtd: add 'mtd' commandMiquel Raynal
There should not be a 'nand' command, a 'sf' command and certainly not a new 'spi-nand' command. Write a 'mtd' command instead to manage all MTD devices/partitions at once. This should be the preferred way to access any MTD device. Signed-off-by: Miquel Raynal <[email protected]> Acked-by: Jagan Teki <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
2018-10-02mtd: mtdpart: implement proper partition handlingMiquel Raynal
Instead of collecting partitions in a flat list, create a hierarchy within the mtd_info structure: use a partitions list to keep track of the partitions of an MTD device (which might be itself a partition of another MTD device), a pointer to the parent device (NULL when the MTD device is the root one, not a partition). By also saving directly in mtd_info the offset of the partition, we can get rid of the mtd_part structure. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
2018-10-02mtd: uboot: search for an equivalent MTD name with the mtdidsMiquel Raynal
Using an MTD device (resp. partition) name in mtdparts is simple and straightforward. However, for a long time already, another name was given in mtdparts to indicate a device (resp. partition) so the "mtdids" environment variable was created to do the match. Let's create a function that, from an MTD device (resp. partition) name, search for the equivalent name in the "mtdparts" environment variable thanks to the "mtdids" string. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
2018-10-02mtd: mtdpart: add a generic mtdparts-like parserMiquel Raynal
The current parser is very specific to U-Boot mtdparts implementation. It does not use MTD structures like mtd_info and mtd_partition. Copy and adapt the current parser in drivers/mtd/mtd-uclass.c (to not break the current use of mtdparts.c itself) and write some kind of a wrapper around the current implementation to allow other commands to benefit from this parsing in a user-friendly way. This new function will allocate an mtd_partition array for each successful call. This array must be freed after use by the caller. The given 'mtdparts' buffer pointer will be moved forward to the next MTD device (if any, it will point towards a '\0' character otherwise). Signed-off-by: Miquel Raynal <[email protected]> Acked-by: Jagan Teki <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
2018-10-02mtd: uclass: add probe functionMiquel Raynal
The user might want to trigger the probe of any MTD device, export these functions so they can be called from a command source file. Signed-off-by: Miquel Raynal <[email protected]> Acked-by: Jagan Teki <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Boris Brezillon <[email protected]>
2018-10-02dm: drop unused helper in MTD headerMiquel Raynal
include/mtd.h might be included by files even if CONFIG_DM is not enabled. In this case, the call to dev_get_uclass_priv() would trigger a build error. Because this helper has no user, let's drop it off. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2018-10-02mmc: dw_mmc: check fifo status with a timeout in fifo modeHeiko Stuebner
While trying to enable the dw_mmc on rk3188 I managed to confuse and hang the dw_mmc controller into not delivering further data. The fifo state never became ready and the driver was iterating in the while loop reading 0-byte packets forever. So inspired by how other implementations handle this, check the fifo- state beforhand and add a timeout to catch any glaring fifo issues without hanging uboot altogether. Signed-off-by: Heiko Stuebner <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Acked-by: Philipp Tomsich <[email protected]>
2018-09-30Merge git://git.denx.de/u-boot-dmTom Rini
2018-09-29Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
Signed-off-by: Tom Rini <[email protected]>
2018-09-29include/dm.h: Remove duplicated include directiveLiviu Dudau
Remove duplicated inclusion of dm/ofnode.h Signed-off-by: Liviu Dudau <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Drop period at end of commit subject: Signed-off-by: Simon Glass <[email protected]>
2018-09-29include/clk.h: Fix the name of the clock uclass in commentLiviu Dudau
The comment references a structure name that doesn't exist. Use the name of the actual uclass. Signed-off-by: Liviu Dudau <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Drop period at end of commit subject: Signed-off-by: Simon Glass <[email protected]>
2018-09-29drivers: Add board uclassMario Six
Since there is no canonical "board device" that can be used in board files, it is difficult to use DM function for board initialization in these cases. Hence, add a uclass that implements a simple "board device", which can hold devices not suitable anywhere else in the device tree, and is also able to read encoded information, e.g. hard-wired GPIOs on a GPIO expander, read-only memory ICs, etc. that carry information about the hardware. The devices of this uclass expose methods to read generic data types (integers, strings, booleans) to encode the information provided by the hardware. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Mario Six <[email protected]>
2018-09-29core: Add dev_{disable,enable}_by_pathMario Six
We cannot use device structures to disable devices, since getting them with the API functions would bind and activate the device, which would fail if the underlying device does not exist. Reviewed-by: Simon Glass <[email protected]>
2018-09-29core: Add functions to set properties in live-treeMario Six
Implement a set of functions to manipulate properties in a live device tree: * ofnode_write_prop() to set generic properties of a node * ofnode_write_string() to set string properties of a node * ofnode_set_enabled() to either enable or disable a node Signed-off-by: Mario Six <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2018-09-29Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2018-09-29Merge tag 'fsl-qoriq-for-v2018.11-rc1' of git://git.denx.de/u-boot-fsl-qoriqTom Rini
Switch to driver model for eSDHC on Layerscape SoCs including LS1021A, LS1043A, LS1046A, LS1088A, LS2088A. Switch to driver model for SATA on LS1021A and LS1043A. Add support for LS1012AFRWY rev C board. Enable SMMU for LS1043A.
2018-09-29ARM: da850evm_direct_nor_defconfig: Enable DM_SERIALAdam Ford
With DM enabled, this patch enables DM_SERIAL and removes the NS16550 initialization from da850_lowlevel since the driver will take care of that itself. Signed-off-by: Adam Ford <[email protected]>
2018-09-28W1-EEPROM: add sandbox driverEugen Hristev
Add a sandbox driver for a one wire EEPROM memory Signed-off-by: Eugen Hristev <[email protected]>
2018-09-28W1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMsMaxime Ripard
We might want to access data stored onto one wire EEPROMs. Create a framework to provide a consistent API. Signed-off-by: Maxime Ripard <[email protected]> [[email protected]: reworked patch] Signed-off-by: Eugen Hristev <[email protected]>
2018-09-28w1: Add 1-Wire uclassMaxime Ripard
We might want to use 1-Wire devices connected on boards such as EEPROMs in U-Boot. Provide a framework to be able to do that. Signed-off-by: Maxime Ripard <[email protected]> [[email protected]: reworked] Signed-off-by: Eugen Hristev <[email protected]>
2018-09-28common: Generic loader for file systemTien Fong Chee
This is file system generic loader which can be used to load the file image from the storage into target such as memory. The consumer driver would then use this loader to program whatever, ie. the FPGA device. Signed-off-by: Tien Fong Chee <[email protected]>
2018-09-28block: Add a function to find block device descriptorTien Fong Chee
Add a function to find the block device descriptor of the parent device. Signed-off-by: Tien Fong Chee <[email protected]> [trini: Move function declaration to avoid warning] Signed-off-by: Tom Rini <[email protected]>
2018-09-28cmd: ubifs: Factor out some checking codes into cmd_ubifs_mount()Tien Fong Chee
cmd_ubifs_mount() function would be called directly instead of involving whole command machinery for mounting ubifs in generic firmware loader, so some checking codes need to be factored out into cmd_ubifs_mount() without breaking original functionality design. Signed-off-by: Tien Fong Chee <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2018-09-28cmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount()Tien Fong Chee
cmd_ubifs_umount() function would be called directly instead of involving whole command machinery in generic firmware loader, so checking on ubifs_initialized status need to be done in cmd_ubifs_umount() without breaking original functionality design. Signed-off-by: Tien Fong Chee <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> [trini: Fix conflicting type error in cmd/ubi.c] Signed-off-by: Tom Rini <[email protected]>
2018-09-28ARM: dts: sun7i: Update A20 dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A10 devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit 5d9ef839f874f4e3923c8a9ae7b136c6c3912cd5 Author: Stefan Mavrodiev <[email protected]> Date: Wed May 16 14:38:08 2018 +0300 ARM: dts: sun7i: Add Olimex A20-SOM-EVB-eMMC board Note: - Update sun7i-a20-primo73.dts as per Linux, since this dts is U-Boot specific. - Drop sun7i-a20-olimex-som-evb-emmc.dts since no board added for this. Signed-off-by: Jagan Teki <[email protected]>
2018-09-28ARM: dts: sun6i: Update A31/A31s dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A31/A31s devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit b240b419db5d624ce7a5a397d6f62a1a686009ec Merge: 9c2dd8405c0c 518d2f43c358 Author: Linus Torvalds <[email protected]> Date: Thu Apr 5 21:18:09 2018 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Signed-off-by: Jagan Teki <[email protected]>