Christian Marangi [Mon, 27 Jan 2025 13:40:42 +0000 (14:40 +0100)]
mediatek: mt7988: move gpio-controller up and rename pinctrl to pio
Move gpio-controller up to pinctrl node and rename label to "pio" to
match the label used in upstream kernel linux.
Update any DTS that reference the pinctrl to follow the new naming and
structure.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
Christian Marangi [Mon, 27 Jan 2025 13:40:41 +0000 (14:40 +0100)]
pinctrl: mediatek: mt7988: rename reg-names to upstream linux format
Rename reg-names to upstream linux format. Upstream linux drop the
"_base". To make use of upstream DTSI, align to the upstream naming.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
Christian Marangi [Mon, 27 Jan 2025 13:40:40 +0000 (14:40 +0100)]
mediatek: mt7986: move gpio-controller up and rename pinctrl to pio
Move gpio-controller up to pinctrl node and rename label to "pio" to
match the label used in upstream kernel linux.
Update any DTS that reference the pinctrl to follow the new naming and
structure.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
Christian Marangi [Mon, 27 Jan 2025 13:40:39 +0000 (14:40 +0100)]
pinctrl: mediatek: mt7986: rename reg-names to upstream linux format
Rename reg-names to upstream linux format. Upstream linux drop the
"_base". To make use of upstream DTSI, align to the upstream naming.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
Christian Marangi [Mon, 27 Jan 2025 13:40:38 +0000 (14:40 +0100)]
pinctrl: mediatek: mt7981: rename reg-names to upstream linux format
Rename reg-names to upstream linux format. Upstream linux drop the
"_base". To make use of upstream DTSI, align to the upstream naming.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
Marek Vasut [Mon, 27 Jan 2025 01:02:08 +0000 (02:02 +0100)]
net: fsl_enetc: Enable optional ENETREF clock on i.MX95
The ENETCv4 port DT nodes on i.MX95 may contain optional clock phandle
to IMX95_CLK_ENETREF "ref" clock. These "ref" clock must be enabled for
the ethernet to work. These "ref" clock are enabled after cold boot, but
when the system booted Linux and rebooted, those "ref" clock might have
been disabled in the process, which would make ethernet inoperable after
reboot. Make sure those "ref" clock are always correctly enabled.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:59 +0000 (15:50 +0100)]
pinctrl: imx: Split MMIO accessors into pinctrl-imx-mmio.c
Split MMIO accessors into pinctrl-imx-mmio.c and build this
file only if Kconfig symbol PINCTRL_IMX_MMIO is selected.
Select PINCTRL_IMX_MMIO Kconfig symbol for all but pinctrl-imx8.c
driver, which does not use the MMIO accessors. This reduces the
amount of code compiled on platforms which do not use the code.
No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:58 +0000 (15:50 +0100)]
pinctrl: imx: Fold imx_pinctrl_set_state_scu() from pinctrl-imx8.c
The only user of the SCU pinctrl code is pinctrl-imx8.c , fold
the entire pinctrl-scu.c code into pinctrl-imx8.c and remove the
matching Kconfig symbols and Makefile entries. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:57 +0000 (15:50 +0100)]
pinctrl: imx: Split imx_pinctrl_set_state_scu() from imx_pinctrl_set_state_mmio()
Call imx_pinctrl_set_state_common() from imx_pinctrl_scu_conf_pins(),
rename imx_pinctrl_scu_conf_pins() to imx_pinctrl_set_state_scu().
Get rid of the unnecessary ifdeffery in pinctrl-imx.h in the process.
Remove all SCU support from pinctrl-imx.c imx_pinctrl_set_state_mmio()
which makes that function a pure MMIO pinctrl configuration accessor.
Update pinctrl-imx8.c to call imx_pinctrl_set_state_scu directly.
No functional change.
This patch is best viewed with git show -w due to indent change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:56 +0000 (15:50 +0100)]
pinctrl: imx: Split imx_pinctrl_set_state() into common and mmio parts
Split imx_pinctrl_set_state() into imx_pinctrl_set_state_common() and
imx_pinctrl_set_state_mmio(). The former does the common configuration
parsing, the later does call imx_pinctrl_set_state_common() and then
does pin configuration using either SCU or MMIO accesses. The SCU part
is going to be moved out in follow up patches.
This is a preparatory patch for follow up pinctrl drivers which
do not use the MMIO accessors, but some other means, like SCU or
otherwise. Those will call the common imx_pinctrl_set_state_common()
function wrapped into some other imx_pinctrl_set_state_*() function,
in a way similar to imx_pinctrl_set_state_mmio() does so for MMIO
accesses.
Update all imx_pinctrl_set_state_mmio() call sites to call
imx_pinctrl_set_state_mmio() instead.
No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:55 +0000 (15:50 +0100)]
pinctrl: imx: Rename imx_pinctrl_remove() to imx_pinctrl_remove_mmio()
The current implementation of imx_pinctrl_remove() is specific
to the MMIO accessor implementation, rename the function to
imx_pinctrl_remove_mmio() to make this obvious. No functional
change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:54 +0000 (15:50 +0100)]
pinctrl: imx: Split imx_pinctrl_probe() into common and mmio parts
Split imx_pinctrl_probe() into imx_pinctrl_probe_common() and
imx_pinctrl_probe_mmio(). The former does the common setup, the
later does the common setup and MMIO access configuration. The
common setup can be used as-is for SCU based systems, update
the pinctrl-imx8 to call only the common setup, update all the
other pinctrl drivers to call imx_pinctrl_probe_mmio().
No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:53 +0000 (15:50 +0100)]
pinctrl: imx: Inline struct imx_pinctrl_soc_info access into probe
The probe function is identical across all the pinctrl drivers.
Inline the imx_pinctrl_soc_info access into imx_pinctrl_probe()
and drop all the duplicate probe functions. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:52 +0000 (15:50 +0100)]
pinctrl: imx: Drop .remove callback for SCU variant
The return callback for SCU variant of the pinctrl drivers does
nothing but returns 0. Remove the return callback from the SCU
driver itself, that has the same effect. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:51 +0000 (15:50 +0100)]
pinctrl: imx: Rename imx_pinctrl_ops to match drivers
Rename the structure instances to match driver names, so they
can be easily looked up e.g. in objdump and readelf outputs.
No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Marek Vasut [Fri, 24 Jan 2025 14:50:50 +0000 (15:50 +0100)]
pinctrl: imx: Push imx_pinctrl_ops into drivers and staticize
Move imx_pinctrl_ops into drivers and staticize. This is preparatory
patch for follow up pinctrl drivers which will not use this variant
of imx_pinctrl_ops content. This should not change size, as most of
the deployments compiled in one pinctrl driver anyway. No functional
change.
Signed-off-by: Marek Vasut <marex@denx.de>
Yannic Moog [Wed, 22 Jan 2025 07:42:02 +0000 (08:42 +0100)]
arm: dts: imx8m*-u-boot: remove optional from tee-os entry
tee-os node is guarded by CONFIG_OPTEE. Since OPTEE adds driver support
for OP-TEE, the binary should then be packaged in the bootable image.
Remove the optional property to enforce this requirement.
Signed-off-by: Yannic Moog <y.moog@phytec.de>
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>