summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2017-06-01dm: gpio: Refactor to prepare for live tree supportSimon Glass1-2/+4
Move the main part of the GPIO request function into a separate function so that it can be used by the live tree function when added. Update the xlate method to use a node reference. Update all GPIO drivers to handle the modified xlate() method. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Run tests with both livetree and flat treeSimon Glass2-0/+4
Some tests require either livetree or flat tree. Add flags to allow the tests to specify this. Adjust the test runner to run with livetree (if supported) and then flat tree. Some video tests are quite slow and running on flat tree adds little extra test value, so run these on livetree only. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: test: Show the test filename when runningSimon Glass1-0/+2
Show the filename of the test being run. Skip the path and show just the base name. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add a way to find a device by ofnodeSimon Glass2-0/+35
Add a function which looks up a device by its node (either in live tree or flat tree). Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Scan the live tree when setting up driver modelSimon Glass1-1/+2
When starting up driver model with a live tree we need to scan the tree for devices. Add code to handle this. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Update device_bind_driver_to_node() to use ofnodeSimon Glass2-1/+3
Adjust this function to us an ofnode instead of an offset, so it can be used with livetree. This involves updating all callers. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Update lists_bind_fdt() to use ofnodeSimon Glass1-4/+3
Adjust this function to use an ofnode instead of an offset, so it can be used with livetree. This involves updating all callers. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Allow binding a device from a live treeSimon Glass1-4/+6
When a live tree is being used we need to record the node that was used to create the device. Update device_bind_with_driver_data() to support this. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Implement live tree 'read' functionsSimon Glass1-92/+148
When the live tree is supported some functions need to change a little. Add an implementation which is used when not inlining these functions. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add device-based 'read' functions to access DTSimon Glass1-0/+383
It is common to read a device-tree property from the node associated with a device. Add convenience functions to do this so that drivers do not need to deal with accessing the ofnode from the device. These functions all start with 'dev_read_' to provide consistent naming for all functions which read information from a device's device tree node. These are inlined when using the flat DT to save code size. The live tree implementation is added in a later commit. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add a place to put extra device-tree reading functionsSimon Glass3-22/+48
Some functions deal with structured data rather than simple data types. It makes sense to have these in their own file. For now this just has a function to read a flashmap entry. Move the data types also. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add address operations on device tree referencesSimon Glass1-1/+22
Add functions to add addresses in the device tree using ofnode references. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01fdt: Update fdt_get_base_address() to use constSimon Glass1-1/+1
This function does not change the device tree so adjust it to use const for this parameter. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add livetree address functionsSimon Glass2-2/+66
Add functions to access addresses in the device tree. These are brought in from Linux 4.10. Also fix up the header guard for fdtaddr.h to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add operations on device tree referencesSimon Glass1-3/+464
Since U-Boot supports both a live tree and a flat tree, we need an easy way to access the tree without worrying about which is currently active. To support this, U-Boot has the concept of an ofnode, which can refer either to a live tree node or a flat tree node. For the live tree, the reference contains a pointer to the node (struct device_node *) or NULL if the node is invalid. For the flat tree, the reference contains the node offset or -1 if the node is invalid. Add a basic set of operations using ofnodes. These are implemented by using either libfdt functions (in the case of a flat DT reference) or the live-tree of_...() functions. Note that it is not possible to have both live and flat references active at the same time. As soon as the live tree is available, everything in U-Boot should switch to using that. This avoids confusion and allows us to assume that the type of a reference is simply based on whether we have a live tree yet, or not. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Rename of_device_is_compatible()Simon Glass1-2/+2
The of_ prefix conflicts with the livetree version of this function. Rename it to avoid problems when we add livetree support. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: Add a function to create a 'live' device treeSimon Glass1-0/+24
This function converts the flat device tree into a hierarchical one with C structures and pointers. This is easier to access. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add livetree access functionsSimon Glass1-0/+347
Add a basic assortment of functions to access the live device tree. These come from Linux v4.9 and are modified for U-Boot to the minimum extent possible. While these functions are now very stable in Linux, it will be possible to merge in fixes if needed. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add livetree definitionsSimon Glass2-0/+109
Add a Kconfig option to enable a live device tree, built at run time from the flat tree. Also add structure definitions and a root node. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01Update WARN_ON() to return a valueSimon Glass1-2/+6
In linux v4.9 this returns a value. This saves checking the warning condition twice in some code. Update the U-Boot version to do this also. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: blk: Allow finding block devices without probingSimon Glass1-1/+14
Sometimes it is useful to be able to find a block device without also probing it. Add a function for this as well as the associated test. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Add ofnode to represent device tree nodesSimon Glass3-4/+107
With live tree we need a struct device_node * to reference a node. With the existing flat tree, we need an int offset. We need to unify these into a single value which can represent both. Add an ofnode union for this and adjust existing code to move to this. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Dont export dm_scan_fdt_node()Simon Glass1-16/+0
This function is only used in one place. It is better to just declare it internally since there is a simpler replacement for use outside the driver-model core code. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: Rename dev_addr..() functionsSimon Glass1-13/+13
These support the flat device tree. We want to use the dev_read_..() prefix for functions that support both flat tree and live tree. So rename the existing functions to avoid confusion. In the end we will have: 1. dev_read_addr...() - works on devices, supports flat/live tree 2. devfdt_get_addr...() - current functions, flat tree only 3. of_get_address() etc. - new functions, live tree only All drivers will be written to use 1. That function will in turn call either 2 or 3 depending on whether the flat or live tree is in use. Note this involves changing some dead code - the imx_lpi2c.c file. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01dm: core: Move dev_get_addr() etc. into a separate fileSimon Glass3-92/+111
Move this group of address-related functions into a new file. These use the flat device tree. Future work will provide new versions of these which can support the live tree. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01sunxi: A64/Pine64: update device tree from LinuxAndre Przywara2-0/+232
The Linux device tree for the Allwinner A64 SoC has changed a lot since the U-Boot version was merged. Let's replace the current DT with a exact copy of the Linux one as of: commit c6778ff813d2ca3e3c8733c87dc8b6831a64578b Merge: 0ff4c01 3c0e3abd Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 9 10:07:33 2017 -0700 This is the DT used in Linux 4.12-rc1. Since U-Boot has an Ethernet driver (while Linux does not yet), we provide the required DT nodes for it in an ...-u-boot.dtsi file, to both mark them as U-Boot specific and to allow easier upgrading once Linux gets the driver and its own binding later. Compared to the existing Ethernet DT nodes we just slightly tweak the clock and reset nodes in there to match the new bindings used by Linux for those. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com>
2017-06-01Merge branch 'master' of git://git.denx.de/u-boot-mipsTom Rini13-0/+263
Please pull another update for Broadcom MIPS. This contains new SoC's, new boards and new drivers and some bugfixes.
2017-06-01Merge git://www.denx.de/git/u-boot-marvellTom Rini1-1/+47
Mostly including the Armada 37xx pinctrl / gpio driver.
2017-06-01Kconfig: Finish migration of hashing commandsDaniel Thompson22-35/+0
Currently these (board agnostic) commands cannot be selected using menuconfig and friends. Fix this the obvious way. As part of this, don't muddle the meaning of CONFIG_HASH_VERIFY to mean both 'hash -v' and "we have a hashing command" as this makes the Kconfig logic odd. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> [trini: Re-apply, add imply for a few cases, run moveconfig.py, also migrate CRC32_VERIFY] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-05-31mips: bmips: extend baud rates supportÁlvaro Fernández Rojas1-0/+4
Now that the uart driver has been fixed we support more baud rates. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-05-31MIPS: add BMIPS Sagem F@ST1704 boardÁlvaro Fernández Rojas1-0/+15
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31MIPS: add support for Broadcom MIPS BCM6338 SoC familyÁlvaro Fernández Rojas3-0/+71
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31MIPS: add BMIPS Netgear CG3100D boardÁlvaro Fernández Rojas1-0/+15
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31MIPS: add support for Broadcom MIPS BCM3380 SoC familyÁlvaro Fernández Rojas3-0/+64
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31MIPS: add BMIPS Comtrend CT-5361 boardÁlvaro Fernández Rojas1-0/+20
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31MIPS: add support for Broadcom MIPS BCM6348 SoC familyÁlvaro Fernández Rojas3-0/+74
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-05-31engicam: Generate single config fileJagan Teki4-548/+29
Engicam has several SOM's on i.MX6 stream, where each SOM has one include/configs/*.h file, this patch generate single config file for all SOM's include/configs/imx6-engicam.h Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31engicam: Add fdt_addr env value based on cpu_typeJagan Teki4-4/+16
Define FDT_ADDR based on the respective SOM, and later patches will make use of this fdt_addr in single config file. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31engicam: Set console env on board_late_initJagan Teki4-4/+0
Set console env on board_late_init instead of configs. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31icorem6: Remove unused FEC configsJagan Teki1-2/+0
- IMX_FEC_BASE: icorem6 using dts, no need for explicit base. - CONFIG_ETHPRIME: ethprime env not using anywhere in the board. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31engicam: Move PHY configs to defconfigJagan Teki4-9/+0
- CONFIG_PHYLIB - CONFIG_PHY_SMSC - CONFIG_PHY_MICREL - CONFIG_PHY_MICREL_KSZ9021 Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31engicam: Move SPL mmc configs under CONFIG_SPL_BUILDJagan Teki4-8/+9
- CONFIG_SYS_FSL_USDHC_NUM - CONFIG_SYS_FSL_ESDHC_ADDR Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31arm: mx6: remove unused config variable CONFIG_SPL_NAND_MXSLothar Waßmann1-5/+0
The config variable CONFIG_SPL_NAND_MXS is only set in include/configs/imx6_spl.h but used nowhere. Remove it. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2017-05-31drivers: pci: imx: add imx_pcie_remove functionTim Harvey1-0/+4
There is no dedicated reset signal wired up for the MX6QDL thus if the bootloader enables the link we need some special handling to get the core back into a state where it is safe to touch it for configuration. While there has been some special handling in the Linux kernel to do this, it was removed in 4.11 thus we need to do it properly in the bootloader and therefore without this if you enable PCI in the bootloader you will hang while booting the 4.11 kernel. This puts the PCIe controller back into a safe state for the kernel driver before launching the kernel. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Tested-by: Peter Senna Tschudin <peter.senna@collabora.com>
2017-05-31mx7dsabresd: Increase CONFIG_ENV_OFFSETFabio Estevam1-1/+1
After running 'saveenv' we can no longer boot. Adjust CONFIG_ENV_OFFSET so that U-Boot binary and the environment section do not overlap. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-05-31pico-imx7d: Add initial supportVanessa Maegima1-0/+143
Add the initial support for pico-imx7d board based on Wig Cheng's source code. Add support for eMMC, USB gadget, I2C, PMIC and Ethernet. For more information about this board, please visit: http://www.technexion.org/products/pico/pico-som/pico-imx7-emmc Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-05-31arm: mvebu: clearfog: generic distro bootcmdPatrick Wildt1-1/+47
Switch Clearfog to the generic distro defaults. This has been taken from a Debian mailing list thread: https://lists.debian.org/debian-boot/2016/10/msg00026.html Signed-off-by: Patrick Wildt <patrick@blueri.se> Signed-off-by: Stefan Roese <sr@denx.de>
2017-05-29power: pmic: tps65218: Fix tps65218_voltage_update functionKeerthy1-0/+2
Currently while setting the vsel value for dcdc1 and dcdc2 the driver is wrongly masking the entire 8 bits in the process clearing PFM (bit7) field as well. Hence describe an appropriate mask for vsel field and modify only those bits in the vsel mask. Source: http://www.ti.com/lit/ds/symlink/tps65218.pdf Signed-off-by: Keerthy <j-keerthy@ti.com> Fixes: 86db550b38 ("power: Add support for the TPS65218 PMIC") Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2017-05-29mmc: Change 'part_config' to be a u8 not char.Tom Rini1-1/+1
In some places we check if part_config is set to MMCPART_NOAVAILABLE (0xff). With part_config being a char this is always false. We should be using a u8 to store this value instead, after a quick consultation with the Linux Kernel. Reported by clang-3.8. Cc: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-05-26Merge git://git.denx.de/u-boot-fsl-qoriqTom Rini12-86/+176