summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | mmc: am654_sdhci: Add support for writing to clkbuf_selFaiz Abbas2021-02-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for writing new clock buffer select property for both the am654x and j721e 4 bit IPs Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Add support for input tap delayFaiz Abbas2021-02-041-80/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DLL need only be enabled for speed modes and clock frequencies at or above 50 MHz. For speed modes that don't enable the DLL, we need to configure a static input delay value. This involves reading an optional itap-del-sel-* value from the device tree and configuring it for the appropriate speed mode. Therefore, move all dll configurations to their own functions and gate it with 50 MHz speed and a minimum mode. If both these conditions are not satisfied then configure delay chain modes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Add support for AM65x SR2.0Faiz Abbas2021-02-041-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Support for AM65x PG2.0. Use the SoC bus framework to fixup the platform data and do DLL calibration if the revision is 1.0 Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Add flag for PHY calibrationFaiz Abbas2021-02-041-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all controllers need calibration for the PHY DLL. Add a DLL_CALIB flag to indicate the same. Also move the write of trm_icp and driver strength to the set_clock() function to match the kernel configuration flow. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Convert flag fields to BIT macroFaiz Abbas2021-02-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Convert the flags field defines to use the BIT() macro. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Unconditionally switch off DLL in the beginning of ios_post()Faiz Abbas2021-02-041-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some speed modes that work without switching the dll on. Unconditionally switch off the DLL before setting clock frequency to support this case. The software will automatically enable DLL for speed modes that require it. This also means the dll_on priv data member is no longer required. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: sdhci: Add helper functions for UHS modesFaiz Abbas2021-02-042-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a set_voltage() function which handles the switch from 3.3V to 1.8V for SD card UHS modes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | configs: am335x_evm: enable CONFIG_SPL_ALLOC_BDDario Binacchi2021-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | With commit 38d6b7ebdaee ("spl: Drop bd_info in the data section") you need to enable this option to boot from mmc. Signed-off-by: Dario Binacchi <dariobin@libero.it>
| * | remoteproc: k3_r5: Sync to upstreamed kernel DT property namesSuman Anna2021-02-047-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The K3 R5F remoteproc driver in U-Boot was upstreamed prior to the equivalent remoteproc driver in the Linux kernel. Some of the DT properties used in U-Boot got upstreamed using different names in Linux kernel. The modified property names include the R5F cluster mode configuration property "lockstep-mode"; and three different individual R5F core config properties - "atcm-enable", "btcm-enable" and "loczrama". The property names were updated as follows: lockstep-mode => ti,cluster-mode atcm-enable => ti,atcm-enable btcm-enable => ti,btcm-enable loczrama => ti,loczrama Update the K3 R5F remoteproc driver, the corresponding binding, and all the existing usage in AM65x, J721E and J7200 dts files all at once to use the new properties and to not break any bisectability. Signed-off-by: Suman Anna <s-anna@ti.com>
| * | configs: am65x_evm_a53: Enable config for phandle check while getting ↵Aswath Govindraju2021-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sequence number AM65x SoC has two USB subsystems and their corresponding device tree nodes have the same name but different path. While allocating sequence numbers for these device tree nodes using alias, phandles can be used to distinguish them. Enable config for phandle check while getting sequence number to distinguish the USB device tree nodes. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | configs: legoev3: disable non-Linux boot optionsDavid Lechner2021-02-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This disables booting to non-Linux OSes. This board is uncomfortably close to its 256K size limit, so every few KB saved helps. Signed-off-by: David Lechner <david@lechnology.com>
| * | configs: legoev3: disable CONFIG_NETDavid Lechner2021-02-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This disables the CONFIG_NET setting for LEGO MINDSTORMS EV3. This board does not have any built-in networking, so it does not make sense to enable this feature. This also fixes the warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: David Lechner <david@lechnology.com>
| * | ARM: legoev3: drop bi_arch_numberDavid Lechner2021-02-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | This drops assigning bi_arch_number on LEGO MINDSTORMS EV3. This board never had its own unique number and since we are using device tree, we no longer need to pass an arch number to Linux. Signed-off-by: David Lechner <david@lechnology.com>
| * | ARM: legoev3: set serial# env varDavid Lechner2021-02-043-48/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This sets the serial# environmet variable instead of using ATAGs on LEGO MINDSTORMS EV3. Also fix some nomenclature while we are touching this code (Bluetooth address is not the same as MAC address, EEPROM version is not the same as board version). Signed-off-by: David Lechner <david@lechnology.com>
| * | Nokia RX-51: Convert to CONFIG_DM_MMCPali Rohár2021-02-042-15/+24
| |/ | | | | | | | | | | | | | | | | | | Move twl4030_power_mmc_init() from board_mmc_power_init() to misc_init_r() and disable CONFIG_SYS_MALLOC_F. Otherwise U-Boot cannot initialize MMC. Also disable CONFIG_CMD_SLEEP CONFIG_DM_DEVICE_REMOVE CONFIG_MMC_VERBOSE to free some space. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* | Merge tag 'efi-2021-04-rc2' of ↵Tom Rini2021-02-0410-87/+214
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for efi-2021-04-rc2 Bug fixes: * do not allow creating of files with filenames on FAT file system * install UEFI System Partition GUID on ESP handle * in dtbdump.efi test tool use GUID to find ESP handle Documentation: * man-page for load command * describe end of life of plat_auto
| * | doc: dm: describe end of life of plat_autoHeinrich Schuchardt2021-02-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Describe when plat_auto is freed. Fix a typo. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | doc: return value exception commandHeinrich Schuchardt2021-02-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the exception cannot be raised, the command returns. Currently the return values are not all the same. Remove the sub-chapter 'Return value' Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | doc: describe load commandHeinrich Schuchardt2021-02-042-0/+75
| | | | | | | | | | | | | | | | | | | | | Man-page for load command. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | efi_loader: VenMedia device path nodeHeinrich Schuchardt2021-02-041-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Load File2 protocol exposes a device path with a VenMedia() node. Hence our implementation of the device path to text protocol should support this node. Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | efi_selftest: use GUID to find ESP in dtbdumpHeinrich Schuchardt2021-02-041-33/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | If dtbdump.efi is loaded from memory when calling LoadImage the loaded image protocol will not indicate the partition from where it was loaded. In this case use the EFI system partition for the 'load' and 'save' commands. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | efi_loader: install UEFI System Partition GUIDHeinrich Schuchardt2021-02-042-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | On the handle for the UEFI System Partition we must install the System Partition GUID (with a NULL interface). Let the efidebug command display the GUID. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | efi_loader: only check size if EFI_DT_APPLY_FIXUPSHeinrich Schuchardt2021-02-041-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the implementation of the EFI_DT_FIXUP_PROTOCOL: * Only check the buffer size when EFI_DT_APPLY_FIXUPS is set. * In this case the field totalsize of the device-tree may not exceed the buffer size. * Install device-tree only if EFI_DT_INSTALL_TABLE is set. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | fs: fat: remove trailing periods from long nameHeinrich Schuchardt2021-02-031-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FAT32 File System Specification [1] requires leading and trailing spaces as well as trailing periods of long names to be ignored. [1] Microsoft Extensible Firmware Initiative FAT32 File System Specification Version 1.03, December 6, 2000 Microsoft Corporation https://www.win.tue.nl/~aeb/linux/fs/fat/fatgen103.pdf Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | fs: fat: must not write directory '.' and '..'Heinrich Schuchardt2021-02-031-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | Directories or files called '.' or '..' cannot be created or written to in any directory. Move the test to normalize_longname() to check this early. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * | fs: fat: usage basename in file_fat_write_at, fat_mkdirHeinrich Schuchardt2021-02-031-14/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch involves no functional change. It is just about code readability. Both in file_fat_write_at() and fat_mkdir() the incoming file or directory path are split into two parts: the parent directory and the base name. In file_fat_write_at() the value of the variable basename is assigned to the filename parameter and afterwards the variable filename is used instead of basename. It is more readable to use the variable basename and leave filename unchanged. In fat_mkdir() the base name variable is called directory. This is confusing. Call it basename like in file_fat_write_at(). This allows to rename parameter new_directory to directory in the implementation of fat_mkdir() to match the function declaration. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* | Merge tag 'dm-pull-3feb21' of https://gitlab.denx.de/u-boot/custodians/u-boot-dmTom Rini2021-02-0430-103/+305
|\ \ | | | | | | | | | | | | Support late device removal Allow booting a 32-bit system with a top memory address beyond 4 GiB
| * | firmware: smci: possible NULL dereferenceHeinrich Schuchardt2021-02-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sandbox_scmi_devices_ctx() may return NULL. We should not dereference this value in sandbox_scmi_devices_remove(). The problem was indicated by 'gcc-11 -fanalyzer'. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | sandbox: mark os_abort() as noreturnHeinrich Schuchardt2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc -fanalyzer needs the information that a function does not return to provide accurate information. os_abort() does not return. Mark it accordingly. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | bdinfo: Change to use bdinfo_print_num_ll() where the number could be 64-bitBin Meng2021-02-032-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are some calls to bdinfo_print_num_l() with parameters that could be a 64-bit value on a 32-bit system. Change those calls to use bdinfo_print_num_ll() instead. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | bdinfo: Rename function names to be clearerBin Meng2021-02-035-38/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present we have bdinfo_print_num() to print unsigned long numbers. We also have print_phys_addr() which accept numbers that might be 64-bit on a 32-bit platform. Rename these 2 functions to be clearer: bdinfo_print_num() => bdinfo_print_num_l() print_phys_addr() => bdinfo_print_num_ll() While we are here, make bdinfo_print_num_ll() public so that it can be used outside cmd/bdinfo.c in the future. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | riscv: Change phys_addr_t and phys_size_t to 64-bitBin Meng2021-02-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | phys_addr_t and phys_size_t are currently defined as `unsigned long`, but RV32 supports 34-bit physical address, hence both phys_addr_t and phys_size_t should be defined to 64-bit using `unsigned long long`. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | fdtdec: Cast prior_stage_fdt_address with uintptr_tBin Meng2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present prior_stage_fdt_address is declared as phys_addr_t. On a 32-bit platform where phys_addr_t can be 64-bit, assigning its value to gd->fdt_blob which is a pointer, can cause warnings. Cast it to uintptr_t before the assignment. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | net: ftmac100: Cast priv->iobase with uintptr_tBin Meng2021-02-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | priv->iobase was declared as phys_addr_t which is now a 64-bit address. In a 32-bit build, this causes the following warning seen when building ftmac100.c: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Cast priv->iobase with uintptr_t. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | riscv: ax25-ae350: Cast addr with uintptr_tBin Meng2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | addr was delcared as fdt_addr_t which is now a 64-bit address. In a 32-bit build, this causes the following warning seen when building ax25-ae350.c: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Cast addr with uintptr_t. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | serial: sifive: Cast dev_read_addr() with uintptr_tBin Meng2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dev_read_addr() returns fdt_addr_t which is now a 64-bit address. In a 32-bit build, this causes the following warning seen when building serial_sifive.c: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] Cast the return value with uintptr_t. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | global_data.h: Change ram_top type to phys_addr_tBin Meng2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It's possible to have ram_top above 4 GiB in a 32-bit system, hence we need to declare ram_top as `phys_addr_t`. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | arm: rockchip: Explicitly cast gd->ram_top in dram_init_banksize()Bin Meng2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | The min() macro used in dram_init_banksize() requires two elements to compare have the same type. Let's explicitly cast gd->ram_top. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | riscv: Adjust board_get_usable_ram_top() for 32-bitBin Meng2021-02-032-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing QEMU RISC-V 'virt' machine with a 2 GiB memory configuration, it was discovered gd->ram_top is assigned to value zero in setup_dest_addr(). While gd->ram_top should not be declared as type `unsigned long`, which will be updated in a future patch, the current logic in board_get_usable_ram_top() can be updated to cover both 64-bit and 32-bit RISC-V. Signed-off-by: Bin Meng <bin.meng@windriver.com>
| * | dm: core: Add documentation about device removalSimon Glass2021-02-031-0/+20
| | | | | | | | | | | | | | | | | | | | | Make mention of this feature in the core documentation so people can discover it without looking at a header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | arm: Remove vital devices lastSimon Glass2021-02-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update announce_and_cleanup() to remove all devices, with the vital ones being removed last. This is an extra patch on top of the recent RFC: http://patchwork.ozlabs.org/project/uboot/list/?series=223280 Signed-off-by: Simon Glass <sjg@chromium.org>
| * | dm: core: Add late driver remove optionMarek Vasut2021-02-036-12/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add another flag to the DM core which could be assigned to drivers and which makes those drivers call their remove callbacks last, just before booting OS and after all the other drivers finished with their remove callbacks. This is necessary for things like clock drivers, where the other drivers might depend on the clock driver in their remove callbacks. Prime example is the mmc subsystem, which can reconfigure a card from HS mode to slower modes in the remove callback and for that it needs to reconfigure the controller clock. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
| * | dm: core: Avoid partially removing devicesSimon Glass2021-02-033-21/+51
| | | | | | | | | | | | | | | | | | | | | | | | At present if device_remove() decides that the device should not actually be removed, it still calls the uclass pre_remove() method and powers the device down. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | dm: core: Remove children before advising uclassSimon Glass2021-02-031-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present the uclass pre-remove method is called before the children are removed. But the children may refused to be removed, in whch case the uclass is in a tricky situation. At present we handle this by calling the uclass' post_probe() method. But it seems better to avoid doing anything with the uclass in this case. Switch the ordering so that we make sure the children can be removed before advising the uclass. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | dm: pci: Correct use of wrong flag nameSimon Glass2021-02-032-1/+4
| | | | | | | | | | | | | | | | | | | | | Update a driver that uses the incorrect flag. Add a comment to hopefully prevent furture mistakes. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | dm: Rename DM_FLAG_REMOVE_WITH_PD_ONSimon Glass2021-02-034-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | This flag has the word 'REMOVE' in it which means it conflicts with the DM_REMOVE flags. Rename it to DM_FLAG_LEAVE_PD_ON which seems to indicate its purpose well enough. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | nand: brcmnand: Don't use -EPROBE_DEFERSimon Glass2021-02-031-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This has no useful meaning in U-Boot and will never be returned. We want to reserve this flag for internal driver model use. Drop the code. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | smem: Don't use -EPROBE_DEFERSimon Glass2021-02-031-3/+3
| |/ | | | | | | | | | | | | | | This has no useful meaning in U-Boot. Use -ENOMEM since that appears to be what has gone wrong in this case. We want to reserve this flag for internal driver model use. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86Tom Rini2021-02-043-53/+63
|\ \ | |/ |/| | | | | | | - Fix broken multi-core boot for QEMU x86 - Add zboot support to boot x86 Linux kernel image in the PXE sysboot utility
| * cmd: pxe_utils: sysboot: Add zboot support to boot x86 Linux kernel imageKory Maincent2021-02-032-0/+6
| | | | | | | | | | | | | | | | | | | | | | Add "zboot" command to the list of supported boot in the label_boot function. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: add component tags in the summary] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>