- Jan 14, 2022
-
-
A385 controlcenterdc board does not use PCI DM properly and touches some PCIe devices directly in its board code. This controlcenterdc spl_board_init() function expects that PCIe link is already initialized. Link itself is initialized in a38x serdes code but this will change in future and link initialization will be postponed from U-Boot SPL to proper U-Boot. So explicitly enable PCIe link 2 in spl_board_init() function via SoC Control Register 1 to not break this code by future changes. This board has PCIe link 2 just x1, so no additional initialization (except enabling PCIe port) is needed. Signed-off-by:
Pali Rohár <pali@kernel.org>
-
The only user of board_pex_config() weak function is A385 controlcenterdc board. It looks like that code in its board_pex_config() function needs to be executed after PCIe link is up. Therefore put this code into spl_board_init() function which is called after a38x serdes initialization, and therefore it is after the serdes hws_pex_config() function finishes (which is the state before this change). With this change completely remove board_pex_config() function as it is not used anymore. Signed-off-by:
Pali Rohár <pali@kernel.org>
-
- Jan 13, 2022
-
-
https://source.denx.de/u-boot/custodians/u-boot-dmTom Rini authored
bloblist prep for standard passage switch order of pinctrl and power domain calls various minor fixes
-
Simon Glass authored
This implementation is intended to be copied to other projects and modified, to as to foster a standard means of communcating runtime information between firmware projects. The GPL-2 license is too restrictive for some projects, e.g. those intended as reference implementations rather than designed for collaborative open-source development. Update the license to make this easier to share. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
FIx up various minor errors and add the API documentation to the bloblist docs, since it is quite useful to see it in the same place. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a few convenience functions to obtain useful information about the bloblist. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we do support allocating the bloblist but the Kconfig is a bit strange, since we still have to specify an address in that case. Partly this is because it is a pain to have CONFIG options that disappears when its dependency is enabled. It means that we must have #ifdefs in the code, either in the C code or header file. Make use of IF_ENABLED_INT() and its friend to solve that problem, so we can separate out the location of bloblist into a choice. Put the address and size into variables so we can log the result. Add the options for SPL as well, so we can use CONFIG_IS_ENABLED(). Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We typically refer to the different U-Boot builds that a board runs through as phases. This avoids confusion with the word 'stage' which is used with bootstage, for example. Fix up some bloblist Kconfig help which uses the wrong term. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Use the convenience functions to improve readability. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present if someone adds a tag in the middle of the list it works well enough within a U-Boot build. But if these tags are used in another project, or with an older version of SPL, the numbers make become inconsistent. Use explicit tag numbers that never change, to resolve this problem. Allocate areas for existing U-Boot tags and set up an area for use by projects and vendors, as well as for private use. Keep tags above 0x10000 unallocated for now. Update bloblist_tag_name() and the tests to work with this new setup. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
The EC event log tag is no-longer used. The vboot handoff is now handled by the vboot context instead. Drop these unused tags. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a U_BOOT prefix to this tag since it is specific to the U-Boot project. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
It seems best to put the magic number right at the start of the bloblist header, so it is easier to check. This is how devicetree works. Make this change now, before other projects make use of bloblist. Other changes may be needed / discussed, but that is TBD. Add a checker function as well. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This old macro is not needed anymore since we can use IS_ENABLED() now. Drop it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Some bright sparks have decided that a cast on a constant cannot be a constant, so offsetof() produces this warning on clang-10: include/intel_gnvs.h:113:1: error: static_assert expression is not an integral constant expression check_member(acpi_global_nvs, unused2, GNVS_CHROMEOS_ACPI_OFFSET); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:284:2: note: expanded from macro 'check_member' offsetof(struct structure, member) == (offset), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/stddef.h:20:32: note: expanded from macro 'offsetof' ^ include/intel_gnvs.h:113:1: note: cast that performs the conversions of a reinterpret_cast is ot allowed in a constant expression include/linux/stddef.h:20:33: note: expanded from macro 'offsetof' Fix it by using the compiler built-in version, if available. This syncs the function to the same implementation as Linux v5.16 in this header file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
When genboardscfg.py is run on machines with 255 or more cores, the process will consume more than 1024 file descriptors, which is a common standard ulimit for user processes. As a consequence it will fail with a lenghty Python trace, with the almost hidden message: OSError: [Errno 24] Too many open files It's somewhat questionable whether that level of parallelity is actually useful for genboardscfg, so we limit the *default* number of jobs to the safe number of 240, to avoid the problem. If a user persists, she can still force a higher number via the -j parameter - hopefully having raised the ulimit accordingly beforehand. Signed-off-by:
Andre Przywara <andre.przywara@arm.com> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
U-Boot define loff_t as long long. But the header /usr/include/linux/types.h may not define it. This has lead to a build error on Alpine Linux. So let's use long long instead of loff_t for the size parameter of function os_get_filesize(). Reported-by:
Milan P. Stanić <mps@arvanta.net> Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Tested-by:
Milan P. Stanić <mps@arvanta.net> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Python doesn't naturally support tilde (~) as a user-home marker in paths, but git-config does. So we need to resolve it before continuing. We also shouldn't blindly join the top-level tree with the aliasesfile path, because it might be an absolute path. This resolves warnings like the following: Warning: Cannot find alias file '/path/to/source/tree/~/.git-email' Seen when git-config is like: $ git config sendemail.aliasesfile ~/.git-email Signed-off-by:
Brian Norris <briannorris@chromium.org> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Otavio Salvador <otavio@ossystems.com.br>
-
The commit 3ad30778 ("dm: core: device: enable power domain in probe") introduced enabling power domain when device is probed. By checking this sequence in Linux kernel was found that power domain is handled first followed by pinctrl setting. This patch is switching this order to follow Linux kernel that power domains are handled first follow by pinctrl setting. The issue was found on Xilinx Kria SOM where firmware is blocking setting up pin configuration/muxes without enabling power domain for the specific IP first. Signed-off-by:
Michal Simek <michal.simek@xilinx.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini authored
- Add Apple M1 watchdog timer (Mark)
-
Tom Rini authored
- Fix a large number of spelling mistakes
-
-
-
-
-
-
-
-
-
-
-
-
Somewhere along the way, someone misspelt "invalid" and it got copied everywhere. Fix it. Signed-off-by:
Sean Anderson <seanga2@gmail.com> Reviewed-by:
Alexander Dahl <ada@thorsis.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Tom Rini authored
- Fix binman fake blob support to write outside source directory - Azure now has stages in the pipeline - Update to latest focal tag for containers in CI. - Finish dropping LynxOS - Add migration message for timer code
-
Rely on the new watchdog timer driver and the sysreset uclass to reset the system. This gets rid of hard-coded addresses and should work on systems based on the new M1 Pro and M1 Max SoCs as well. Signed-off-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-on: Apple M1 Macbook Tested-by:
Simon Glass <sjg@chromium.org>
-
Add a node for the watchdog timer based on the proposed Linux device tree bindings. Remove the old reboot node which was a watchdog timert node in disguise using a preliminary device tree binding. Signed-off-by:
Sven Peter <sven@svenpeter.dev> Signed-off-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-on: Apple M1 Macbook Tested-by:
Simon Glass <sjg@chromium.org>
-
This driver supports the watchdog timer found on Apple's M1 SoC. On systems that use these SoC, the watchdog timer is the primary way to reboot the system. Signed-off-by:
Mark Kettenis <kettenis@openbsd.org> Reviewed-by:
Sven Peter <sven@svenpeter.dev> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-on: Apple M1 Macbook Tested-by:
Simon Glass <sjg@chromium.org>
-
Some boards still use the old timer mechanism. Set a deadline for them to update to driver model. Point to some examples as well. This needs a bit of a strange rule to avoid an error on some boards. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
LynxOS needed the do_bootm_lynxkdi() function that got removed in 7e713067 ("Remove LYNX KDI remainders") - and that function needed a lynxkdi_boot() function, where the last implementation had been removed in 98f705c9 ("powerpc: remove 4xx support") already. Looks like this OS is definitely not supported anymore, so remove it from the corresponding lists. Signed-off-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
Stefan Roese <sr@denx.de>
-
At present binman writes fake blobs to the current directory. This is not very helpful, since the files serve no useful purpose once binman has finished. They clutter up the source directory and affect future runs, since the files in the current directory are often used in preference to those in the board directory. To avoid these problems, write them to the output directory instead. Move the file-creation code to the Entry base class, so it can be used by any entry type that needs it. This is required since some entry types, such as Entry_blob_ext_list, are not subclasses of Entry_blob. Signed-off-by:
Simon Glass <sjg@chromium.org>
-