summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-10-13Merge tag 'efi-2024-01-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-01-rc1 Documentation: * Bump urllib3 version * Migrate Renesas board docs to rst * Link an introduction video UEFI * Use same GUID as EDK II for auto-created boot options * Clean up BitBlt test
2023-10-13Merge tag 'xilinx-for-v2024.01-rc1-v3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2024.01-rc1 v3 clk: - remove additional compatible strings for Versal NET net: - zynq_gem: Fix clock calculation for MDC for higher frequencies pinctrl: - core: Extend pinmux status buffere size - zynqmp driver: Show also tristate configuration test: - add test case for pxe get Xilinx: - describe SelectMAP boot mode Zynq: - Fix nand description in DT ZynqMP: - DTS sync patches with kernel and also W=1 related fixes - Add support for KD240, zcu670, e-a2197 with x-prc cards, SC revB/C with i2c description for other SC based boards - k24 psu_init cleanup
2023-10-13mtd/spinand: sync supported devices with linux-5.15.43Mikhail Kshevetskiy
This adds more supported spinand devices from the Linux kernel implementation. This does not include the latest kernel implementation as this would require a substantial amount of extra work due to the missing ECC engine abstraction layer in U-Boot. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]> (commit message) Link: https://lore.kernel.org/all/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2023-10-13mtd/spinand: rework detect procedure for different READ_ID operationMikhail Kshevetskiy
Currently there are 3 different variants of read_id implementation: 1. opcode only. Found in GD5FxGQ4xF. 2. opcode + 1 addr byte. Found in GD5GxGQ4xA/E 3. opcode + 1 dummy byte. Found in other currently supported chips. Original implementation was for variant 1 and let detect function of chips with variant 2 and 3 to ignore the first byte. This isn't robust: 1. For chips of variant 2, if SPI master doesn't keep MOSI low during read, chip will get a random id offset, and the entire id buffer will shift by that offset, causing detect failure. 2. For chips of variant 1, if it happens to get a devid that equals to manufacture id of variant 2 or 3 chips, it'll get incorrectly detected. This patch reworks detect procedure to address problems above. New logic do detection for all variants separatedly, in 1-2-3 order. Since all current detect methods do exactly the same id matching procedure, unify them into core.c and remove detect method from manufacture_ops. This is a rework of Chuanhong Guo <[email protected]> patch submitted to linux kernel Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]> Link: https://lore.kernel.org/all/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2023-10-12board: ti: am64x: Switch to standard boot flowRoger Quadros
Switch to using bootstd. Note with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Drop header files that are no longer needed in am64x_evm.h. k3_dfu.h is available via k3_dfu.env in am64x.env. Drop unused macro CFG_SYS_SDRAM_BASE1. Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-12efi_loader: use well-known guid for auto-created boot optionMasahisa Kojima
The boot option automatically created by efibootmgr is identified by the special guid appended in the optional data of boot option. The same mechanism is implemented in the EDK II reference implementation, it uses the different guid from the one currently U-Boot uses. The guid indicating auto-created boot option is not defined in the UEFI specification, but some userspace tools such as 'efivar' package are aware of the guid used in EDK II as auto-created boot option. So let's use the same guid as EDK II reference implementation. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-10-11expo: Update tests to include textlineSimon Glass
Provide test coverage for the new expo object type, including building and reading/writing settings. Signed-off-by: Simon Glass <[email protected]>
2023-10-11expo: Support handling any key in ceditSimon Glass
At present cedit only supports menu keys. For textline objects we need to insert normal ASCII characters. We also need to handle backspace, which is ASCII 9. In fact, expo does not make use of all the menu keys, so partition them accordingly and update the logic to support normal ASCII characters, too. Signed-off-by: Simon Glass <[email protected]>
2023-10-11expo: Add basic support for textline objectsSimon Glass
A textline is a line of text which can be edited by the user. It has a maximum length (in chracters) but otherwise there are no restrictions. Signed-off-by: Simon Glass <[email protected]>
2023-10-11expo: Add some scene fields needed for text entrySimon Glass
Add the CLI state, a buffer to hold the old value of the text being edited and a place to save vidconsole entry context. These will be use by the textline object. Set an upper limit on the maximum number of characters in a textline object supported by expo, at least for now. Signed-off-by: Simon Glass <[email protected]>
2023-10-11expo: Allow highlighting other scene-object typesSimon Glass
So far only menus can be highlighted. With the coming addition of text lines we need to be able to highlight other objects. Add a function to determine whether an object can be highlighted. Signed-off-by: Simon Glass <[email protected]>
2023-10-11expo: Fix up comments for get_cur_menuitem_text() et alSimon Glass
This internal function could use a comment. Add one. Also tidy up a few other comments. Signed-off-by: Simon Glass <[email protected]> fixup: comments
2023-10-11video: Support showing a cursorSimon Glass
Add rudimentary support for displaying a cursor on a vidconsole. This helps the user to see where text is being entered. The implementation so far is very simple: the cursor is just a vertical bar of fixed width and cannot be erased. To erase the cursor, the text must be redrawn over it. This is good enough for expo but will need enhancement to be useful for the command-line console. For example, it could save and restore the area behind the cursor. For now, enable this only for expo, to reduce code size. Signed-off-by: Simon Glass <[email protected]>
2023-10-11video: Export vidconsole_entry_start()Simon Glass
At present this is called only when a newline is detected, since this indicates the start of a line of text being entered. Export this function so it can be used by expo, which may start a new text line itself, without first writing out a newline. Signed-off-by: Simon Glass <[email protected]>
2023-10-11video: Allow saving and restoring text-entry stateSimon Glass
Text entry operates within a context which includes quite a bit of information. For example, with Truetype fonts, each character in the text string has a position stored, so that it is possible to backspace to that character. This information is built up as strings are drawn on the display. For the command line, there is just a single context. It is created when command-line entry starts and it is destroyed (or at least not needed anymore) when the user presses <enter> to enter the command. By contrast, expo needs to be able to switch in and out of a text-entry context, since it is also displaying other objects in the scene. Add a way to save and restore the entry context for a vidconsole. This is only needed for the truetype vidconsole, so add a method for that, storing the information in an abuf struct. Signed-off-by: Simon Glass <[email protected]>
2023-10-11video: Allow obtaining the nominal size of a string sizeSimon Glass
At present there is a method for measuring text, but if the actual text string is not known, it cannot be used. For text editor we want to set the size of the entry box to cover the expected text size. Add the concept of a 'norminal' size with a method to calculate that for the vidconsole. If the method is not implemented, fall back to using the font size, which is sufficient for fixed-width fonts. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Add a function to set up a new creadSimon Glass
Create a init function so that it is easy to use command-line reading. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Allow command completion to be disabledSimon Glass
When inputting text outside the command line we don't want to use tab for command completion. Add an option to control this. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Allow history to be disabledSimon Glass
When inputting text outside the command line we don't want history to be accessible. Add an option to control this. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Create a function to process charactersSimon Glass
Move most of the inner loop from cread_line() into a new function. This will allow using it from other code. This involves adding a few more members to the state struct. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Convert cread_line() to use a struct for the main varsSimon Glass
We want to reuse the editing code elsewhere. As a first step, move the common variables into a struct. This will allow us to eventually put the contents of the inner loop in a function, so it can be called from elsewhere. Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Drop #ifdefs for CONFIG_AUTO_COMPLETE in cli_readlineSimon Glass
Use a static inline and adjust the logic to avoid the need for #ifdefs in cli_readline_into_buffer() Signed-off-by: Simon Glass <[email protected]>
2023-10-11cli: Add a command to show cmdline historySimon Glass
There is a function for this but it is never used. Showing the history is a useful feature, so add a new 'history' command. Signed-off-by: Simon Glass <[email protected]>
2023-10-11ARM: psci: move GIC address override to KconfigAndre Przywara
As the code to switch an ARM core from secure to the non-secure state needs to know the base address of the Generic Interrupt Controller (GIC), we read an Arm Cortex defined system register that is supposed to hold that base address. However there are SoCs out there that get this wrong, and this CBAR register either reads as 0 or points to the wrong address. To accommodate those systems, so far we use a macro defined in some platform specific header files, for affected boards. To simplify future extensions, replace that macro with a Kconfig variable that holds this override address, and define a default value for SoCs that need it. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Sam Edwards <[email protected]>
2023-10-11event: Rename rest of EVENT_SPY to EVENT_SPY_FULL or EVENT_SPY*Marek Vasut
Fix up remaining occurances of EVENT_SPY with no suffix. Fixes: 6c4cad7438 ("event: Rename EVENT_SPY to EVENT_SPY_FULL") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-11board: xen: introduce virtio-blk supportAndrii Chepurnyi
Added new xenguest_arm64_virtio_defconfig which enables support for virtio-blk using various types of transport like virtio-pci, vrtio-mmio. Currently supported: up to 2 PCI host bridges and 10 MMIO devices. Note: DT parsing code was partly taken from pci-uclass.c Limitation: All memory regions should be below 4GB address space. Signed-off-by: Andrii Chepurnyi <[email protected]>
2023-10-11Merge tag 'fsl-qoirq-2023-10-10' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq Drop legacy PPA secure FW support support for MC reserved memory reset the FLSHxCR1 registers for nxp_fspi
2023-10-10dm: blk: Drop blk_{read,write}_devnum()Bin Meng
blk_{read,write}_devnum() are no longer used by anywhere in the source tree. Drop them. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-10dm: blk: Rename get_desc() and make it externally visibleBin Meng
get_desc() can be useful outside blk-uclass.c. Let's change it to an API and make it externally visible. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-10blk: sandbox: Support binding a device with a given logical block sizeBin Meng
Allow optionally set the logical block size of the host device to bind in the "host bind" command. If not given, defaults to 512. Signed-off-by: Bin Meng <[email protected]>
2023-10-10blk: Use a macro for the typical block sizeBin Meng
Avoid using the magic number 512 directly. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-10drivers: net: fsl-mc: add support for MC reserved memoryLaurentiu Tudor
Add support for declaring in device tree the reserved memory ranges required for MC. Since the MC firmware acts as any DMA master present in the SoC, the reserved memory ranges need also be identity mapped in the SMMU, so create the required 'iommu-addresses' property in the reserved memory nodes. For now this support is used only on LX2160A SoCs. Signed-off-by: Laurentiu Tudor <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-10-10fsl-layerscape: drop obsolete PPA secure firmware supportLaurentiu Tudor
PPA was a secure firmware developed in-house which is no longer supported and replaced by TF-A quite some years ago. Drop support for it. Signed-off-by: Laurentiu Tudor <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-10-09stdio: fix stdio_deregister_dev()Heinrich Schuchardt
When copying the name of a stdio device we must ensure that it is NUL terminated before passing it to strcmp() to avoid a buffer overrun. Truncating the name field leads to failure to deregister a stdio device. When copying we must ensure that the name field sizes match. Addresses-Coverity-ID: 350462 String not null terminated Fixes: 5294e97832a6 ("stdio: extend "name" to 32 symbols") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-09spl: add __noreturn attribute to spl_invoke_atf functionChanho Park
spl_invoke_atf function will not be returned to SPL. Thus, we need to set __noreturn function attribute to the function. Signed-off-by: Chanho Park <[email protected]>
2023-10-09pinctrl: Increase size of pinmux status bufferVenkatesh Yadav Abbarapu
For Xilinx ZynqMP SOC new parameter was added and now it can set 7 parameters for its pins. Pinmux status command will print the status of these parameters for each pin. But current print buffer length is only 80 characters long, increase it to 90 to print all the parameters without truncation. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-10-08Merge tag 'u-boot-rockchip-20231007' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Add Board: rk3568 Bananapi R2Pro; - Update pcie bifurcation support; - dwc_eth_qos controller support for rk3568 and rk3588; - Compressed binary support for U-Boot on rockchip platform; - dts and config updates for different board and soc; [ trini: Fix conflict on include/spl.h ] Signed-off-by: Tom Rini <[email protected]>
2023-10-07configs: rockchip: rk3308: enable CONFIG_OF_LIBFDT_OVERLAYFUKAUMI Naoki
enable CONFIG_OF_LIBFDT_OVERLAY and use it on Radxa ROCK Pi S. Signed-off-by: FUKAUMI Naoki <[email protected]>
2023-10-07configs: rockchip: rk3308: use CONFIG_DEFAULT_FDT_FILEFUKAUMI Naoki
all rk3308 boards should use their own dtb file. also, change fdt_addr_r to avoid following error: "ERROR: Did not find a cmdline Flattened Device Tree" it happens on Radxa ROCK Pi S (256MB/512MB) with kernel built from Radxa BSP. Signed-off-by: FUKAUMI Naoki <[email protected]>
2023-10-07arm: dts: rockchip: sync DT for RK3588 series with LinuxFUKAUMI Naoki
Sync the device tree for RK3588 series with Linux 6.6-rc1. Signed-off-by: FUKAUMI Naoki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-10-07spl: fit: support for booting a LZMA-compressed U-boot binaryManoj Sai
If LZMA Compression support is enabled, LZMA compressed U-Boot binary will be placed at a specified RAM location which is defined at CONFIG_SYS_LOAD_ADDR and will be assigned as the source address. image_decomp() function, will decompress the LZMA compressed U-Boot binary which is placed at source address(CONFIG_SYS_LOAD_ADDR) to the default CONFIG_SYS_TEXT_BASE location. spl_load_fit_image function will load the decompressed U-Boot binary, which is placed at the CONFIG_SYS_TEXT_BASE location. Signed-off-by: Manoj Sai <[email protected]> Signed-off-by: Suniel Mahesh <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-10-07spl: fit: support for booting a GZIP-compressed U-boot binaryManoj Sai
If GZIP Compression support is enabled, GZIP compressed U-Boot binary will be at a specified RAM location which is defined at CONFIG_SYS_LOAD_ADDR and will be assign it as the source address. gunzip function in spl_load_fit_image ,will decompress the GZIP compressed U-Boot binary which is placed at source address(CONFIG_SYS_LOAD_ADDR) to the default CONFIG_SYS_TEXT_BASE location. spl_load_fit_image function will load the decompressed U-Boot binary, which is placed at the CONFIG_SYS_TEXT_BASE location. Signed-off-by: Manoj Sai <[email protected]> Signed-off-by: Suniel Mahesh <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-10-07power: regulator: Only run autoset once for each regulatorJonas Karlman
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter"), keeping regulator enablement in balance become more important. Calling regulator_autoset multiple times on a fixed regulator increase the enable count for each call, resulting in an unbalanced enable count. Introduce a AUTOSET_DONE flag and use it to mark that autoset has run for the regulator. Return -EALREADY on any subsequent call to autoset. This fixes so that the enable count is only ever increased by one per regulator for autoset. Fixes: 4fcba5d556b4 ("regulator: implement basic reference counter") Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-10-06pci: serial: Support reading PCI-register size with baseSimon Glass
The PCI helpers read only the base address for a PCI region. In some cases the size is needed as well, e.g. to pass along to a driver which needs to know the size of its register area. Update the functions to allow the size to be returned. For serial, record the information and provided it with the serial_info() call. A limitation still exists in that the size is not available when OF_LIVE is enabled, so take account of that in the tests. Signed-off-by: Simon Glass <[email protected]>
2023-10-06dm: core: Tweak device_is_on_pci_bus() for code sizeSimon Glass
This function cannot return true if PCI is not enabled, since no PCI devices will have been bound. Add a check for this to reduce code size where it is used. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: Add C-based runtime detection of SPLSimon Glass
The spl_phase() function indicates whether U-Boot is in SPL and before or after relocation. But sometimes it is useful to check for SPL with zero code-size impact. Since spl_phase() checks the global_data flags, it does add a few bytes. Add a new spl_in_proper() function to check if U-Boot proper is running, regardless of the relocation status. Signed-off-by: Simon Glass <[email protected]>
2023-10-06command: Include a required header in command.hSimon Glass
This uses ARRAY_SIZE() but does not include the header file which declares it. Fix this, so that command.h can be included without common.h Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2023-10-06bloblist: Support initing from multiple placesSimon Glass
Typically the bloblist is set up after the devicetree is present. This makes sense because bloblist may use malloc() to allocate the space it needs. However sometimes the devicetree itself may be present in the bloblist. In that case it is at a known location in memory so we can init the bloblist very early, before devicetree. Add a flag to indicate whether the bloblist has been inited. Add a function to init it only if needed. Use that in the init sequence. Signed-off-by: Simon Glass <[email protected]>
2023-10-06dm: core: Support writing a 64-bit valueSimon Glass
Add support for writing a single 64-bit value into a property. Repurpose the existing tests to handle this case too. Signed-off-by: Simon Glass <[email protected]>
2023-10-06dm: core: Support writing a booleanSimon Glass
Add functions to write a boolean property. This involves deleting it if the value is false. Add a new ofnode_has_property() as well. Add a comment about the behaviour of of_read_property() when the property value is empty. Signed-off-by: Simon Glass <[email protected]>