pandora-u-boot.git
4 months agoarm: dts: mediatek: add USB nodes for MT7981
John Crispin [Mon, 27 Jan 2025 13:40:44 +0000 (14:40 +0100)]
arm: dts: mediatek: add USB nodes for MT7981

Add USB PHY nodes for MT7981. These are needed for USB support and also
for PCIe support as the u3 PHY can also be used for PHY.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
Tested-by: Weijie Gao <weijie.gao@mediatek.com>
4 months agomediatek: mt7981: move gpio-controller up and rename pinctrl to pio
Christian Marangi [Mon, 27 Jan 2025 13:40:43 +0000 (14:40 +0100)]
mediatek: mt7981: 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>
4 months agomediatek: mt7988: move gpio-controller up and rename pinctrl to pio
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>
4 months agopinctrl: mediatek: mt7988: rename reg-names to upstream linux format
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>
4 months agomediatek: mt7986: move gpio-controller up and rename pinctrl to pio
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>
4 months agopinctrl: mediatek: mt7986: rename reg-names to upstream linux format
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>
4 months agopinctrl: mediatek: mt7981: rename reg-names to upstream linux format
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>
4 months agonet: fsl_enetc: Enable optional ENETREF clock on i.MX95
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>
4 months agopinctrl: imx: Split MMIO accessors into pinctrl-imx-mmio.c
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>
4 months agopinctrl: imx: Fold imx_pinctrl_set_state_scu() from pinctrl-imx8.c
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>
4 months agopinctrl: imx: Split imx_pinctrl_set_state_scu() from imx_pinctrl_set_state_mmio()
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>
4 months agopinctrl: imx: Split imx_pinctrl_set_state() into common and mmio parts
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>
4 months agopinctrl: imx: Rename imx_pinctrl_remove() to imx_pinctrl_remove_mmio()
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>
4 months agopinctrl: imx: Split imx_pinctrl_probe() into common and mmio parts
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>
4 months agopinctrl: imx: Inline struct imx_pinctrl_soc_info access into probe
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>
4 months agopinctrl: imx: Drop .remove callback for SCU variant
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>
4 months agopinctrl: imx: Rename imx_pinctrl_ops to match drivers
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>
4 months agopinctrl: imx: Push imx_pinctrl_ops into drivers and staticize
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>
4 months agoarm: dts: imx8m*-u-boot: remove optional from tee-os entry
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>
4 months agoMerge patch series "test: Improvements to ut command and test-suite running"
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
4 months agodoc: Update ut documentation
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>
4 months agotest: Move help into the suite declaration
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>
4 months agotest: Disable test_suite
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>
4 months agotest: Sort the test suites
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>
4 months agotest: Record and show the totals for all test runs
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>
4 months agotest: Move stat-printing into its own function
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>
4 months agotest: Keep a track of the numbers of tests run
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>
4 months agotest: Move stats into a struct
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>
4 months agotest: Pass the test state to cmd_ut_category()
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>
4 months agotest: Drop conditional compilation for suites
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>
4 months agotest: Drop the info test from the list
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>
4 months agotest: Drop the function for running upl tests
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>
4 months agotest: Drop the function for running seama tests
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>
4 months agotest: Drop the function for running pci_mps tests
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>
4 months agotest: Drop the function for running loadm tests
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>
4 months agotest: Drop the function for running hush tests
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>
4 months agotest: Drop the function for running addrmap tests
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>
4 months agotest: Drop the function for running bootm tests
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>
4 months agotest: Drop the function for running bloblist tests
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>
4 months agotest: Drop the function for running measurement tests
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>
4 months agotest: Drop the function for running setexpr tests
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>
4 months agotest: Drop the function for running mem tests
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>
4 months agotest: Drop the function for running mbr tests
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>
4 months agotest: Drop the function for running log tests
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>
4 months agotest: Drop the function for running lib tests
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>
4 months agotest: Drop the function for running font tests
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>
4 months agotest: Drop the function for running fdt tests
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>
4 months agotest: Drop the function for running exit tests
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>
4 months agotest: Drop the function for running env tests
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>
4 months agotest: Drop the function for running dm tests
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>
4 months agotest: Drop the function for running common tests
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>
4 months agotest: Drop the function for running cmd tests
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>
4 months agotest: Drop the function for running bdinfo tests
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>
4 months agotest: Introduce a better array of test suites
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>
4 months agotest: Drop the _test suffix on linker lists
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>
4 months agotest/py: Add a test which runs all unit tests
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>
4 months agotest: Update ut info to show suites
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>
4 months agotest: Rename test suites to match their linker-list name
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>
4 months agotest: Add newlines to hush-test messages
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>
4 months agoImprove support for linker lists in data structures
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>
4 months agotest: Pass the test-state into ut_run_list()
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>
4 months agotest: Add functions to init and uninit the test state
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>
4 months agotest: Rename test_get_state() to ut_get_state()
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>
4 months agotest: Drop unused suite prototypes
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>
4 months agotest: str_ut.c depends on CONFIG_STRTO
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>
4 months agoarm64: configs: Remove obsolete TI config
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>
4 months agotreewide: Replace Maximumm with Maximum in Kconfig symbol description
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>
4 months agoMerge tag 'u-boot-dfu-20250124' of https://source.denx.de/u-boot/custodians/u-boot-dfu
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

4 months agoMerge tag 'u-boot-socfpga-next-20250124' of https://source.denx.de/u-boot/custodians...
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

4 months agofpga: intel_sdm_mb: add support for query SDM config error and status
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>
4 months agonet: dwc_eth_xgmac_socfpga: Add support for distinct mac-mode and phy mode.
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>
4 months agonet: dwc_eth_xgmac: Add device name for the error message.
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>
4 months agonet: dwc_eth_xgmac_socfpga: Add support for rgmii-id mode.
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>
4 months agonet: designware: socfpga: Add RGMII-ID support
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>
4 months agoarch: arm: mach-socfpga: Mailbox buffer and SDM doorbell improvement
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>
4 months agoarm: socfpga:agilex5: Fix system manager watchdog mode setting
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>
4 months agoMerge patch series "MediaTek ethernet driver refactor and updates"
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
4 months agoMerge patch series "Add bitbang feature for npcm8xx and driver"
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
4 months agonet: designware: Add bitbang feature for designware driver.
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>
4 months agoARM: configs: nuvoton: add bitbang feature for npcm8xx.
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>
4 months agoARM: dts: nuvoton: Add bitbang delay through dts properties.
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>
4 months agonet: mediatek: add support for Airoha AN8855 ethernet switch
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>
4 months agonet: mediatek: add support for MediaTek MT7987 SoC
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>
4 months agonet: mediatek: split ethernet switch code from mtk_eth.c
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>
4 months agoconfigs: phycore_am64x_a53_defconfig: Fix environment
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>
4 months agoconfigs: phycore_am64x_a53_defconfig: Enable GPIO command
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>
4 months agoconfigs: phycore_am64x_a53_defconfig: Fix GPIO controllers
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>
4 months agoboard: phytec: common: k3: Add missing boot source to env
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>
4 months agoconfigs: phycore_am62x_r5_defconfig: Increase SPL Malloc Pool
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>
4 months agoboard: phytec: phycore-am62x: Add DDR size fixups if ECC is enabled
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>
4 months agoMerge patch series "Cumulative fixes and updates for MediaTek platform"
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
4 months agoMAINTAINERS: update file list for MediaTek ARM platform
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>
4 months agoarm: dts: mediatek: update mt7981 mmc node
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>
4 months agoarm: dts: medaitek: add flash interface driving settings for mt7988
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>
4 months agoarm: dts: mediatek: add support for all three GMACs for mt7988
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>
4 months agoarm: dts: medaitek: fix internal switch link speed of mt7988
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>
4 months agoarm: dts: mediatek: add pcie support for mt7988
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>
4 months agopci: mediatek: add support for multiple ports in mediatek pcie gen3 driver
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>
4 months agopwm: mediatek: add pwm3 support for mt7981
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>
4 months agoarm: dts: mediatek: add quad mode capabilities for SPI flashes
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>