summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2021-06-17board: freescale: p2041rdb: use correct EEPROM address lengthMatt Merhar
These boards, according to the schematic and per the board I own, use an M24256-BWDW6TP I2C EEPROM which requires two address bytes. This fixes the 'mac' command which is used to program, among other things, the MAC addresses for the ethernet interfaces on the board. Signed-off-by: Matt Merhar <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-06-17clk: k210: Remove bypass driverSean Anderson
This driver no longer serves a purpose now that we have moved away from CCF. Drop it. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-06-17clk: k210: Move pll into the rest of the driverSean Anderson
Now that there no separate PLL driver, we can no longer make the PLL functions static. By moving the PLL driver in with the rest of the clock code, we can make these functions static again. We still keep the pll header for unit testing, but it is pretty reduced. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-06-17clk: k210: Rewrite to remove CCFSean Anderson
This is effectively a complete rewrite to remove all dependency on CCF. The code is now smaller, and so is the binary. It also takes up less memory at runtime (since we don't have to create 40 udevices). In general, I am much happier with this driver as much of the complexity and late binding has been removed. The k210_*_params structs which were previously used to initialize CCF clocks are now used as the complete configuration. Since we can write our own division logic, we can now do away with several "half" clocks which only existed to provide constant factors of two. The clock IDs have been renumbered to remove unused clocks. This may not be the last time they are renumbered, since we have diverged with Linux. There are also still a few clocks left out which may need to be added back in. In general, I have tried to leave out behavioral changes. However, there is a small bugfix regarding ACLK. According to the technical reference manual, its mux comes *after* its divider (which is present only for PLL0). This would have required yet another intermediate clock to fix with CCF, but with the new driver it is just 2 lines of code :) Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2021-06-17clk: Allow force setting clock defaults before relocationSean Anderson
Since 291da96b8e ("clk: Allow clock defaults to be set during re-reloc state for SPL only") it has been impossible to set clock defaults before relocation. This is annoying on boards without SPL, since there is no way to set clock defaults before U-Boot proper. In particular, the aisram rate must be changed before relocation on the K210, since U-Boot will hang if we try and change the rate while we are using aisram. To get around this, extend the stage parameter to allow force setting defaults, even if they would be otherwise postponed for later. A device tree property was decided against because of the concerns in the original commit thread about the overhead of repeatedly parsing the device tree. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-06-16Merge tag 'u-boot-imx-20210616' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20210616 ------------------- - imxrt : fixes, USB, imxrt1020-evk - imx8m: fix for verdin-imx8mm Add conga-QMX8 board - imx6 : documentation for pico-imx6: Add SeeedStudio NPI-IMX6ULL Support ventana: DM PCI - imx7d: added SMEGW01 board CI : https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/7765
2021-06-16ls1012a: net: pfe: remove pfe stop from bootcmdMian Yousaf Kaukab
When using bootefi to boot a EFI binary, u-boot is supposed to provide networking service for EFI application. Currently, 'pfe stop' command is called from bootcmd before running bootefi. As a result network stops working for EFI applications and console is flooded with "Rx pkt not on expected port" messages. Implement board_quiesce_devices() for ls1012a boards and call pfe_command_stop() from it instead of calling 'pfe stop' from *_bootcmd and bootcmd. Tested-by: Anji Jagarlmudi <[email protected]> Signed-off-by: Mian Yousaf Kaukab <[email protected]> Reviewed-by: Ramon Fried <[email protected]> [Fixed checkpatch space error] Signed-off-by: Priyanka Jain <[email protected]>
2021-06-14board: sama5d3_xplained: add Falcon boot supportMichael Opdenacker
This supports Falcon boot support for Microchip SAMA5D3 Xplained, tested on raw MMC, and on raw NAND. spl_start_uboot() is has the simplest possible implementation. It doesn't test the environment because enabling environment support currently causes the SPL to exceed its maximum size (64 KiB). It doesn't check the serial for incoming characters either because this functionality currently doesn't seem to work from the SPL on this board. Settings for Falcon boot from at FAT partition are also added to avoid compile failures when CONFIG_SPL_OS_BOOT is enabled, but this particular case is currently not functional as adding FAT and partition support cause the SPL to be too big again. Signed-off-by: Michael Opdenacker <[email protected]>
2021-06-11cmd: ti: pd: Add debug command for K3 power domainsTero Kristo
Add support command for debugging K3 power domains. This is useful with the HSM rearch setup, where power domains are directly controlled by SPL instead of going through the TI SCI layer. The debugging support is only available in the u-boot codebase though, so the raw register access power domain layer must be enabled on u-boot side for this to work. By default, u-boot side uses the TI SCI layer, and R5 SPL only uses the direct access methods. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-06-11power: domain: Introduce driver for raw TI K3 PDsTero Kristo
Normally, power domains are handled via TI-SCI in K3 SoCs. However, SPL is not going to have access to sysfw resources, so it must control them directly. Add driver for supporting this. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-06-11clk: add support for TI K3 SoC clocksTero Kristo
Add driver to support TI K3 generation SoC clocks. This driver registers the clocks provided via platform data, and adds support for controlling the clocks via DT handles. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2021-06-11clk: add support for TI K3 SoC PLLTero Kristo
Add support for TI K3 SoC PLLs. This clock type supports enabling/disabling/setting and querying the clock rate for the PLL. The euclidean library routine is used to calculate divider/multiplier rates for the PLLs. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2021-06-11clk: fixed_rate: add API for directly registering fixed rate clocksTero Kristo
Current driver only supports registering fixed rate clocks from DT. Add new API which makes it possible to register fixed rate clocks directly from e.g. platform specific clock drivers. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2021-06-11common: fit: Update board_fit_image_post_process() to pass fit and node_offsetLokesh Vutla
board_fit_image_post_process() passes only start and size of the image, but type of the image is not passed. So pass fit and node_offset, to derive information about image to be processed. Signed-off-by: Lokesh Vutla <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2021-06-11lib: rational: copy the rational fraction lib routines from LinuxTero Kristo
Copy the best rational approximation calculation routines from Linux. Typical usecase for these routines is to calculate the M/N divider values for PLLs to reach a specific clock rate. This is based on linux kernel commit: "lib/math/rational.c: fix possible incorrect result from rational fractions helper" (sha1: 323dd2c3ed0641f49e89b4e420f9eef5d3d5a881) Signed-off-by: Tero Kristo <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2021-06-10arm64: mvebu: correct Armada 8K addressesHeinrich Schuchardt
0x04000000- 0x06000000 is reserved memory. We cannot load to anything here. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-06-10arm: mvebu: configs: turris_mox: add fdtfile default env variableMarek Behún
Add default fdtfile environment variable with value marvell/armada-3720-turris-mox.dtb. This can be useful for some boot scenarios. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-06-10arm: mvebu: turris_mox: add support for board rescue modeMarek Behún
Add necessary config options and board code to support board factory reset / rescue mode on Turris MOX. In order to also support invoking rescue mode from U-Boot console, without having to press the factory reset button, put the rescue command into `bootcmd_rescue` default environment variable. When factory reset button is pressed, invoke rescue mode via distroboot by setting `boot_targets` to `rescue`. Rescue boot from console can be invoked by running run bootcmd_rescue Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-06-09Nokia RX-51: Enable CONFIG_WDT to remove deprecation warningPali Rohár
Also convert CONFIG_HW_WATCHDOG to CONFIG_WATCHDOG. Signed-off-by: Pali Roh?r <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-06-09configs: am64: Enable configs to support USB host and device modesAswath Govindraju
Enable config options required to add support for USB Mass storage boot, USB DFU boot, host and device modes in U-Boot. Signed-off-by: Aswath Govindraju <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-06-09configs: am64x_evm_*_defconfig: Rearrange the components in SRAM to satisfy ↵Aswath Govindraju
the limitations for USB DFU boot mode For USB DFU boot mode there is a limitation on the load address of boot images that they have to be less than 0x70001000. Therefore, move the SPL_TEXT_BASE address to 0x70000000. Currently ATF is being loaded at 0x70000000, if the SPL is being loaded at 0x70000000 then ATF would overwrite SPL image when loaded. Therefore, move the location of ATF to a latter location in SRAM, past the SPL image. Also rearrange the EEPROM and BSS data on top of ATF. Given below is the placement of various data sections in SRAM ┌──────────────────────────────────────┐0x70000000 │ │ │ │ │ │ │ SPL IMAGE (Max size 1.5 MB) │ │ │ │ │ │ │ ├──────────────────────────────────────┤0x7017FFFF │ │ │ SPL STACK │ │ │ ├──────────────────────────────────────┤0x70192727 │ GLOBAL DATA(216 B) │ ├──────────────────────────────────────┤0x701927FF │ │ │ INITIAL HEAP (32 KB) │ │ │ ├──────────────────────────────────────┤0x7019A7FF │ │ │ BSS (20 KB) │ ├──────────────────────────────────────┤0x7019F7FF │ EEPROM DATA (2 KB) │ ├──────────────────────────────────────┤0x7019FFFF │ │ │ │ │ ATF (123 KB) │ │ │ │ │ ├──────────────────────────────────────┤0x701BEBFB │ BOOT PARAMETER INDEX TABLE (5124 B)│ ├──────────────────────────────────────┤0x701BFFFF │ │ │SYSFW FIREWALLED DUE TO A BUG (128 KB)│ │ │ ├──────────────────────────────────────┤0x701DFFFF │ │ │ DMSC CODE AREA (128 KB) │ │ │ └──────────────────────────────────────┘0x701FFFFF Signed-off-by: Aswath Govindraju <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-06-09mx7d: Add Storopack's SMEGW01 boardFabio Estevam
Add support for Storopack's SMEGW01 board, which is an IoT gateway based on the i.MX7D SoC. Based on the original U-Boot work done by Phytec. Signed-off-by: Fabio Estevam <[email protected]>
2021-06-09imx8mn: configs: add support for distro boot commandsAndrey Zhizhikin
Supported boot device types in iMX8MN: MMC, DHCP. Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives). Drop previous environment, which was targeting customized boot commands and boot order. Signed-off-by: Andrey Zhizhikin <[email protected]> Cc: Peng Fan <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-06-09imx: Add SeeedStudio NPI-IMX6ULL SupportNavin Sankar Velliangiri
CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 49C Reset cause: POR Model: Seeed NPi iMX6ULL Dev Board with NAND Board: Seeed NPi i.MX6ULL Dev Board DRAM: 512 MiB NAND: 512 MiB MMC: FSL_SDHC: 0 In: serial@2020000 Out: serial@2020000 Err: serial@2020000 Net: FEC0 Working: - Eth0 - MMC/SD - NAND - UART 1 - USB host Signed-off-by: Navin Sankar Velliangiri <[email protected]> Note: Changes in v2: * removed unnecessary space in imx6ull-seeed-npi-imx6ull-dev-board.dts file. * Used SZ_2M for CONFIG_SYS_MALLOC_LEN size allocation.
2021-06-09imx: support for conga-QMX8 boardOliver Graute
Add i.MX8QM qmx8 congatec board support U-Boot 2021.07-rc3-00528-gc9a966d9dd (May 31 2021 - 15:21:25 +0200) CPU: NXP i.MX8QM RevB A53 at 1200 MHz Model: Congatec QMX8 Qseven series Board: conga-QMX8 Build: SCFW 494c97f3, SECO-FW d63fdb21, ATF 09c5cc9 Boot: SD2 DRAM: 6 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial@5a060000 Out: serial@5a060000 Err: serial@5a060000 switch to partitions #0, OK mmc2 is current device Net: Error: ethernet@5b040000 address not set. No ethernet found. Hit any key to stop autoboot: 0 Signed-off-by: Oliver Graute <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Simon Glass <[email protected]> Cc: Ye Li <[email protected]> Cc: uboot-imx <[email protected]>
2021-06-09imx: ventana: enable dm support for PCI and FEC ethernetTim Harvey
Enable driver model support for FEC ethernet which allows us to remove the iomux and board_eth_init function. Replace the toggling of the ethernet phy reset with dt configuration. Enable driver model support for PCI which allows us to remove the eth1000_initialize() call. Additionally enable PCI_INIT_R to scan for PCI devices on init such as the e1000 that is present on the GW552x. Convert board_pci_fixup to use dm callback and remove pcidisable env variable which is not supported for DM_PCI and thus leave PCI always enabled during init. Signed-off-by: Tim Harvey <[email protected]>
2021-06-09Add out4.ru O4-iMX-NANO boardOleh Kravchenko
Board designed for quick prototyping and has one microSD port, 2 Ethernet ports, 2 USB ports, I2C, SPI, CAN, RS-485, GPIO, UART interfaces, and 2 RGB LEDs. Signed-off-by: Oleh Kravchenko <[email protected]> Cc: Stefano Babic <[email protected]>
2021-06-09ARM: imx8m: verdin-imx8mm: Increase bootm size to 64 MiBMarek Vasut
Uncompressed aarch64 kernel Image are rather large, increase the bootm size limit to 64 MiB to cater for that. Signed-off-by: Marek Vasut <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Max Krummenacher <[email protected]> Cc: Oleksandr Suvorov <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2021-06-09clk: imx: clk-imxrt1050: introduce IMXRT1050_CLK_USBOH3Giulio Benetti
Usb needs IMXRT1050_CLK_USBOH3 clock to be enabled, so let's add it to clock driver. Signed-off-by: Giulio Benetti <[email protected]>
2021-06-09clk: imx: clk-imxrt1050: introduce LCDIF_PIX and rename LCDIF to LCDIF_APBGiulio Benetti
Lcd peripheral needs 2 different gates to be enable to work, so let's introduce the missing one(LCDIF_PIX) and rename the existing one (LCDIF_APB). Signed-off-by: Giulio Benetti <[email protected]>
2021-06-08usb: dfu: Migrate CONFIG_SYS_DFU_DATA_BUF_SIZE and ↵Aswath Govindraju
CONFIG_SYS_DFU_MAX_FILE_SIZE to Kconfig Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h files and also in <board_name>_defconfig files without a Kconfig option. It is easier for users to set these configs in defconfig files than in config header files as they are a part of the source code. Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py script. Suggested-by: Pratyush Yadav <[email protected]> Signed-off-by: Aswath Govindraju <[email protected]> Acked-by: Oleksandr Suvorov <[email protected]> Acked-by: Matthias Brugger <[email protected]> Acked-by: Lukasz Majewski <[email protected]>
2021-06-08net: convert TFTP_TSIZE to proper Kconfig optionTero Kristo
TFTP transfer size can be used to re-size the TFTP progress bar on single line based on the server reported file size. The support for this has been around from 2019, but it was never converted to proper Kconfig. While adding this new Kconfig, enable it by default for OMAP2+ and K3 devices also. Signed-off-by: Tero Kristo <[email protected]>
2021-06-08log: Convert log values to printf() if not enabledSimon Glass
At present if logging not enabled, log_info() becomes a nop. But we want log output at the 'info' level to be akin to printf(). Update the macro to pass the output straight to printf() in this case. This mimics the behaviour for the log_...() macros like log_debug() and log_info(), so we can drop the special case for these. Add new tests to cover this case. Signed-off-by: Simon Glass <[email protected]>
2021-06-08log: Add support for logging a bufferSimon Glass
The print_buffer() function is very useful for debugging. Add a version of this in the log system also. Signed-off-by: Simon Glass <[email protected]>
2021-06-08display_options: Split print_buffer() into two functionsSimon Glass
At present print_buffer() outputs a hex dump but it is not possible to place this dump in a string. Refactor it into a top-level function which does the printing and a utility function that dumps a line into a string. This makes the code more generally useful. Signed-off-by: Simon Glass <[email protected]>
2021-06-08hexdump: Allow ctrl-c to interrupt outputSimon Glass
If a long hexdump is initated the user may wish to interrupt it. Add support for this. Signed-off-by: Simon Glass <[email protected]>
2021-06-08hexdump: Support any rowsizeSimon Glass
At present print_hex_dump() only supports either 16- or 32-byte lines. With U-Boot we want to support any line length up to a maximum of 64. Update the function to support this, with 0 defaulting to 16, as with print_buffer(). Signed-off-by: Simon Glass <[email protected]>
2021-06-08hexdump: Move API to header fileSimon Glass
Move the comments to the header file so people can find the function info without digging in the implementation. Fix up the code style and add an enum for the first arg. Signed-off-by: Simon Glass <[email protected]>
2021-06-08test: Add a test for print_buffer()Simon Glass
Add a test for this function, to cover the various features. Expand the expect_str length to take acount of the ~300-bytes lines generated in one case. Signed-off-by: Simon Glass <[email protected]>
2021-06-08test: Convert print tests to use ut frameworkSimon Glass
This test predates the test framework in U-Boot. It uses #define DEBUG and assert() to check the result. Update it to use the framework so it can report failure constitent with other tests. Signed-off-by: Simon Glass <[email protected]>
2021-06-08console: Report an error when output buffer is exhaustedSimon Glass
If the console output buffer is exhausted, characters are silently dropped from the end. Detect this condition and report an error when reading back the characters. Signed-off-by: Simon Glass <[email protected]>
2021-06-07lmb: add lmb_is_reserved_flagsPatrick Delaunay
Add a new function lmb_is_reserved_flags to check if an address is reserved with a specific flags. This function can be used to check if an address was reserved with no-map flags with: lmb_is_reserved_flags(lmb, addr, LMB_NOMAP); Signed-off-by: Patrick Delaunay <[email protected]>
2021-06-07lmb: Add support of flags for no-map propertiesPatrick Delaunay
Add "flags" in lmb_property to save the "no-map" property of reserved region and a new function lmb_reserve_flags() to check this flag. The default allocation use flags = LMB_NONE. The adjacent reserved memory region are merged only when they have the same flags value. This patch is partially based on flags support done in Linux kernel mm/memblock .c (previously lmb.c); it is why LMB_NOMAP = 0x4, it is aligned with MEMBLOCK_NOMAP value. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-06-04arm: mvebu: turris_omnia: support invoking rescue boot from consoleMarek Behún
Make it possible to invoke rescue boot from U-Boot console, without having to press the factory reset button. This is needed when accessing the device remotely, for example. Achieve this by putting rescue command into `bootcmd_rescue` default environment variable and setting some distroboot environment variables to their default values when the factory button is pressed. Rescue boot from console can be invoked by running run bootcmd_rescue Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-05-31board: sifive: add HiFive Unmatched board supportGreen Wan
Add defconfig and board support for HiFive Unmatched. Signed-off-by: Green Wan <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-05-31riscv: dts: add fu740 supportGreen Wan
Add dts support for fu740. The HiFive Unmatched support is based on fu740 cpu and drivers in following patch set. Signed-off-by: Green Wan <[email protected]> [greentime.hu: set fu740 speed to 1.2GHz] Signed-off-by: Greentime Hu <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-05-28efi_loader: add PE/COFF image measurementMasahisa Kojima
"TCG PC Client Platform Firmware Profile Specification" requires to measure every attempt to load and execute a OS Loader(a UEFI application) into PCR[4]. This commit adds the PE/COFF image measurement, extends PCR, and appends measurement into Event Log. Acked-by: Ilias Apalodimas <[email protected]> Tested-by: Ilias Apalodimas <[email protected]> Signed-off-by: Masahisa Kojima <[email protected]> Replace CONFIG_HASH_CALCULATE by CONFIG_HASH Fix conversions between pointers and u64. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2021-05-27Merge tag 'ti-v2021.07-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ti - Fix reset for AM64 platforms - Enable networking PHY driver for AM64 - Fix default R5F cluster setting in J7
2021-05-27ARM: ti: Increase the allocated size for MLO.rawFaiz Abbas
MLO has increased to a size greater than the allocated 128 kB in dfu_alt_info_emmc and _mmc. Therefore, double the allocated size for MLO.raw in the default environment. Signed-off-by: Faiz Abbas <[email protected]> Signed-off-by: Aswath Govindraju <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-05-26test: Remove duplicate macroSean Anderson
ut_asserteq_strn is defined twice. Remove one definition. Fixes: 33d7edfd5f ("test: Add a way to check part of a console line or skip it") Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>