Heinrich Schuchardt [Thu, 16 Jan 2025 19:26:59 +0000 (20:26 +0100)]
efi_loader: use LOGC_EFI consistently
The log category should be LOGC_EFI all over the EFI sub-system.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Heinrich Schuchardt [Fri, 17 Jan 2025 00:09:54 +0000 (01:09 +0100)]
test/log: test function filters
Add unit tests for function filters.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Fri, 17 Jan 2025 00:09:53 +0000 (01:09 +0100)]
log: enable filtering on functions
Up to now we could only use log level, category, and file for filtering.
Allow filtering on a list of functions.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Fri, 17 Jan 2025 00:09:52 +0000 (01:09 +0100)]
log: make log_has_file() static
Function log_has_file() is not used externally. Make it static.
Rename the function to log_has_member() as we can reuse for filtering
other strings.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt [Fri, 17 Jan 2025 00:09:51 +0000 (01:09 +0100)]
efi_loader: correct logging StartImage()
When logging running an image, e.g. `bootefi hello` the indent is not
correctly reset.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tom Rini [Sat, 25 Jan 2025 22:27:30 +0000 (16:27 -0600)]
Merge patch series "gitlab: Fixes to get StarFive VisionFive2 into the sjg lab"
Simon Glass <sjg@chromium.org> says:
This board fought valiantly against attempts to add it to my lab. After
several hours of debugging, I found problems in the Labgrid integration
(not included here), test.py and buildman
This series fixes these and the board now seems to be reliable enough.
Note that the board fails test_dm_compat
Link: https://github.com/labgrid-project/labgrid/pull/1411
Link: https://lore.kernel.org/r/20241214182024.1954974-1-sjg@chromium.org
Simon Glass [Mon, 16 Dec 2024 23:38:53 +0000 (16:38 -0700)]
gitlab: Add a StarFive VisionFive2 to the sjg lab
I have one of these boards loaded with Ubuntu 24.10 (64-bit). Add an
entry for it so that it can be used for testing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-By: Heinrich Schuchardt <xypron.glpk@gmx.de>
Simon Glass [Sat, 14 Dec 2024 18:20:23 +0000 (11:20 -0700)]
buildman: Record an error if a toolchain is missing
Buildman has always treated the lack of a toolchain as an infrastructure
problem rather than a build failure.
However the logic for this is not correct, since it does not write a
'done' file in this case.
As a result, one of two things can happen.
1. If a previous build ran in the same (output) directory, the outcome
of *that* build is recorded as the outcome of this one
2. Otherwise, no outcome is recorded
Obviously this inconsistency is not ideal. While (2) is rare, it can be
very confusing as the build sort-of fails but does not produce any
summary output with 'buildman -s'
Overall it seems better to attribute a toolchain issue to the boards
that it affects. This results in clear failures which can be examined,
no matter what happened in the .bm-work directory previously.
So write a 'done' file for each build when a toolchain is missing.
The end result of this patch is to make missing toolchains much more
obvious. It should be things a bit easier for novice users.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 14 Dec 2024 18:20:22 +0000 (11:20 -0700)]
buildman: Drop unused OUTPUT_FILE constant
This is not actually used but its presence suggests that it is the
filename for the board database. Drop it to avoid confusion.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 14 Dec 2024 18:20:21 +0000 (11:20 -0700)]
test/py: Handle u-boot-test-getrole failure
This script can fail if there is no toolchain available for the board.
At present this is not handled very nicely, in that only the error
output is reported. It is much more useful to see everything, so
combine stdout and stderr and report them both.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 14 Dec 2024 18:20:20 +0000 (11:20 -0700)]
test/py: Provide the correct U_BOOT_SOURCE_DIR to getrole
The u-boot-test-getrole script runs before the normal environment
variables have been set up. This is unavoidable since the script is
providing necessary information to test.py
This means that U_BOOT_SOURCE_DIR is not set in the environment.
As a result, Labgrid uses its default source path, configured in its
environment variable. While this may happen to work, it is not correct.
Also, it causes problems when running from Gitlab, where the runner may
not have access to that source path.
Provide the required source path in U_BOOT_SOURCE_DIR so that Labgrid
does the right thing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes:
bf89a8f1fc2 ("test: Introduce the concept of a role")
[1] https://patchwork.ozlabs.org/project/uboot/patch/
20241211131858.520639-1-sjg@chromium.org/
Tom Rini [Fri, 24 Jan 2025 22:35:58 +0000 (16:35 -0600)]
configs: Resync with savedefconfig
Resync all defconfig files using qconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 24 Jan 2025 20:35:37 +0000 (14:35 -0600)]
Merge patch series "test: Improvements to ut command and test-suite running"
Simon Glass <sjg@chromium.org> says:
The current method of running unit tests relies on subcommands of the
ut command. Only the code in each subcommand knows how to find the tests
related to that subcomand.
This is not ideal and we now have quite a few subcommands which do
nothing but locate the relevant tests in a linker list, then call a
common function to run them.
This series adds a list of test suites, so that these subcommands can be
removed.
An issue with 'ut all' is that it doesn't record how many tests failed
overall, so it is necessary to examine copious amounts of output to look
for failures. This series adds a new 'total' feature allow recording the
total number of failed tests.
To help with 'ut all' a new pytest is created which runs it (as well as
'ut info') and makes sure that all is well. Due to the 'ut all' failures
this does not pass, so the test is disabled for now. It is here because
it provides security against misnaming a test suite and causing it not
to run.
Future work may:
- get 'ut all' passing
- enable test_suite() in CL, to ensure that 'ut all' keeps passing
- record duration of each suite
- allow running the tests in random order to tease out dependencies
- tweak the output to remove common prefixes
- getting rid of bootstd, optee and seame 'ut' subcommands
Link: https://lore.kernel.org/r/20250120212613.516664-1-sjg@chromium.org
Simon Glass [Mon, 20 Jan 2025 21:26:06 +0000 (14:26 -0700)]
doc: Update ut documentation
Update documentation for the 'ut' command, since it has changed a
little.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:05 +0000 (14:26 -0700)]
test: Move help into the suite declaration
Rather than having the help in the longhelp, put it in the suite info
so 'ut info -s' can show it. This is tidier, particular due to the
removal of #ifdefs
This means that the help text is present in the image (although not
displayed with 'ut info -s') so the image-size increases. But with
UNIT_TEST enabled, we expect large images so this doesn't seem
important.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:04 +0000 (14:26 -0700)]
test: Disable test_suite
This fails at present, so disable it until it can pass.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:03 +0000 (14:26 -0700)]
test: Sort the test suites
Put the suites in order by name, for easier code-maintenance. This also
helps find test results for a particular swuit in the 'ut all' output.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:02 +0000 (14:26 -0700)]
test: Record and show the totals for all test runs
With 'ut all' multiple test suites are run. Add a way to collect totals
and show them at the end.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:01 +0000 (14:26 -0700)]
test: Move stat-printing into its own function
Add a function to show the stats, so we can decide when to print it.
This slightly adjusts the output, so that any 'test not found' message
appears on its own line after all other output.
The 'failures' message now appears in lower case so update pytest
accordingly.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:26:00 +0000 (14:26 -0700)]
test: Keep a track of the numbers of tests run
This is useful information and is not always the same as the 'count' arg
to ut_run_list() so add it as a separate stat.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:59 +0000 (14:25 -0700)]
test: Move stats into a struct
Use a struct to hold the stats, since we also want to have the same
stats for all runs as we have for each suite.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:58 +0000 (14:25 -0700)]
test: Pass the test state to cmd_ut_category()
Update this function to access a unit-test state, so that the caller can
collect results from running multiple suites.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:57 +0000 (14:25 -0700)]
test: Drop conditional compilation for suites
This is not needed anymore. If a test suite is not built, then it will
have no linker-list entries. So we can just check for that and know that
the suite is not present.
This allows removal of the #ifdefs and the need to keep them in sync
with the associated Makefile rules, which has actually failed, since the
help does not match what commands are actually present.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:56 +0000 (14:25 -0700)]
test: Drop the info test from the list
The 'info' test is not a real test. With the new suite array we can drop
this and the associated special-case code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:55 +0000 (14:25 -0700)]
test: Drop the function for running upl tests
Use the new suite-runner to run these tests instead.
It is not clear that these actually work, since they are not enabled on
sandbox for some reason.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:54 +0000 (14:25 -0700)]
test: Drop the function for running seama tests
Use the new suite-runner to run these tests instead.
It is not clear that these actually work, since they are not enabled on
sandbox for some reason.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Simon Glass [Mon, 20 Jan 2025 21:25:53 +0000 (14:25 -0700)]
test: Drop the function for running pci_mps tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:52 +0000 (14:25 -0700)]
test: Drop the function for running loadm tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:51 +0000 (14:25 -0700)]
test: Drop the function for running hush tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:50 +0000 (14:25 -0700)]
test: Drop the function for running addrmap tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:49 +0000 (14:25 -0700)]
test: Drop the function for running bootm tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:48 +0000 (14:25 -0700)]
test: Drop the function for running bloblist tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:47 +0000 (14:25 -0700)]
test: Drop the function for running measurement tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:46 +0000 (14:25 -0700)]
test: Drop the function for running setexpr tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:45 +0000 (14:25 -0700)]
test: Drop the function for running mem tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:44 +0000 (14:25 -0700)]
test: Drop the function for running mbr tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:43 +0000 (14:25 -0700)]
test: Drop the function for running log tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:42 +0000 (14:25 -0700)]
test: Drop the function for running lib tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:41 +0000 (14:25 -0700)]
test: Drop the function for running font tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:40 +0000 (14:25 -0700)]
test: Drop the function for running fdt tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:39 +0000 (14:25 -0700)]
test: Drop the function for running exit tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:38 +0000 (14:25 -0700)]
test: Drop the function for running env tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:37 +0000 (14:25 -0700)]
test: Drop the function for running dm tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:36 +0000 (14:25 -0700)]
test: Drop the function for running common tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:35 +0000 (14:25 -0700)]
test: Drop the function for running cmd tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:34 +0000 (14:25 -0700)]
test: Drop the function for running bdinfo tests
Use the new suite-runner to run these tests instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:33 +0000 (14:25 -0700)]
test: Introduce a better array of test suites
The current cmd_ut_sub[] array was fine when there were only a few test
suites. But is quite unwieldy now:
- it requires a separate do_ut_xxx for each suite, even though the code
for most is almost identical
- running more than one suite requires running multiple commands, and
there is no record of which suites passed or failed
- 'ut all' runs all suites but reports their results individually
- we need lots of #ifdefs in the array, mirroring those in the makefile
but maintained in a separate place
In fact the tests are all in the same linker list. The suites are
grouped, so it is possible to access the information without a command.
Introduce a 'suite' array, which holds the cmd_ut_...() function to
call, but can also support running a suite without that function. This
means that the array of struct cmd_tbl is transformed into an array of
'struct suite'.
This will allow removal of many of the functions, particularly those
without test-specific init.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:32 +0000 (14:25 -0700)]
test: Drop the _test suffix on linker lists
Most test suites have a _test suffix. This is not necessary as there is
also a ut_ prefix.
Drop the suffix so that (with future work) the suite name can be used as
the linker-list name.
Remove the suffix from the pytest regex as well, moving it to the top of
the file, as it is a constant.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:31 +0000 (14:25 -0700)]
test/py: Add a test which runs all unit tests
Add a Python test which runs 'ut all' and then checks that the expected
suites are present and all tests in each suite are run.
This can help to check that nothing is missing.
Update 'ut info' to ignore the 'all' suite when counting the number of
suites, since that is really just a combination of all the other suites.
Adjust the message for skipped tests so that appears even if no
particular test was selected. This helps the new 'test_suite' test see
what is going on.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:30 +0000 (14:25 -0700)]
test: Update ut info to show suites
It is helpful to see a list of available suites. At present this is
handled by the longhelp for the 'ut' command, but this is not in a
format which can be easily parsed by python tests.
Add a -s option to show this. At present it is not possible to show the
number of tests in each suite, but future work will address this. For
now, show a ?
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:29 +0000 (14:25 -0700)]
test: Rename test suites to match their linker-list name
Some suites have a different name from that used in the linker list.
That makes it hard to programmatically match the name printed when the
suite runs to the linker-list name it has.
Update the names so they are the same.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:28 +0000 (14:25 -0700)]
test: Add newlines to hush-test messages
A few messages lack a newline so the test output shows the next
test-name on the same line. For example:
Beware: this test sets local variable dollar_bar and dollar_quux
and they cannot be unset!Test: hush_test_env_dollar: dollar.c
This is confusing, so fix it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:27 +0000 (14:25 -0700)]
Improve support for linker lists in data structures
A limitation of most linker_list macros is that they cannot easily be
used in data structures. This is because they include code inside their
expressions.
Provide a way to support this, with new ll_start_decl() and
ll_end_decl() macros.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:26 +0000 (14:25 -0700)]
test: Pass the test-state into ut_run_list()
Pass this into the function so that callers can inspect the state
afterwards.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:25 +0000 (14:25 -0700)]
test: Add functions to init and uninit the test state
Move these operations into separate functions so that it is clearer what
is needed. These functions can also be called from somewhere other than
ut_run_list().
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:24 +0000 (14:25 -0700)]
test: Rename test_get_state() to ut_get_state()
Rename this function and test_set_state() so use the same ut_ prefix as
other functions in ut.h
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 20 Jan 2025 21:25:23 +0000 (14:25 -0700)]
test: Drop unused suite prototypes
Drop some the prototypes for functions which were removed in earlier
series.
Signed-off-by: Simon Glass <sjg@chromium.org>
Heinrich Schuchardt [Mon, 20 Jan 2025 08:29:32 +0000 (09:29 +0100)]
test: str_ut.c depends on CONFIG_STRTO
The string conversion functions are implemented in lib/strto.c which is
only compiled if CONFIG_STRTO=y.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Aashvij Shenai [Mon, 20 Jan 2025 08:50:42 +0000 (14:20 +0530)]
arm64: configs: Remove obsolete TI config
This config is causing conflicts with how fdtfile variable is
initialized.
For K3 devices, CONFIG_DEFAULT_DEVICE_TREE= "ti/k3-<board>.dtb".
With CONFIG_TI_FDT_FOLDER_PATH also prefixing "ti", fdtfile is then
"ti/ti/k3-<board>.dtb". This variable is updated when fitImage is
booted and fails to boot due to the parsing error "ti/ti/".
Given that there are no other users of this config other than K3 for
now, it is being removed.
Since am64x, j721e and j721s2 also define a DEFAULT_FDT_FILE, update
them to conform to the DEFAULT_DEVICE_TREE standard.
Signed-off-by: Aashvij Shenai <a-shenai@ti.com>
Marek Vasut [Tue, 21 Jan 2025 15:36:11 +0000 (16:36 +0100)]
treewide: Replace Maximumm with Maximum in Kconfig symbol description
Replace Maximumm with Maximum in Kconfig symbol description, fix a typo.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Tom Rini [Fri, 24 Jan 2025 14:48:48 +0000 (08:48 -0600)]
Merge tag 'u-boot-dfu-
20250124' of https://source.denx.de/u-boot/custodians/u-boot-dfu
CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/24323
Android:
- Fix kcmdline null pointer dereference (reported by coverity and
multiple users)
- Move Igor to reviewers instead of maintainers for avb/ab
- Fix booting Android with AVB built-in, but disabled via
fastboot flash --disable-verity vbmeta vbmeta.img
Tom Rini [Fri, 24 Jan 2025 04:40:25 +0000 (22:40 -0600)]
Merge tag 'u-boot-socfpga-next-
20250124' of https://source.denx.de/u-boot/custodians/u-boot-socfpga
1. Bug fixed for doorbell in secure device manager mailbox driver
2. Enhancement on SoCFPGA dwc_eth_xgmac driver
3. Enhancement on DW MAC driver
4. Improved the error message and status for SoC64 device FPGA
configuration driver
5. Updated existing watchdog in system manager to support new SM device
Boon Khai Ng [Fri, 17 Jan 2025 06:33:31 +0000 (14:33 +0800)]
fpga: intel_sdm_mb: add support for query SDM config error and status
Currently the FPGA reconfig status only return a single error status
which make the debugging of FPGA reconfiguration hard.
This patch is to expose the error status, major error code and
minor error code, for the FPGA reconfig to upper layer app.
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
Boon Khai Ng [Fri, 17 Jan 2025 06:14:02 +0000 (14:14 +0800)]
net: dwc_eth_xgmac_socfpga: Add support for distinct mac-mode and phy mode.
This patch adds support for configuring the ethernet MAC mode independently
from the PHY mode on our SoC FPGA board. Specifically, this is necessary
for a scenario where the ethernet controller MAC is connected to the
FPGA HVIO with a different GMII interface, and the FPGA output is routed
to the PHY using a RGMII interface.
To support this configuration, a mechanism is introduced to handle
separate MAC mode settings, ensuring that the MAC controller and PHY
can operate correctly with their respective interface modes.
If mac-mode is not defined, the MAC mode will default to the PHY mode,
ensuring compatibility and proper operation between the MAC and PHY.
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
Boon Khai Ng [Fri, 17 Jan 2025 06:48:23 +0000 (14:48 +0800)]
net: dwc_eth_xgmac: Add device name for the error message.
Agilex5 having several ethernet instance, adding the device
name at the error message to differentiate between which
instance is having issue.
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
Boon Khai Ng [Fri, 17 Jan 2025 06:56:25 +0000 (14:56 +0800)]
net: dwc_eth_xgmac_socfpga: Add support for rgmii-id mode.
An issue was identified where selecting the phy-mode as
rgmii-id in the device tree source (DTS) would cause the
`dwc_eth_xgmac_socfpga` driver to raise an unsupported phy mode error.
From the MAC controller's perspective, the rgmii and rgmii-id
phy modes are effectively identical. To address this, both
modes will now be configured to rgmii in the MAC controller.
This change ensures that the rgmii-id phy mode is properly
supported without error.
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
Rufus Segar [Wed, 4 Dec 2024 11:21:27 +0000 (11:21 +0000)]
net: designware: socfpga: Add RGMII-ID support
This patch adds support for the "rgmii-id", "rgmii-rxid", and
"rgmii-txid" modes for the dwmac_socfpga driver.
Signed-off-by: Rufus Segar <rhs@riseup.net>
Alif Zakuan Yuslaimi [Wed, 22 Jan 2025 02:21:02 +0000 (10:21 +0800)]
arch: arm: mach-socfpga: Mailbox buffer and SDM doorbell improvement
The current write and notify SDM to read mechanism has a flaw where
SDM is not notified enough to be able to read all the data in the buffer.
This is caused by SDM doorbell will only be sent out once the command
buffer overflow check is satisfied. If the command buffer does not reach
overflow status, no SDM doorbell will be sent out, which may cause a
timeout as the mailbox driver will be waiting for the SDM to read the
buffer to empty even though SDM is not notified to do so.
The solution is to remove the command buffer overflow check
and set the SDM doorbell to always trigger at the end of the command
buffer.
This will ensure that the SDM is able to read all of the data.
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Muhammad Hazim Izzat Zamri [Mon, 13 Jan 2025 02:08:07 +0000 (10:08 +0800)]
arm: socfpga:agilex5: Fix system manager watchdog mode setting
This commit is to fix the system manager watchdog mode setting to support
until mode_4 for Agilex5. This changes can refer to system manager register
map on wddbg fields.
In Agilex7 it is not detected as an issue because Agilex7 only have 4 watchdog
until mode_3 and it is already been set correctly for it to halt on any CPU in
debug mode. However, in Agilex5 this fix is needed in order to enable the watchdog
pause feature for mode_4 when entering debug mode. If 0xF is not been set on mode_4,
the Watchdog Timers will not halt on any CPU. As by default value, the pause signal
does not assert when any CPU is in debug mode and the watchdog continue to count.
Signed-off-by: Muhammad Hazim Izzat Zamri <muhammad.hazim.izzat.zamri@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
Tom Rini [Fri, 24 Jan 2025 00:50:23 +0000 (18:50 -0600)]
Merge patch series "MediaTek ethernet driver refactor and updates"
Weijie Gao <weijie.gao@mediatek.com> says:
This patch series will split the switch initialization code from mtk_eth
driver into their own files and then add new SoC and switch support.
Link: https://lore.kernel.org/r/cover.1736498083.git.weijie.gao@mediatek.com
Tom Rini [Fri, 24 Jan 2025 00:45:56 +0000 (18:45 -0600)]
Merge patch series "Add bitbang feature for npcm8xx and driver"
Michael Chang <zhang971090220@gmail.com> says:
I am resubmitting the patch titled "Add bitbang feature for npcm8xx
and driver" for review and inclusion in the upstream project.
Driver didn't support bitbang feature.
Add bb_miiphy_bus function for driver and open feature for npcm8xx
the log is as below:
-------------------------------------------------
U-Boot 2024.10-g30b9cdaf2df5-dirty (Jan 09 2025 - 00:57:37 +0000)
CPU-0: NPCM845 A1 @ Model: Nuvoton npcm845 Development Board (Device Tree)
DRAM: 1 GiB
RNG: NPCM RNG module bind OK
OTP: NPCM OTP module bind OK
AES: NPCM AES module bind OK
SHA: NPCM SHA module bind OK
I/TC: Reserved shared memory is enabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
Core: 649 devices, 28 uclasses, devicetree: separate
WDT: Not starting watchdog@901c
MMC: sdhci@
f0842000: 0
Loading Environment from SPIFlash... SF:
Detected w25q512jvq with page size 256 Bytes, erase size 64 KiB,
total 64 MiB
OK
In: serial@0
Out: serial@0
Err: serial@0
Net: eth0: eth@
f0802000, eth1: eth@
f0804000, eth3: eth@
f0808000
Hit any key to stop autoboot: 0
U-Boot>
U-Boot>
U-Boot>setenv ipaddr 192.168.16.3
U-Boot>ping 192.168.16.12
eth@
f0802000 Waiting for PHY auto negotiation to complete
......... TIMEOUT !
Could not initialize PHY eth@
f0802000
eth@
f0804000 Waiting for PHY auto negotiation to complete
......... TIMEOUT !
Could not initialize PHY eth@
f0804000
Speed: 100, full duplex
Using eth@
f0808000 device
host 192.168.16.12 is alive
Link: https://lore.kernel.org/r/20250117104540.1580343-1-zhang971090220@gmail.com
Michael Chang [Fri, 17 Jan 2025 10:45:40 +0000 (18:45 +0800)]
net: designware: Add bitbang feature for designware driver.
Add bb_miiphy_bus function for designware bitbang feature.
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Signed-off-by: Michael Chang <zhang971090220@gmail.com>
Michael Chang [Fri, 17 Jan 2025 10:45:39 +0000 (18:45 +0800)]
ARM: configs: nuvoton: add bitbang feature for npcm8xx.
Enable bitbang and multiple bitbang feature for npcm8xx platform.
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Signed-off-by: Michael Chang <zhang971090220@gmail.com>
Michael Chang [Fri, 17 Jan 2025 10:45:38 +0000 (18:45 +0800)]
ARM: dts: nuvoton: Add bitbang delay through dts properties.
Add bitbang delay through dts properties.
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Signed-off-by: Michael Chang <zhang971090220@gmail.com>
Weijie Gao [Fri, 10 Jan 2025 08:41:24 +0000 (16:41 +0800)]
net: mediatek: add support for Airoha AN8855 ethernet switch
Airoha AN8855 is a 5-port gigabit switch with a 2.5G HSGMII CPU port
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 10 Jan 2025 08:41:20 +0000 (16:41 +0800)]
net: mediatek: add support for MediaTek MT7987 SoC
This patch adds support for MediaTek MT7987.
MT7987 features MediaTek NETSYS v3, similar to MT7988, features three GMACs
which support 2.5Gb HSGMII. One 2.5Gb PHY is also embedded an can be
connected to a dedicated GMAC.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 10 Jan 2025 08:41:13 +0000 (16:41 +0800)]
net: mediatek: split ethernet switch code from mtk_eth.c
mtk_eth.c contains not only the ethernet GMAC/DMA driver, but also
some ethernet switch initialization code. As we may add more switch
support in the future, it's better to move them out of mtk_eth.c to
avoid increasing the code complexity.
Since not all switches are supported for a particular board, Kconfig
options are added to allow user to select which switch should be
built into u-boot. If multiple switches are selected, auto-detecting
can also be enabled.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Daniel Schultz [Thu, 16 Jan 2025 11:29:32 +0000 (03:29 -0800)]
configs: phycore_am64x_a53_defconfig: Fix environment
Enable ENV_OVERWRITE to allow environment variables to be
overwritten within the board code. This is required to add
MAC addresses during SOM detection.
Additionally, set ENV_IS_NOWHERE for boot sources other than MMC.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Daniel Schultz [Thu, 16 Jan 2025 11:29:31 +0000 (03:29 -0800)]
configs: phycore_am64x_a53_defconfig: Enable GPIO command
Enable the GPIO command to allow access to the GPIO pins.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Daniel Schultz [Thu, 16 Jan 2025 11:29:30 +0000 (03:29 -0800)]
configs: phycore_am64x_a53_defconfig: Fix GPIO controllers
The phyBOARD-Electra does not include a PCA953x I2C GPIO multiplexer.
Remove this configuration as it is a remnant from another
defconfig, and enable CONFIG_DA8XX_GPIO for the DA8XX DaVinci GPIO
controller instead.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Daniel Schultz [Thu, 16 Jan 2025 11:29:29 +0000 (03:29 -0800)]
board: phytec: common: k3: Add missing boot source to env
We set the boot source as environment variable 'boot'.
Also include 'uart' and 'usbdfu' as possible boot sources.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Daniel Schultz [Wed, 15 Jan 2025 10:38:13 +0000 (02:38 -0800)]
configs: phycore_am62x_r5_defconfig: Increase SPL Malloc Pool
Increase the malloc pool size for the SPL by additional 4kB from
0x7000 to 0x8000.
This fixes following error message:
...
alloc space exhausted ptr 7028 limit 7000
DRAM init failed: -12
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Wadim Egorov [Wed, 15 Jan 2025 09:41:29 +0000 (10:41 +0100)]
board: phytec: phycore-am62x: Add DDR size fixups if ECC is enabled
With commit
22ce56a3ebdb ("ram: k3-ddrss: Add k3_ddrss_ddr_bank_base_size_calc()
to solve 'calculations restricted to 32 bits' issue") we need to provide the
detected RAM size in the device tree node prio to K3 DDRSS driver probe.
This is done by calling fdt_fixup_memory_banks() in do_board_detect().
After probing, call into k3-ddrss driver to fixup device tree and resize
the available amount of DDR if ECC is enabled.
A third fixup is required from A53 SPL to take the fixup
as done from R5 SPL and apply it to DT passed to A53 U-boot,
which in turn passes this to the OS.
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Tom Rini [Thu, 23 Jan 2025 14:20:42 +0000 (08:20 -0600)]
Merge patch series "Cumulative fixes and updates for MediaTek platform"
Weijie Gao <weijie.gao@mediatek.com> says:
This patch series contains fixes and updates for MediaTek platform,
including drivers, board and arch files.
Link: https://lore.kernel.org/r/cover.1737104723.git.weijie.gao@mediatek.com
Weijie Gao [Fri, 17 Jan 2025 09:18:59 +0000 (17:18 +0800)]
MAINTAINERS: update file list for MediaTek ARM platform
Add driver files for MediaTek ARM platform
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:55 +0000 (17:18 +0800)]
arm: dts: mediatek: update mt7981 mmc node
1. Fix mmc clock order of mt7981 to match the clock name
2. Limit the max clock of SD to 50MHz to meet SD Card Spec 2.0
3. Increase the CLK pin driving strength to 8mA
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:41 +0000 (17:18 +0800)]
arm: dts: medaitek: add flash interface driving settings for mt7988
Add driving settings for both SPI and SD/eMMC interfaces to support ensure
flash devices is accessible for ram-booting.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:27 +0000 (17:18 +0800)]
arm: dts: mediatek: add support for all three GMACs for mt7988
This patch add all three GMACs nodes for mt7988. Each GMAC can be
configured to connect to different ethernet switches/PHYs.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:22 +0000 (17:18 +0800)]
arm: dts: medaitek: fix internal switch link speed of mt7988
The CPU port of mt7988 internal switch uses 10Gb link speed.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:17 +0000 (17:18 +0800)]
arm: dts: mediatek: add pcie support for mt7988
This patch adds PCIe support for mt7988
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:11 +0000 (17:18 +0800)]
pci: mediatek: add support for multiple ports in mediatek pcie gen3 driver
One MediaTek PCIe Gen3 controller has only one port, where PCI bus 0
on this port represents the controller itself and bus 1 represents
the external PCIe device.
If multiple PCIe controllers are probed in U-Boot, U-Boot will use
bus numbers greater than 2 as input parameters. Therefore, we should
convert the BDF bus number to either 0 or 1 by subtracting the
offset by controller->seq_.
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:06 +0000 (17:18 +0800)]
pwm: mediatek: add pwm3 support for mt7981
This patch adds pwm channel 2 (pwm3) support for mt7981
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:18:01 +0000 (17:18 +0800)]
arm: dts: mediatek: add quad mode capabilities for SPI flashes
Explicitly add quad mode capabilities or the SPI controller may
start transfer in single mode.
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:17:55 +0000 (17:17 +0800)]
spi: mtk_spim: check slave device mode in spi-mem's supports_op
Call spi_mem_default_supports_op() in supports_op to honor the
slave's supported single/dual/quad mode settings.
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:17:51 +0000 (17:17 +0800)]
spi: mtk_spim: add support to use DT live tree
Change devfdt_get_addr_ptr to dev_read_addr_ptr to support DT live tree.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:17:44 +0000 (17:17 +0800)]
configs: mt7988: move image load address to 0x44000000
This patch sets mt7988 image load address to 0x44000000 to support loading
larger images.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:17:38 +0000 (17:17 +0800)]
configs: mt7629: move image load address to 0x42000000
Update the image load address to ensure it matches the mt7629 NOR
controller's DMA alignment requirements.
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:16:38 +0000 (17:16 +0800)]
clk: mediatek: fix uninitialized fields issue in INFRA_MUX struct
This patch adds missing initialization of fields in INFRA_MUX struct
which caused uart broken after any other infra mux being enabled by
'clk_prepare_enable'
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao [Fri, 17 Jan 2025 09:16:33 +0000 (17:16 +0800)]
board: mediatek: mt7622: remove board_late_init
The function board_late_init defined for mt7622 is useless now. Just
remove it.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Mattijs Korpershoek [Wed, 8 Jan 2025 14:38:42 +0000 (15:38 +0100)]
bootstd: android: Allow boot with AVB failures when unlocked
When the bootloader is UNLOCKED, it should be possible to boot Android
even if AVB reports verification errors [1].
This allows developers to flash modified partitions on
userdebug/engineering builds.
Developers can do so on unlocked devices with:
$ fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img
In such case, bootmeth_android refuses to boot.
Allow the boot to continue when the device is UNLOCKED and AVB reports
verification errors.
[1] https://source.android.com/docs/security/features/verifiedboot/boot-flow#unlocked-devices
Fixes:
125d9f3306ea ("bootstd: Add a bootmeth for Android")
Reviewed-by: Julien Masson <jmasson@baylibre.com>
Link: https://lore.kernel.org/r/20250108-avb-disable-verif-v2-2-ba7d3b0d5b6a@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>