summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configs: sama5d4_xplained: add onewire and eeprom driversEugen Hristev2018-09-283-0/+12
| | | | | | | | | SAMA5D4 SoC can have extra clip boards (PDAs) connected, which have an EEPROM memory for identification. A special GPIO can be used to read this memory over 1wire protocol. Enabling one wire and eeprom drivers for this memory. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* configs: sama5d2_ptc_ek: add onewire and eeprom driversEugen Hristev2018-09-282-0/+8
| | | | | | | | | SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have an EEPROM memory for identification. A special GPIO can be used to read this memory over 1wire protocol. Enabling one wire and eeprom drivers for this memory. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* configs: sama5d27_som1_ek: add onewire and eeprom driversEugen Hristev2018-09-281-0/+4
| | | | | | | | | SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have an EEPROM memory for identification. A special GPIO can be used to read this memory over 1wire protocol. Enabling one wire and eeprom drivers for this memory. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* configs: sama5d3_xplained: add onewire and eeprom driversEugen Hristev2018-09-282-0/+8
| | | | | | | | | SAMA5D3 SoC can have extra clip boards (PDAs) connected, which have an EEPROM memory for identification. A special GPIO can be used to read this memory over 1wire protocol. Enabling one wire and eeprom drivers for this memory. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* configs: sama5d2_xplained: add onewire and eeprom driversEugen Hristev2018-09-282-0/+8
| | | | | | | | | SAMA5D2 SoC can have extra clip boards (PDAs) connected, which have an EEPROM memory for identification. A special GPIO can be used to read this memory over 1wire protocol. Enabling one wire and eeprom drivers for this memory. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* configs: sandbox: add onewire w1 and sandbox eepromEugen Hristev2018-09-281-0/+4
| | | | | | | To be able to test Dallas onewire protocol and one wire eeproms driver and subsystem, add in sandbox defconfig the drivers' config. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* sandbox: DTS: w1: add node for one wire interface on GPIOEugen Hristev2018-09-281-0/+20
| | | | | | | Add a node for the one wire uclass and one wire gpio driver in sandbox. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* pinctrl: sandbox: add gpio onewire w1 groupEugen Hristev2018-09-281-0/+3
| | | | | | Add onewire "w1" groups and pin function for onewire GPIOs in sandbox. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* w1: add command for onewire protocolEugen Hristev2018-09-283-0/+134
| | | | | | | Add basic command for bus information and read for onewire bus using Dallas 1-Wire protocol. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* dt-bindings: w1-eeprom: eep_sandbox: create bindingsEugen Hristev2018-09-281-0/+34
| | | | | | Bindings for sandbox onewire eeprom driver Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* W1-EEPROM: add sandbox driverEugen Hristev2018-09-284-0/+69
| | | | | | Add a sandbox driver for a one wire EEPROM memory Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* dt-bindings: w1-eeprom: ds24xxx: create bindingsEugen Hristev2018-09-281-0/+37
| | | | | | Bindings for Maxim's ds24 onewire EEPROM families driver Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* W1-EEPROM: add support for Maxim DS24 eeprom familiesMaxime Ripard2018-09-283-0/+63
| | | | | | | | | | Add a driver that supports Maxim 1 wire EEPROMs families DS24B33 and DS2431. Can be extended for other families as well. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> [eugen.hristev@microchip.com: reworked driver] Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* w1: identify devices with w1-eeprom uclassEugen Hristev2018-09-281-0/+4
| | | | | | | When a new device is discovered, this may be a w1 eeprom device. Attempt to find the proper node and driver from the w1-eeprom subsystem. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* W1-EEPROM: Add an W1-EEPROM uclass for 1 wire EEPROMsMaxime Ripard2018-09-287-0/+172
| | | | | | | | | We might want to access data stored onto one wire EEPROMs. Create a framework to provide a consistent API. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> [eugen.hristev@microchip.com: reworked patch] Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* dt-bindings: W1: w1-gpio: added bindings for w1-gpioEugen Hristev2018-09-281-0/+40
| | | | | | | Added bindings specification for bitbanged gpio driver for Dallas one wire protocol Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* w1: Add 1-Wire gpio driverMaxime Ripard2018-09-283-0/+185
| | | | | | | | Add a bus driver for bitbanging a 1-Wire bus over a GPIO. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> [eugen.hristev@microchip.com: fixed some issues] Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* w1: Add 1-Wire uclassMaxime Ripard2018-09-287-0/+295
| | | | | | | | | | | 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 <maxime.ripard@bootlin.com> [eugen.hristev@microchip.com: reworked] Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* common: Generic loader for file systemTien Fong Chee2018-09-285-0/+385
| | | | | | | | | 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 <tien.fong.chee@intel.com>
* doc: dtbinding: Add file system firmware loader binding documentTien Fong Chee2018-09-282-0/+69
| | | | | | | | Add a document to describe file system firmware loader binding information. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* doc: Add new doc for file system firmware loader driver modelTien Fong Chee2018-09-281-0/+133
| | | | | | | | | | | Provide information about - overview of file system firmware loader driver model - describe storage device and partition in device tree source - describe fie system firmware loader API Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* block: Add a function to find block device descriptorTien Fong Chee2018-09-282-0/+32
| | | | | | | | | Add a function to find the block device descriptor of the parent device. Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com> [trini: Move function declaration to avoid warning] Signed-off-by: Tom Rini <trini@konsulko.com>
* cmd: ubifs: Factor out some checking codes into cmd_ubifs_mount()Tien Fong Chee2018-09-282-8/+15
| | | | | | | | | | | 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 <tien.fong.chee@intel.com> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de>
* cmd: ubifs: Move ubifs_initialized checking into cmd_ubifs_umount()Tien Fong Chee2018-09-283-11/+11
| | | | | | | | | | | | | 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 <tien.fong.chee@intel.com> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de> [trini: Fix conflicting type error in cmd/ubi.c] Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge tag 'xilinx-for-v2018.11' of git://git.denx.de/u-boot-microblazeTom Rini2018-09-2720-63/+87
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xilinx changes for v2018.11 - Handle BOARD_LATE_INIT via Kconfig SPL: - Enable GZIP for all partitions types(not only for kernel) ZynqMP: - Rearrange pmufw version handling - Support newer PMUFW with improved fpga load sequence Zynq: - Cleanup config file - Simplify zybo config by enabling option via Kconfig net: - Fix gems max-speed property reading - Enable support for fixed-link phys
| * net: zynq_gem: Add support for fixed-link phyMichal Simek2018-09-271-8/+9
| | | | | | | | | | | | | | | | Based on dt-specs fixed-link doesn't require phy-handle to be used. Fix driver to only read phy related setting when phy-handle is found. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * arm: zynq: zybo: migrate CONFIG_DISPLAY to defconfigLuis Araneda2018-09-262-2/+1
| | | | | | | | | | | | | | | | Only add CONFIG_DISPLAY to defconfig because CONFIG_I2C_EDID is automatically selected by CONFIG_DISPLAY Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * net: zynq_gem: Fix reading of max-speed propertySiva Durga Prasad Paladugu2018-09-261-1/+2
| | | | | | | | | | | | | | | | | | | | max-speed property is part of phynode and it has to be read using ofnode_read_u32_default(). This fixes the issue of incorrect max-speed read from DT. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * spl: fit: Enable GZIP compression also for no kernel partitionsMichal Simek2018-09-261-4/+1
| | | | | | | | | | | | | | | | There is no reason to limit gzip usage only for OS_BOOT and kernel image type. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Tested-by: York Sun <york.sun@nxp.com>
| * fpga: zynqmp: Modify PL bitstream loading sequenceSiva Durga Prasad Paladugu2018-09-262-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies PL bitstream loading sequence as per latest Xilfpga which supports all variants of bitstream images generated from vivado and from bootgen. With this new change in Xilfpga, uboot doesn't need to validate and swap bitstream as it will be taken care inside Xilfpga. ZynqMP PL driver now checks for supporting PMUFW version before skipping the validation and swap sequence as there can be old PMUFW which doesn't supports this feature. In this case, driver uses old way of PL bitstream loading sequence. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm64: zynqmp: Return pmufw version for zynqmp_pmufw_version()Siva Durga Prasad Paladugu2018-09-263-16/+28
| | | | | | | | | | | | | | | | | | Modify the zynqmp_pmufw_version() routine to return PMUFW version so that it can be reused wherever required. Get PMUFW version from PMU only once at bootup and later just return stored value. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm64: zynqmp: Move PM version related macros to .hSiva Durga Prasad Paladugu2018-09-262-11/+11
| | | | | | | | | | | | | | | | This patch moves the PM version related macros to .h file so that they can be reused in other files. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynq: Remove useless comments from config fileMichal Simek2018-09-261-8/+0
| | | | | | | | | | | | Moving options to Kconfig some comments are useless now. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm64: zynqmp: Handle CONFIG_BOARD_LATE_INIT via KconfigMichal Simek2018-09-2611-5/+10
| | | | | | | | | | | | Disable BOARD_LATE_INIT via Kconfig. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | Merge tag 'signed-efi-next' of git://github.com/agraf/u-bootTom Rini2018-09-2681-1226/+8024
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch queue for efi - 2018-09-26 A lot of goodness in this release. We're *very* close to running the UEFI Shell and SCT natively. The only missing piece are HII protocols. - FAT write support (needed for SCT) - improved FAT directory support (needed for SCT) - RTC support with QEMU -M virt - Sandbox support (run UEFI binaries in Linux - yay) - Proper UTF-16 support - EFI_UNICODE_COLLATION_PROTOCOL support (for UEFI Shell) - EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL support (for UEFI Shell) - Fix window size determination - Fix Tegra by explicitly unmapping RAM - Clean up handle entanglement - Lots of generic code cleanup [trini: Fixup merge conflict in include/configs/qemu-arm.h] Signed-off-by: Tom Rini <trini@konsulko.com>
| * | sandbox: Fix set_working_fdt_addr usersAlexander Graf2018-09-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running sandbox with the new pointer sanitization we just recently introduced, we're running into a case with FIT images where we end up interpreting pointers as addresses. What happened is that most callers of set_working_fdt_addr() simply convert pointers into addresses without taking into account that they might be 2 separate address spaces. Fix the callers up to map their pointers into addresses. This makes sandbox tests pass for me again. Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: refactor efi_setup_loaded_image()Heinrich Schuchardt2018-09-235-100/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the handle of loaded images and the EFI_LOADED_IMAGE_PROTOCOL inside efi_setup_loaded_image(). Do not use local variables. Currently we expect the loaded image handle to point to the loaded image protocol. Additionally we have appended private fields to the protocol. With the patch the handle points to a loaded image object and the private fields are added here. This matches how we handle the net and the gop object. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | arm: qemu-arm: enable RTC (PL031) by defaultAKASHI Takahiro2018-09-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Virtual machine provided by qemu-arm has a ARM PL031 Real Time Clock device. With this patch, the driver is enabled by default. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | rtc: pl031: convert the driver to driver modelAKASHI Takahiro2018-09-233-50/+80
| | | | | | | | | | | | | | | | | | | | | | | | With this patch, PL031 driver is converted to driver-model-compliant driver. In addition, CONFIG_SYS_RTC_PL031_BASE is no longer valid. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: Fix loaded_image handle passing from EL3Alexander Graf2018-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running in EL3 mode on AArch64, we have to first drop to EL2 to execute a UEFI payload. When dropping down, the arguments to the entry point have to stay identical to the ones for normal entry though. In commit ea54ad59286 ("efi_loader: pass handle of loaded image") we incorrectly changed that logic and had the el3 entry path diverge. Fix it up by syncing it back to what it's supposed to be. Fixes: ea54ad59286 ("efi_loader: pass handle of loaded image") Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
| * | efi_loader: Disable efi selftest on sandbox for nowAlexander Graf2018-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EFI selftest does not succeed on Sandbox yet. The network support seems to need some love to actually make our current tests succeed. So let's disable running the selftest on sandbox for now until "make tests" just works. Then we can have more amazing CI than ever. Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: remove efi_exit_caches()Heinrich Schuchardt2018-09-231-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since GRUB patch d0c070179d4d ("arm/efi: Switch to arm64 linux loader", 2018-07-09) we do not need a workaround for GRUB on 32bit ARM anymore. So let's eliminate function efi_exit_caches(). This will require Linux distributions to update grub-efi-arm to the GRUB git HEAD (a tag containing the aforementioned GRUB patch is not available yet). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | dm: video: check bounds for column and rowHeinrich Schuchardt2018-09-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | CSI H can be used to position the cursor. The calling application may specify a location that is beyond the limits of the screen. This may lead to an illegal memory access. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: remove redundant statementHeinrich Schuchardt2018-09-232-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ascii2unicode() always ends the u16 string with '\0'. Remove redundant assignment. Add description for efi_str_to_u16() and ascii2unicode(). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: create root nodeHeinrich Schuchardt2018-09-236-22/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we assign a lot of protocols to loaded images though these protocols are not related to them. Instead they should be installed on a separate handle. Via the device path it is the parent to the devices like the network adapter. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: avoid out of bound access in efi_get_variable()Heinrich Schuchardt2018-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In efi_get_variable() a string is longer than the allocated space which results in overwriting the linked list of malloc(). The prefixes used for variables are 41 characters long, e.g. efi_67029eb5-0af2-f6b1-da53-fcb566dd1ce6_ Change PREFIX_LEN to 41. Fixes: faff21556748 ("efi_loader: remove limit on variable length") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_selftest: test qemu-arm(64)_defconfigHeinrich Schuchardt2018-09-232-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | We should run the EFI selftest on both a 32bit and a 64bit ARM platform on Travis to catch possible errors. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_driver: convert function descriptions to Sphinx styleHeinrich Schuchardt2018-09-231-32/+54
| | | | | | | | | | | | | | | | | | | | | | | | Convert the function descriptions to Sphinx style. efi_driver_init() is cCalled by efi_init_obj_list(). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: query serial console size reliablyHeinrich Schuchardt2018-09-231-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all terminals understand CSI [18t for querying the console size. We should adhere to escape sequences documented in the console_codes manpage and the ECMA-48 standard. So here we follow a different approach. We position the cursor to the bottom right and query its position. Before leaving the function we restore the original cursor position. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: Merge memory map entriesAlexander Graf2018-09-231-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently do not combine memory entries that are adjacent and have the same attributes. The problem with that is that our memory map can easily grow multiple hundreds of entries in a simple UEFI Shell environment. So let's make sure we always combine all entries to make the memory map as small as possible. That way every other piece of code that loops through it should also gain some nice speed ups. Signed-off-by: Alexander Graf <agraf@suse.de>