aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-02-04arm: dts: k3-j7200-common-proc-board: Enable support for UHS modesFaiz Abbas3-2/+63
Add support for UHS modes by adding the regulators to power cycle and voltage switch the card. Also add pinmuxes required for each node Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-02-04arm: dts: k3-j7200-main: Add support for gpio0Faiz Abbas1-0/+22
Add support for the main_gpio0 node Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-02-04arm: dts: k3-j721e-common-proc-board: Add support for UHS modes for SD cardFaiz Abbas1-0/+32
Add support for regulators to power cycle and switch IO voltage to the SD card. This enables support for UHS modes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-02-04arm: dts: k3-j721e-main: Update otap-delay valuesFaiz Abbas1-3/+5
Update otap delay values to match with the latest Data Manual[1]. [1] https://www.ti.com/lit/gpn/dra829v Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-02-04arm: dts: k3-am65: Fix mmc nodesFaiz Abbas4-60/+74
Because of fundamental interface issues in am65x pg1, only the initial sdhci1 node at 25 MHz was added in the u-boot.dtsi from which both the base-board.dts and r5-base-board.dts inherit the node. Move the node out to k3-am65-main.dtsi where it belongs and add the board specific properties in base-board.dts and r5-base-board.dts This ensures dts compatibility with the kernel dts in the base-board.dts and enables the SD card interface at 50 MHz and High Speed mode While we are here, also fix the main_mmc0_pins_default property to be included and inherit from the base-board.dts instead of the u-boot.dtsi Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-02-04mmc: am654_sdhci: Use sdhci_set_control_reg()Faiz Abbas1-16/+2
Use the generic sdhci_set_control_reg() instead of duplicating in platform driver. 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>
2021-02-04mmc: am654_sdhci: Fix HISPD bit configuration in some lower speed modesFaiz Abbas2-2/+24
According to the AM654x Data Manual[1], the setup timing in lower speed modes can only be met if the controller uses a falling edge data launch. To ensure this, the HIGH_SPEED_ENA (HOST_CONTROL[2]) bit should be cleared in default speed, SD high speed, MMC high speed, SDR12 and SDR25 speed modes. Use the sdhci writeb callback to implement this condition. [1] http://www.ti.com/lit/gpn/am6546 Section 5.10.5.16.1 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>
2021-02-04mmc: am654_sdhci: Add support for software tuningFaiz Abbas1-0/+45
With the new SW tuning App note[1], a custom tuning algorithm is required for eMMC HS200, HS400 and SD card UHS modes. The algorithm involves running through the 32 possible input tap delay values and sending the appropriate tuning command (CMD19/21) for each of them to get a fail or pass result for each of the values. Typically, the range will have a small contiguous failing window. Considering the tuning range as a circular buffer, the algorithm then sets a final tuned value directly opposite to the failing window. [1] https://www.ti.com/lit/pdf/spract9 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>
2021-02-04mmc: am654_sdhci: Add support for writing to clkbuf_selFaiz Abbas1-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>
2021-02-04mmc: am654_sdhci: Add support for input tap delayFaiz Abbas1-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>
2021-02-04mmc: am654_sdhci: Add support for AM65x SR2.0Faiz Abbas1-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>
2021-02-04mmc: am654_sdhci: Add flag for PHY calibrationFaiz Abbas1-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>
2021-02-04mmc: am654_sdhci: Convert flag fields to BIT macroFaiz Abbas1-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>
2021-02-04mmc: am654_sdhci: Unconditionally switch off DLL in the beginning of ios_post()Faiz Abbas1-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>
2021-02-04mmc: sdhci: Add helper functions for UHS modesFaiz Abbas2-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>
2021-02-04configs: am335x_evm: enable CONFIG_SPL_ALLOC_BDDario Binacchi1-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>
2021-02-04remoteproc: k3_r5: Sync to upstreamed kernel DT property namesSuman Anna7-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>
2021-02-04configs: am65x_evm_a53: Enable config for phandle check while getting ↵Aswath Govindraju1-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>
2021-02-04configs: legoev3: disable non-Linux boot optionsDavid Lechner1-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>
2021-02-04configs: legoev3: disable CONFIG_NETDavid Lechner1-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>
2021-02-04ARM: legoev3: drop bi_arch_numberDavid Lechner1-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>
2021-02-04ARM: legoev3: set serial# env varDavid Lechner3-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>
2021-02-04Nokia RX-51: Convert to CONFIG_DM_MMCPali Rohár2-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>
2021-02-02Merge branch '2021-02-01-assorted-fixes'Tom Rini9-8/+26
- Assorted fixes
2021-02-01azure: Add -E back for the world build scriptWIP/2021-02-01-assorted-fixesBin Meng1-1/+1
Commit dd5c954e917b ("travis/gitlab/azure: Use -W to avoid warnings check") added -W to avoid warnings check, but it mistakenly dropped -E for the world build script in the azure pipelines. This caused builds on the azure pipelines fail to report warnings. Let's add it back. Fixes: dd5c954e917b ("travis/gitlab/azure: Use -W to avoid warnings check") Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-01test/py: fix runtest wrapper for pytest 6Stephen Warren1-1/+4
The implementation of pytest_runtest_protocol() must call pytest_runtest_logstart() and pytest_runtest_logfinish(). This appears to be necessary even in pytest 5.2.1 judging by the default version of pytest_runtest_protocol(), but evidently some form of code reorganization in pytest only made this have a practical effect in the newer version. I'd previously been under the impression that 100% of the required work of pytest_runtest_protocol() was handled by the fact it called runtestprotocol() as its implementation. However, it appears that custom implementations do need to do a little more than this. Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-01MAINTAINERS: Add maintainer to network subsystemRamon Fried1-0/+1
Add myself as co maintainer to network subsystem Acked-by: Tom Rini <trini@konsulko.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2021-02-01disk: part_dos: update partition table entries after writeGary Bisson1-0/+6
Fixes issues when switching from GPT to MBR partition tables. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
2021-02-01common: Kconfig.boot: Add FIT_PRINT config optionRavik Hasija2-2/+8
Config allows to disable printing contents of fitImage to optimize boottime. Signed-off-by: Ravik Hasija <rahasij@linux.microsoft.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-01cmd: load, emit error message for invalid block deviceHeinrich Schuchardt1-1/+3
The load command should not silently return to the console prompt if an invalid block device is specified and no file is loaded. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-01arm: Remove #include <version.h> from armv8/fwcall.cPali Rohár1-1/+0
No version information is used in armv8/fwcall.c therefore do not include version.h header file. This change prevents recompiling fwcall.o when SOURCE_DATE_EPOCH changes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-01tools/fit_check_sign.c: Update usage function.Ilies CHERGUI1-2/+3
Add "-c" option to set the configuration name when checking the FIT image signature. Signed-off-by: Ilies CHERGUI <ilies.chergui@gmail.com>
2021-02-01Prepare v2021.04-rc1v2021.04-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-02-01Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86WIP/01Feb2021Tom Rini16-32/+124
- Fix CMD_ACPI dependency in Kconfig - Correct overflow in __udelay() in TSC timer driver - Add a devicetree node for eMMC for Coral - Minor improvements on image loading - Reduce size of Samus image
2021-02-01x86: Reduce size of samus imageSimon Glass2-0/+4
With the recent addition of ACPI generation, the image size has got beyond its current limit. Samus does not actually use this, nor x86 emulation for PCI ROMs, so disable both features. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: tpl: Show next stage being bootedSimon Glass1-1/+6
Enhance the debugging to show the next stage being booted as well as a dump of the start of the image. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: spl: Clear BSS unconditionallySimon Glass1-1/+1
This should be done even if not using TPL, since BSS may be in use or boards that only use SPL. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: zimage: Improve command-line debug handlingSimon Glass1-3/+7
At present if the command line is very long it is truncated by the printf() statement, which works within a limited buffer. Use puts() instead. Also show better debugging with the command-line setup fails. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: zimage: Allow dumping the image from outside the moduleSimon Glass2-8/+25
At present it is possible to dump an image within the zimage command, but it is also useful to be able to dump it from elsewhere, for example in a loader that has special handling for the different zimage stages. Export this feature as a new function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: Update Chromium OS GNVS namesSimon Glass1-6/+28
The Global Non-Volatile Storage struct has some fields with particular meanings. Rename these to make things easier to follow. Also add a few more boot flags. GNVS should not be confused with GNVQ (Going Nowhere Very Quickly). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: spl: Make moving BSS conditionalSimon Glass1-0/+2
At present BSS is always placed in SDRAM. If a separate BSS is not in use this means that BSS doesn't work as expected. Make the setting conditional on the SEPARATE_BSS option. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: Make sure the SPL image ends on a suitable boundarySimon Glass1-0/+10
The part of U-Boot that actually ends up in u-boot-nodtb.bin is not built with any particular alignment. It ends at the start of the BSS section. The BSS section selects its own alignment, which may larger. This means that there can be a gap of a few bytes between the image ending and BSS starting. Since u-boot.bin is build by joining u-boot-nodtb.bin and u-boot.dtb (with perhaps some padding for BSS), the expected result is not obtained. U-Boot uses the end of BSS to find the devicetree, so this means that it cannot be found. Add 32-byte alignment of BSS so that the image size is correct and appending the devicetree will place it at the end of BSS. Example SPL output without this patch: Sections: Idx Name Size VMA LMA File off Algn 0 .text 000142a1 fef40000 fef40000 00001000 2**4 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE 1 .u_boot_list 000014a4 fef542a8 fef542a8 000152a8 2**3 CONTENTS, ALLOC, LOAD, RELOC, DATA 2 .rodata 0000599c fef55760 fef55760 00016760 2**5 CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA 3 .data 00000970 fef5b100 fef5b100 0001c100 2**5 CONTENTS, ALLOC, LOAD, RELOC, DATA 4 .binman_sym_table 00000020 fef5ba70 fef5ba70 0001ca70 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .bss 00000060 fef5baa0 fef5baa0 00000000 2**5 ALLOC You can see that .bss is aligned to 2**5 (32 bytes). This is because of the mallinfo struct in dlmalloc.c: 17 .bss.current_mallinfo 00000028 00000000 00000000 000004c0 2**5 ALLOC In this case the size of u-boot-spl-nodtb.bin is 0x1ba90. This matches up with the _image_binary_end symbol: fef5ba90 g .binman_sym_table 00000000 _image_binary_end But BSS starts 16 bytes later, at 0xfef5baa0, due to the 32-byte alignment. So we must align _image_binary_end to a 32-byte boundary. This forces the binary size to be 0x1baa0, i.e. ending at the start of bss, as expected. Note that gcc reports __BIGGEST_ALIGNMENT__ of 16 on this build, even though it generates an object file with a member that requests 32-byte alignment. The current_mallinfo struct is 40 bytes in size. Increasing the struct to 68 bytes (i.e. just above a 64-byte boundary) does not cause the alignment to go above 32 bytes. So it seems that 32 bytes is the maximum alignment at present. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: add more details in the commit message to help people understand] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: apl: Enhance debugging in the SPL loaderSimon Glass1-5/+7
Move to log_debug() and make use of the new SPL function to find the text base. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: spl: Add a function to find the text baseSimon Glass2-0/+16
It is useful to know the TEXT_BASE value for the image being loaded in TPL/SPL. Add a new spl_get_image_text_base() function to handle this. Make use of this in the x86 SPL handler, instead of having the logic there. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: acpi_gpe: Update driver name to match devicetreeSimon Glass1-2/+4
Use a driver name in line with the compatible string so that of-platdata can use this driver. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01acpi: Tidy up documentation for struct acpi_gpioSimon Glass1-4/+5
Some comments were provided after this patch was applied. Address them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: coral: Add a devicetree node for eMMCSimon Glass1-0/+6
Add a node for this so we can indicate that it is does not require any ACPI code. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01x86: tsc_timer: Correct overflow in __udelay()Simon Glass1-1/+1
At present long delays such as msleep(2000) can cause an overflow in this function. There is no need for this, since it already uses a 64-bit int. Add a cast to correct this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-02-01cmd: CMD_ACPI depends on ACPIGENHeinrich Schuchardt1-1/+2
Trying to compile qemu-x86_64_defconfig with CONFIG_CMD_ACPI=y and CONFIG_ACPIGEN=n fails with ld.bfd: cmd/built-in.o: in function `do_acpi_items': cmd/acpi.c:162: undefined reference to `acpi_dump_items' Add the missing configuration dependency. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-01-31Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiWIP/31Jan2021Tom Rini3-30/+39
- Allwinner H616 Ethernet support - sunxi ata debug fix