summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * binman: Allow reading entries from a subnodeSimon Glass2021-01-272-0/+32
| | | | | | | | | | | | | | | | | | Some images may have multiple copies of the same thing, e.g. two versions of the read/write U-Boots. It is necessary to read data from one or other of these under selection of the verified-boot logic. Add a function to select the subnode to use. Signed-off-by: Simon Glass <sjg@chromium.org>
| * binman: Move selection of the binman node into a functionSimon Glass2021-01-271-10/+33
| | | | | | | | | | | | | | | | | | | | Move this logic out of the main init function so it is available for other purpose. Use a different error when multiple-images is in use but no subnode is available. This makes it easier to determine what is wrong. Signed-off-by: Simon Glass <sjg@chromium.org>
| * crc32: Exclude crc32 from TPLSimon Glass2021-01-271-0/+2
| | | | | | | | | | | | | | | | Unfortunately the toolchain often brings in the crc32 table even if the function is not actually used. For now, exclude it from the TPL build, which is very sensitive to size. Signed-off-by: Simon Glass <sjg@chromium.org>
| * mmc: pci_mmc: Set the removable flagSimon Glass2021-01-271-0/+8
| | | | | | | | | | | | | | | | | | Set this flag so that it is available to those looking at the device. For non-removable devices there is no need to check for insertion/removable since the media can never change. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * mmc: pci_mmc: Only generate ACPI code for the SD cardSimon Glass2021-01-271-1/+10
| | | | | | | | | | | | | | | | | | | | At present if an eMMC part is in the system, the ACPI table generated will include information about that, as well as the SD card. We only need to include the SD card, since it has a card-detect GPIO. Use a different compatible string for each option, and add code only for the SD card. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * uuid: Add a comment for UUID_STR_LENSimon Glass2021-01-271-0/+1
| | | | | | | | | | | | | | | | This macro is the length of the string but excludes the terminator. Users must add 1 when declaring a large-enough string. Add a comment to make this clear. Signed-off-by: Simon Glass <sjg@chromium.org>
| * display_options: Use USE_TINY_PRINTF for SPL checkSimon Glass2021-01-271-5/+4
| | | | | | | | | | | | | | At present this code uses a simple printf() format if running in SPL. But SPL can use the full printf. Use USE_TINY_PRINTF instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * fdtdec: Use CONFIG_IS_ENABLED in board_fdt_blob_setup()Simon Glass2021-01-271-1/+1
| | | | | | | | | | | | | | This setting may be different in SPL and TPL. Update the code to check the correct setting. Signed-off-by: Simon Glass <sjg@chromium.org>
| * fdtdec: Update the missing-devicetree messageSimon Glass2021-01-271-1/+2
| | | | | | | | | | | | | | | | | | This includes information about sandbox which is not relevant for most boards. Drop it. Also add the address to help figure out the problem. Signed-off-by: Simon Glass <sjg@chromium.org>
| * net: Use CONFIG_IS_ENABLED() in eth_dev_get_mac_address()Simon Glass2021-01-271-1/+1
| | | | | | | | | | | | | | This function may be used in SPL where devicetree is not available. Use the correct macro so that the function does not try to read it. Signed-off-by: Simon Glass <sjg@chromium.org>
| * video: Allow syncing the entire framebuffer to the copySimon Glass2021-01-272-0/+24
| | | | | | | | | | | | | | | | In some cases so much of the framebuffer is updated that it is not worth copying the changes piece by piece to the copy framebuffer. Add a function to copy the whole thing. Signed-off-by: Simon Glass <sjg@chromium.org>
| * bloblist: Add missing tag namesSimon Glass2021-01-271-0/+6
| | | | | | | | | | | | | | Add tag names for recently added types. Fixes: d2cb7a22da0 (x86: Allow putting some tables in the bloblist) Signed-off-by: Simon Glass <sjg@chromium.org>
| * bloblist: Support relocating to a larger spaceSimon Glass2021-01-275-4/+73
| | | | | | | | | | | | | | | | | | | | Typically in TPL/SPL the bloblist is quite small. But U-Boot proper may want to add a lot more to it, such as ACPI tables. Add a way to expand the bloblist by relocating it in U-Boot proper, along with the other relocation activities. Signed-off-by: Simon Glass <sjg@chromium.org>
| * spl: Add functions for next and previous phaseSimon Glass2021-01-272-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is useful to be able to figure out which phase we are loading next and which phase we came from. Add some functions to handle this as well as returning the name of a phase. This allows messages like "Booting to x" where x is the next phase. At present, TPL says 'Jumping to U-Boot' at the end, when in fact it is jumping to SPL. This is confusing, so use the new functions to correct this. Tests for this will come with an upcoming minor SPL test refactor. Signed-off-by: Simon Glass <sjg@chromium.org>
| * lib: rsa: rsa-verify: don't look for keys in the FIT imagePhilippe Reynes2021-01-271-2/+2
| | | | | | | | | | | | | | | | | | In the function rsa_verify_hash, if the "main" key doesn't work, u-boot try others keys. But it searches those keys in the FIT image instead of the u-boot device tree. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * pci: Remove CONFIG_PCI_ENUM_ONLY as it's not used (any more)Stefan Roese2021-01-274-89/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch completely removes CONFIG_PCI_ENUM_ONLY from the PCI code as it is not configured for any board (any more). With this removal, some PCI related files get cleaned up a bit. Additional, dm_pciauto_setup_device() is now static, as it's not referenced from any code outside of this C file. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * common: fit-sig: Fix error message in fit_config_verify_sig()Alexandru Gagniuc2021-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In fit_config_verify_sig(), when no 'signature*' subnode exists in the configuration node, the fdt_for_each_subnode() loop is a no-op. Therefore, no error flags are set, and 'err_,sg' is not populated with an error string. This is incorrect behavior. Populate err_msg to indicate that no 'signature' is found, before entering the loop. The first call to fit_image_verify_sig() will override clear err_msg, or set it to a more specific message. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * smccc: fix sign bit expansionVolodymyr Babchuk2021-01-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed ARM_SMCCC_FAST_CALL value is shifted to 31'st bit. Then, it is expanded to 64 bit value, which results in 1s in higher 32 bits. This causes corrupted values in 64-bit SMC IDs and issues in buggy handlers of 32-bit calls. We need to make ARM_SMCCC_FAST_CALL unsigned long, so it would work properly on 32 bit architectures. Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
| * bootcount: allow to use this feature on TPLPhilippe Reynes2021-01-274-5/+15
| | | | | | | | | | | | | | | | This commit add an option TPL_BOOTCOUNT_LIMIT to use bootcount on TPL. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * Makefile: Do not call useless command 'true'Pali Rohár2021-01-271-1/+5
|/ | | | | | | | | | | | | Macro 'cmd_objcopy_uboot' currently does not work with passed empty command expanded from 'cmd_static_rela' and therefore dummy command 'true' is set in 'cmd_static_rela' to workaround this issue. Eliminate it now by fixing 'cmd_objcopy_uboot' macro to work also with empty 'cmd_static_rela' macro and remove useless invocation of command 'true'. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini2021-01-2716-48/+143
|\ | | | | | | | | | | | | | | | | | | | | - Espressobin: Disable slot when emmc is not present (Pali) - DS414; config header cleanup (Phil) - PCI: auto-config enhancement (Phil) - pci_mvebu: Also map IO region (Phil) - serial: a3720: Implement pending method for output direction (Pali) - turris_mox: Enable a few commands (Marek) - helios4 & ClearFog changes (Dennis) - Plus some minor misc changes
| * arm: mvebu: turris_mox: enable setexpr command in defconfigMarek Behún2021-01-271-1/+1
| | | | | | | | | | | | | | | | | | Enable setexpr command in defconfig for Turris MOX. We have found that this is sometimes useful in U-Boot scripts and there is enough space in NOR memory on MOX. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
| * arm: mvebu: turris_mox: enable wdt command in defconfigMarek Behún2021-01-271-0/+1
| | | | | | | | | | | | | | | | Enable wdt command in defconfig for Turris MOX. This is useful when doing debugging. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
| * arm64: a37xx: pci: Fix printing debug messagesPali Rohár2021-01-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | Value pcie->dev in function pcie_advk_probe() is not initialized yet so use dev as argument for dev_dbg()/dev_warn(). Function pcie_advk_wait_pio() itself prints error message on failure so do not print duplicate error message in caller. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
| * serial: a3720: Implement pending method for output directionPali Rohár2021-01-271-2/+8
| | | | | | | | | | | | | | | | | | To check if some output characters are waiting either in Transmitter Holding Register or Transmitter Shift Register we need to look at TX_EMPTY bit of UART Status Register. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
| * pci: pci_mvebu: Define an IO region as wellPhil Sutter2021-01-271-1/+27
| | | | | | | | | | | | | | | | | | | | Configure an IO region and window for PNP identical to how MEM region is set up. Linux does this only if the DT defines a pcie-io-aperture property for the SOC, but since all supported boards do this should not be needed. Signed-off-by: Phil Sutter <phil@nwl.cc> Reviewed-by: Stefan Roese <sr@denx.de>
| * pci: Make auto-config code a little more robustPhil Sutter2021-01-271-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On my DS414, some PCI devices return odd values when probing BAR sizes. An obvious case is all-ones response, the Linux driver (drivers/pci/probe.c) catches those explicitly and a comment explains that either bit 0 or bit 1 must be clear (depending on MEM or IO type). Other BARs return e.g. 0xfff0000f or 0xfff00004 and thus manage to break size calculation due to the "middle" zeroes. Mitigate that copying more or less what Linux does and do a "find least bit set". Signed-off-by: Phil Sutter <phil@nwl.cc> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * arm: mvebu: ds414: Config header mini-reviewPhil Sutter2021-01-271-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few minor changes: * Get rid of leftover comments, other commits removed the defines they referred to. * CONFIG_SYS_NETA_INTERFACE_TYPE is not used anymore since commit e3b9c98a23ca9 ("net: mvneta: Convert to driver model"). * Drop CONFIG_USB_MAX_CONTROLLER_COUNT: it is per-HCI type, so XHCI and EHCI could still both work be used. * Unconditionally define CONFIG_EHCI_IS_TDI: it has no effect on XHCI so that conditional doesn't make any sense. * Define a larger PHY_ANEG_TIMEOUT: In my test bed, the NIC is directly connected to some RTL8111 and the default 8s timeout was often too short. Signed-off-by: Phil Sutter <phil@nwl.cc> Reviewed-by: Stefan Roese <sr@denx.de>
| * arm: mvebu: Espressobin: Disable slot when emmc is not presentPali Rohár2021-01-272-3/+31
| | | | | | | | | | | | | | | | | | | | | | This change extends previous commit 061c6d1b238a ("arm: mvebu: Espressobin: Detect presence of emmc at runtime") and when emmc is not present then emmc is removed from U-Boot DM and corresponding slot is disabled. Therefore on Espressobin board without soldered emmc, state of emmc hw should be same as if emmc was disabled in DTS. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
| * ARM: mvebu: ClearFog make sure that SATA and UART images are buildableDennis Gilmore2021-01-271-2/+2
| | | | | | | | | | | | | | SATA and UART ClearFog imaages are not buildable as ENV_SECT_SIZE is not defined set values for both possible targets Signed-off-by: Dennis Gilmore <dennis@ausil.us>
| * ARM: mvebu: helios4 dts changes to enable SPIDennis Gilmore2021-01-272-11/+26
| | | | | | | | | | | | | | | | Move all aliases defintions into the main dts file Add u-boot definiton to i2c0 based on clearfog set spi1 status to okay Signed-off-by: Dennis Gilmore <dennis@ausil.us>
| * ARM: mvebu: helios4 adjust env sizes to enable SPI to workDennis Gilmore2021-01-273-2/+25
| | | | | | | | | | | | mirror the clearfog setup to enable SPI to work Signed-off-by: Dennis Gilmore <dennis@ausil.us>
| * gpio: Add support for DM GPIO for KirkwoodHarm Berntsen2021-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The Armada driver also works on Nedap's custom Kirkwood board with a Marvell 88F6180 CPU. The original commit of that driver, commit 704d9a645e17 ("gpio: Add DM GPIO driver for Marvell MVEBU"), also mentions that this driver would be suitable for Kirkwood. This does not completely replace the Kirkwood specific driver as there are still boards depending on that driver. Signed-off-by: Harm Berntsen <harm.berntsen@nedap.com> CC: Stefan Roese <sr@denx.de>, Reviewed-by: Stefan Roese <sr@denx.de>
| * ARM: Distro boot: document the need for fdtfile variable to be setDennis Gilmore2021-01-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing builds provided in https://github.com/openwrt/openwrt/pull/3360 I discovered that fdtfile was not set and as a result the firmware was not functional. So I am documenting what is needed. Signed-off-by: Dennis Gilmore <dennis@ausil.us> Cc: Atish Patra <atish.patra@wdc.com> Cc: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Cc: Tom Rini <trini@konsulko.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Vagrant Cascadian <vagrant@debian.org> Cc: Stephen Warren <swarren@nvidia.com> Cc: Karsten Merker <merker@debian.org>
* | Merge tag 'doc-2021-04-rc1-3' of ↵Tom Rini2021-01-2722-185/+1596
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for documentation tag doc-2021-04-rc1-3 Update the build system for the HTML documentation to allow using Sphinx 3. Man-page for exception command.
| * | doc: exception commandHeinrich Schuchardt2021-01-272-0/+69
| | | | | | | | | | | | | | | | | | Create man-page for exception command. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | doc: update Kernel documentation build systemHeinrich Schuchardt2021-01-2714-156/+1476
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the documentation build system according to Linux v5.11-rc1. Deactive the automarkup.py extension module which on Gitlab CI is incompatible with Unicode. With this patch we can build the HTML documentation using either of Sphinx 2 and Sphinx 3. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | .gitlab-ci: install doc/sphinx/requirements.txtHeinrich Schuchardt2021-01-272-1/+8
| | | | | | | | | | | | | | | | | | | | | Install all requirements according to doc/sphinx/requirements.txt in the virtual environment used for testing 'make htmldocs'. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | doc: fix doc/develop/logging.rstHeinrich Schuchardt2021-01-273-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sphinx 3 builds fail due to doc/develop/logging.rst producing duplicate labels. Include logging.h only once in the API section and use cross-references for the enums log_level_t and log_category_t. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | doc: board: fix Microchip MPFS Icicle Kit docHeinrich Schuchardt2021-01-271-18/+33
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two sibling headings (here eMMC) cannot have the same title. Warning, treated as error: doc/board/microchip/mpfs_icicle.rst:423:duplicate label board/microchip/mpfs_icicle:emmc, other instance in doc/board/microchip/mpfs_icicle.rst make[1]: *** [doc/Makefile:69: htmldocs] Error 2 * Correct the heading levels. * Add missing empty lines after headings. Fixes: 9e550e18305f ("doc: board: Add Microchip MPFS Icicle Kit doc") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | Merge branch '2021-01-27-assorted-net-updates'Tom Rini2021-01-2719-19/+1838
|\ \ | |/ |/| | | | | | | | | | | - e1000 fixes for MIPS - netconsole and ping fix - cortina_ni driver - micrel PHY fix - Add fdtoverlays keyword to extlinux file parsing
| * cmd: pxe: add support for FDT overlaysNeil Armstrong2021-01-273-0/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for specifying FDT overlays in an extlinux/pxelinux configuration file. Without this, there is no simple way to apply overlays when the kernel and fdt is loaded by the pxe command. This change adds the 'fdtoverlays' keyword for a label, supporting multiple overlay files to be applied on top of the fdt specified in the 'fdt' or 'devicetree' keyword. Example: label linux kernel /Image fdt /soc-board.dtb fdtoverlays /soc-board-function.dtbo append console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait This code makes usage of a new variable called fdtoverlay_addr_r used to load the overlay files without overwritting anything important. Cc: Tom Rini <trini@konsulko.com> Cc: Andre Heider <a.heider@gmail.com> Cc: Jernej Škrabec <jernej.skrabec@siol.net> Cc: Jonas Karlman <jonas@kwiboo.se> Tested-by: Jernej Škrabec <jernej.skrabec@siol.net> Reviewed-by: Jernej Škrabec <jernej.skrabec@siol.net> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
| * net: phy: micrel: Try default PHY ofnode firstMarek Vasut2021-01-271-2/+7
| | | | | | | | | | | | | | | | | | | | | | The phydev structure has a PHY OF node pointer in it, use that OF node first when looking up PHY OF node properties, since that is likely the correct PHY OF node pointer. If the pointer is not valid, which is the case e.g. on legacy DTs, fall back to parsing MAC ethernet-phy subnode. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Ramon Fried <rfried.dev@gmail.com>
| * board: presidio-asic: Add CAxxxx Ethernet supportAlex Nemirovsky2021-01-273-2/+48
| | | | | | | | | | | | | | | | Add CAxxxx Ethernet support for the Cortina Access Presidio Engineering Board Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> CC: Tom Rini <trini@konsulko.com>
| * net: phy: ca_phy: Add driver for CAxxxx SoCsAbbie Chang2021-01-276-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add phy driver support for MACs embedded inside Cortina Access SoCs Signed-off-by: Abbie Chang <abbie.chang@cortina-access.com> Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> CC: Joe Hershberger <joe.hershberger@ni.com> CC: Tom Rini <trini@konsulko.com> CC: Aaron Tseng <aaron.tseng@cortina-access.com> Moved out PHY specific code out of Cortina NI Ethernet driver and into a Cortina Access PHY interface driver
| * net: cortina_ni: Add eth support for Cortina Access CAxxxx SoCsAaron Tseng2021-01-275-0/+1516
| | | | | | | | | | | | | | | | | | | | | | | | | | Add Cortina Access Ethernet device driver for CAxxxx SoCs. This driver supports both legacy and DM_ETH network models. Signed-off-by: Aaron Tseng <aaron.tseng@cortina-access.com> Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> Signed-off-by: Abbie Chang <abbie.chang@cortina-access.com> CC: Joe Hershberger <joe.hershberger@ni.com> CC: Abbie Chang <abbie.chang@Cortina-Access.com> CC: Tom Rini <trini@konsulko.com>
| * net: fix ping in netconsoleYang Liu2021-01-271-1/+1
| | | | | | | | | | | | | | Should not init eth device when doing ping in netconsole. Signed-off-by: Yang Liu <yliu@cybertec.com.au> Cc: Joe Hershberger <joe.hershberger@ni.com>
| * net: e1000: Add missing address translationsStefan Roese2021-01-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some missing address translations from virtual address in local DRAM to physical address, which is needed for the DMA transactions to work correctly. This issue was detected while testing the e1000 driver on the MIPS Octeon III platform, which needs address translation. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Aaron Williams <awilliams@marvell.com> Cc: Chandrakala Chavva <cchavva@marvell.com>
| * net: e1000: Use virt_to_phys() instead of pci_virt_to_mem()Stefan Roese2021-01-271-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using (dm_)pci_virt_to_mem() is incorrect to translate the virtual address in local DRAM to a physical address. The correct macro here is virt_to_phys() so switch to using this macro. As virt_to_bus() is now not used any more, this patch also removes both definitions (DM and non-DM). This issue was detected while testing the e1000 driver on the MIPS Octeon III platform, which needs address translation. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Aaron Williams <awilliams@marvell.com> Cc: Chandrakala Chavva <cchavva@marvell.com>
| * net: e1000: Remove unused bus_to_phys() macroStefan Roese2021-01-271-2/+0
|/ | | | | | | | | | bus_to_phys() is defined but not referenced at all. This patch removes it completely. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Aaron Williams <awilliams@marvell.com> Cc: Chandrakala Chavva <cchavva@marvell.com>