summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2017-07-22env: Add generic redundant environment implementationFiach Antaw
All current environments that implement redundancy use almost identical implementations. This patch implements the env_nand implementation as a function in env_common, and updates the env_export function to export an env_nand-style 'flags' field by default. Signed-off-by: Fiach Antaw <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-07-19efi_console: set up events[email protected]
Set up a timer event and the WaitForKey event. In the notify function of the timer event check for console input and signal the WaitForKey event accordingly. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_set_timer[email protected]
efi_set_timer is refactored to make the function callable internally. Wrapper function efi_set_timer_ext is provided for EFI applications. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_create_event[email protected]
efi_create_event is refactored to make it possible to call it internally. For EFI applications wrapper function efi_create_event_ext is created. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: correct size for tpl level[email protected]
The UEFI standard defines the type for the tpl level as EFI_TPL alias UINTN. UINTN is an integer is defined as an unsigned integer of native width. So we can use size_t for the definition. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement multiple event support[email protected]
Up to now the boot time supported only a single event. This patch now allows four events. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: use struct efi_event * instead of void *[email protected]
In our implementation the internal structure of events is known. So use the known type instead of void. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: define all known status codes[email protected]
efi.h held only a few EFI status codes. The patch adds the missing definitions for later usage. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement EFI_DEVICE_PATH_TO_TEXT_PROTOCOL[email protected]
ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path This is the kind of device path we hand out for block devices. All other cases may be implemented later. Signed-off-by: Heinrich Schuchardt <[email protected]> [agraf: fix whitespace] Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: reimplement efi_locate_protocol[email protected]
The UEFI specification requires that LocateProtol finds the first handle supporting the protocol and to return a pointer to its interface. So we have to assign the protocols to an efi_object and not use any separate storage. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: provide a sufficient number of protocols[email protected]
Four protocols per object is too few to run iPXE. Let's raise the number of protocols per object to eight. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement InstallProtocolInterface[email protected]
efi_install_protocol_interface up to now only returned an error code. The patch implements the UEFI specification for InstallProtocolInterface with the exception that it will not create new handles. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_open_protocol[email protected]
efi_open_protocol was implemented to call a protocol specific open function to retrieve the protocol interface. The UEFI specification does not know of such a function. It is not possible to implement InstallProtocolInterface with the current design. With the patch the protocol interface itself is stored in the list of installed protocols of an efi_object instead of an open function. Signed-off-by: Heinrich Schuchardt <[email protected]> [agraf: fix efi gop support] Signed-off-by: Alexander Graf <[email protected]>
2017-07-19regulator: Change get_enable return type to integer from boolKeerthy
Change get_enable return type to int so errors can be returned. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-07-18Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2017-07-14mx6cuboxi: Move CONFIG_CMD_SATA to KconfigFabio Estevam
Move CONFIG_CMD_SATA option to Kconfig to fix the following build error: In file included from include/configs/mx6cuboxi.h:137:0, from include/config.h:7, from include/common.h:21, from common/env_common.c:11: include/config_distro_bootcmd.h:161:2: error: expected '}' before 'BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA' BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA Reported-by: Stefano Babic <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12Merge git://www.denx.de/git/u-boot-marvellTom Rini
2017-07-12imx: cx9020: try pxe boot, if no vmlinuz on mmcPatrick Bruenn
If no vmlinuz is found on mmc, try to boot from pxe. Signed-off-by: Patrick Bruenn <[email protected]>
2017-07-12imx: cx9020: use fdt_addr_r and ramdisk_addr_rPatrick Bruenn
Replace fdtaddr and rdaddr variable names with u-boot standard names fdt_addr_r and ramdisk_addr_r. This will make the use of pxe boot more easy. Signed-off-by: Patrick Bruenn <[email protected]>
2017-07-12mx6sabreauto: Add Falcon mode supportDiego Dorta
Add support for Falcon mode and explain in the README the steps to boot the kernel directly without loading the full U-Boot. Signed-off-by: Diego Dorta <[email protected]> Acked-by: Fabio Estevam <[email protected]>
2017-07-12warp: Use PARTUUID to specify the rootfs locationFabio Estevam
warp can run different kernel versions, such as NXP 4.1 or mainline. Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Succesfully tested booting a NXP 4.1 and also a mainline 4.12 kernel. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Otavio Salvador <[email protected]>
2017-07-12embestmx6boards: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Also add CONFIG_BOOTCOMMAND to run finduuid function and distro_bootcmd. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12mx6cuboxi: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12wandboard: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12mx6sabre: Use PARTUUID to specify the rootfs locationFabio Estevam
mx6sabre boards can run different kernel versions, such as NXP 4.1 or mainline. Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Succesfully tested booting a NXP 4.1 and also a mainline kernel on a mx6qsabresd and mx6dlsabreauto. Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12mx6sabreauto: Do not enable WEIM by defaultFabio Estevam
WEIM cannot be used when I2C3 is enabled due to pin conflict, so keep WEIM disabled by default. I2C3 controls GPIO I2C expander (USB host and OTG have VBUS controlled by the GPIO I2C expander), magnetometer, accelerometer. Not disabling WEIM in U-Boot causes I2C3 to behave badly when booting a NXP 4.1 kernel, which leads to probe failure on several devices, including the lack of USB: imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517 By keeping WEIM disabled in U-Boot these kernel issues are gone. Reported-by: Takashi Matsuzawa <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12imx: reorganize IMX code as other SOCsStefano Babic
Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Akshay Bhat <[email protected]> CC: Ken Lin <[email protected]> CC: Marek Vasut <[email protected]> CC: Heiko Schocher <[email protected]> CC: "Sébastien Szymanski" <[email protected]> CC: Christian Gmeiner <[email protected]> CC: Stefan Roese <[email protected]> CC: Patrick Bruenn <[email protected]> CC: Troy Kisky <[email protected]> CC: Nikita Kiryanov <[email protected]> CC: Otavio Salvador <[email protected]> CC: "Eric Bénard" <[email protected]> CC: Jagan Teki <[email protected]> CC: Ye Li <[email protected]> CC: Peng Fan <[email protected]> CC: Adrian Alonso <[email protected]> CC: Alison Wang <[email protected]> CC: Tim Harvey <[email protected]> CC: Martin Donnelly <[email protected]> CC: Marcin Niestroj <[email protected]> CC: Lukasz Majewski <[email protected]> CC: Adam Ford <[email protected]> CC: "Albert ARIBAUD (3ADEV)" <[email protected]> CC: Boris Brezillon <[email protected]> CC: Soeren Moch <[email protected]> CC: Richard Hu <[email protected]> CC: Wig Cheng <[email protected]> CC: Vanessa Maegima <[email protected]> CC: Max Krummenacher <[email protected]> CC: Stefan Agner <[email protected]> CC: Markus Niebel <[email protected]> CC: Breno Lima <[email protected]> CC: Francesco Montefoschi <[email protected]> CC: Jaehoon Chung <[email protected]> CC: Scott Wood <[email protected]> CC: Joe Hershberger <[email protected]> CC: Anatolij Gustschin <[email protected]> CC: Simon Glass <[email protected]> CC: "Andrew F. Davis" <[email protected]> CC: "Łukasz Majewski" <[email protected]> CC: Patrice Chotard <[email protected]> CC: Nobuhiro Iwamatsu <[email protected]> CC: Hans de Goede <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Stephen Warren <[email protected]> CC: Andre Przywara <[email protected]> CC: "Álvaro Fernández Rojas" <[email protected]> CC: York Sun <[email protected]> CC: Xiaoliang Yang <[email protected]> CC: Chen-Yu Tsai <[email protected]> CC: George McCollister <[email protected]> CC: Sven Ebenfeld <[email protected]> CC: Filip Brozovic <[email protected]> CC: Petr Kulhavy <[email protected]> CC: Eric Nelson <[email protected]> CC: Bai Ping <[email protected]> CC: Anson Huang <[email protected]> CC: Sanchayan Maity <[email protected]> CC: Lokesh Vutla <[email protected]> CC: Patrick Delaunay <[email protected]> CC: Gary Bisson <[email protected]> CC: Alexander Graf <[email protected]> CC: [email protected] Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2017-07-12mmc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECTPeng Fan
CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT is not the correct method to set I/O to 1.8. To boards that does not support vqmmc-supply, use vs18_enable in fsl_esdhc_cfg. If regulator is supported, use fixed 1.8V regulator for vqmmc-supply. Signed-off-by: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: York Sun <[email protected]> Cc: Stefano Babic <[email protected]>
2017-07-12mmc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/OPeng Fan
When using eMMC with 1.8V I/O, the VSELECT bit need to be set in the USDHC controller when init. This patch adds a parameter "vs18_enable" in fsl_esdhc_cfg structure and priv data, so each controller can have different settings. We could not use CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT, it has problem that it will apply to all USDHC controllers and it only set the 1.8V at init phase. So if user does not select to the eMMC device, the voltage on the I/O pins are not correct. Signed-off-by: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: York Sun <[email protected]> Cc: Stefano Babic <[email protected]>
2017-07-12mmc: fsl_esdhc: correct type of wp_enablePeng Fan
The type should be int, not u8. cfg->wp_enable will finally be assigned to priv->wp_enable whose type is int. Signed-off-by: Peng Fan <[email protected]>
2017-07-12imx6_spl: Add u-boot-dtb.img for SPL payloadJagan Teki
Add u-boot-dtb.img for SPL_FS_LOAD_PAYLOAD_NAME when OF_CONTROL used. Signed-off-by: Jagan Teki <[email protected]>
2017-07-12mx6sabreauto: Update to SPL only modeVanessa Maegima
As mx6sabreauto supports SPL now, all variants can boot using the same defconfig. This patch: - Removes non-SPL targets. - Renames target to mx6sabreauto_defconfig. - Renames folder and board files to mx6sabreauto. - Updates MAINTAINERS, Makefile and Kconfig accordingly. - Removes .cfg files. - Adds a README with instructions to build and flash SPL and u-boot.img. Signed-off-by: Vanessa Maegima <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2017-07-12mx6qsabreauto: Add SPL supportVanessa Maegima
Add support for mx6q, mx6dl and mx6qp sabreauto boards in SPL. Retrieved the mx6q DCD table from: board/freescale/mx6qsabreauto/imximage.cfg Retrieved the mx6dl DCD table from: board/freescale/mx6qsabreauto/mx6dl.cfg Retrieved the mx6qp DCD table from: board/freescale/mx6qsabreauto/mx6qp.cfg Flashed SPL and u-boot.img to an SD card and could successfully boot it on mx6q, mx6qp and mx6dl sabreauto boards. Signed-off-by: Vanessa Maegima <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2017-07-12mx6cuboxi: Add support for sataPeter Robinson
The Cubox-i and Hummingboard series of devices have an option of SATA on board, and depending on how the fuses are blown even the option to boot SPL from SATA. So enable support for it so it can be used to boot the OS from if people desire. Cc: Fabio Estevam <[email protected]> Signed-off-by: Peter Robinson <[email protected]> Acked-by: Fabio Estevam <[email protected]>
2017-07-12ot1200: enable CONFIG_IMX_THERMAL for detailed thermal informationChristian Gmeiner
Signed-off-by: Christian Gmeiner <[email protected]>
2017-07-12mx6sabresd: Fix guard file symbolFabio Estevam
Remove the "Q" from the file guard symbol, so that it matches the file name. Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12marvell: armada385: Add the Turris Omnia boardMarek Behún
The Turris Omnia is a open-source router created by CZ.NIC. The code is based on the Marvell/db-88f6820-gp by Stefan Roese with modifications from Tomas Hlavacek in the CZ.NIC turris-omnia-uboot repository, which can be found at https://gitlab.labs.nic.cz/turris/turris-omnia-uboot By default, the Turris Omnia uses btrfs as the main and only filesystem, and also loads kernel and device tree from this filesystem. Since U-Boot does not yet support btrfs, you should not flash your Turris Omnia board with this unless you know what you are doing. Signed-off-by: Tomas Hlavacek <[email protected]> Signed-off-by: Marek Behun <[email protected]> create mode 100644 board/CZ.NIC/turris_omnia/Makefile create mode 100644 board/CZ.NIC/turris_omnia/kwbimage.cfg create mode 100644 board/CZ.NIC/turris_omnia/turris_omnia.c create mode 100644 configs/turris_omnia_defconfig create mode 100644 include/configs/turris_omnia.h Signed-off-by: Stefan Roese <[email protected]>
2017-07-12drivers/misc: Add basic support for ATSHA204A Crypto moduleMarek Behún
This module can be found on the Turris Omnia board connected via the I2C interface. Among some cryptographic functions, the chip has a 512 bit One Time Programmable memory, 88 byte configuration memory and 512 byte general purpose memory. The Turris Omnia stores serial number and device MAC address in the OTP memory. This commit adds basic support for reading the EEPROM and also exposes the chips Random Number Generator. The driver is based on code by Josh Datko, Cryptotronix, [email protected] and also Tomas Hlavacek, CZ.NIC, [email protected] Signed-off-by: Tomas Hlavacek <[email protected]> Signed-off-by: Marek Behun <[email protected]> create mode 100644 drivers/misc/atsha204a-i2c.c create mode 100644 include/atsha204a-i2c.h Signed-off-by: Stefan Roese <[email protected]>
2017-07-11configs: am335x_evm: Enable FASTBOOT based on kconfigAlexandru Gagniuc
When CONFIG_CMD_FASTBOOT or CONFIG_USB_FUNCTION_FASTBOOT are defined in am335x_evm.h, a dependency on g_dnl.c is created. This in turn creates a dependency on having USB gadget enabled. As a result we can't create configs with USB gadget disabled. Since these CONFIG_ variables are now part of kconfig, move them to the board defconfigs, and out of am335x_evm.h. This both preserves current defaults, and allows creating configs with USB gadget off. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-07-11mtd: nand: make nand_info array staticGrygorii Strashko
Make make nand_info array static, since all direct users of nand_info array have been converted to use get_nand_dev_by_index() API. Signed-off-by: Grygorii Strashko <[email protected]>
2017-07-11cmd: nand: abstract global variable usage for dm conversionMugunthan V N
nand_info is used all over the file so abstract it with get_nand_dev_by_index() which will help for DM conversion. Signed-off-by: Mugunthan V N <[email protected]> Signed-off-by: Grygorii Strashko <[email protected]>
2017-07-11Merge git://git.denx.de/u-boot-dmTom Rini
2017-07-11Merge branch 'master' of git://git.denx.de/u-boot-rockchipTom Rini
2017-07-11dm: ofnode: rename ofnode_read_prop() to ofnode_get_property()Masahiro Yamada
This function returns the pointer to the value of a node property. The current name ofnode_read_prop() is confusing. Follow the naming of_get_property() from Linux. The return type (const u32 *) is wrong. DT property values can be strings as well as integers. This is why of_get_property/fdt_getprop returns an opaque pointer. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2017-07-11dm: core: Add functions to obtain node's address/size cellsSimon Glass
The of_n_addr_cells() and of_n_size_cells() functions are useful for getting the size of addresses in a node, but in a few places U-Boot needs to obtain the actual property value for a node without walking up the stack. Add functions for this and just the existing code to use it. Add a comment to the existing ofnode functions which do not do the right thing with a flat tree. This fixes a problem reading PCI addresses. Signed-off-by: Simon Glass <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1
2017-07-11dm: core: Add dev_read_enabled() to check if a device is enabledSimon Glass
This function allows a device's status to be read. This indicates whether the device should be enabled or disabled. Note: In normal operation disabled devices will not be present in the driver-model tree. Signed-off-by: Simon Glass <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1
2017-07-11dm: core: Add dev_read_resource() to read device resourcesSimon Glass
Add a function which reads resources from a device, such as the device hardware address. This uses the "reg" property in the device. Unlike other functions there is little sense in inlining this when livetree is not being used because it has some logic in it and this would just bloat the code size. Signed-off-by: Simon Glass <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1
2017-07-11dm: core: Add ofnode_read_string_count()Simon Glass
This provides a way to find the number of strings in a string list. Add it and also fix up the comment for ofnode_read_string_index(). Signed-off-by: Simon Glass <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> Tested-on: Beaver, Jetson-TK1
2017-07-11sandbox: Enable more console optionsSimon Glass
Enable the pre-console buffer, displaying the model and post-relocation console announce on sandbox. Also add a model name to the device tree. This allows testing of these features. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Stephen Warren <[email protected]>
2017-07-11Allow displaying the U-Boot banner on a video displaySimon Glass
At present the U-Boot banner is only displayed on the serial console. If this is not visible to the user, the banner does not show. Some devices have a video display which can usefully display this information. Add a banner which is printed after relocation only on non-serial devices if CONFIG_DISPLAY_BOARDINFO_LATE is defined. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> Tested-by: Stephen Warren <[email protected]>