93333 Commits

Author SHA1 Message Date
Sumit Garg
2e1d901d92 clk: imx8mp: Add support for PCIe clocks
Add support for PCIe clocks required to enable PCIe support on
iMX8MP SoC.

Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice*
Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon-kit
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2024-03-24 13:35:59 -03:00
MD Danish Anwar
fb49d6c289 remoteproc: uclass: Add methods to load firmware to rproc and boot rproc
Add APIs to set a firmware_name to a rproc and boot the rproc with the
same firmware.

Clients can call rproc_set_firmware() API to set firmware_name for a rproc
whereas rproc_boot() will load the firmware set by rproc_set_firmware() to
a buffer by calling request_firmware_into_buf(). rproc_boot() will then
load the firmware file to the remote processor and start the remote
processor.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
2024-03-22 15:50:28 -04:00
Hari Nagalla
df479dde31 remoteproc: k3-dsp: Extend support for C71x DSPs on J721S2 SoCs
The K3 J721S2 SoCs have two C71x DSP subsystems in MAIN voltage domain,
and there are no C66x DSP subsystems on these SoCs. The C71x DSP subsystem
is a slighly updated version of the C71x DSP subsystem on J721e. The
C71x DSPs are 64 bit machine with fixed and floating point DSP
operations.

Extend support to the C71x DSPs with J721S2 compatible strings.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2024-03-22 15:50:21 -04:00
Hari Nagalla
f732b8747f remoteproc: k3-r5: Extend support for R5F clusters on J721S2 SoCs
The K3 J721S2 SoCs have three dual-core R5F subsystems, one in MCU
voltage domain and the other two in MAIN voltage domain. These R5F
clusters are similar to the R5F clusters in J7200 SoCs.

Compatible Info is updated to support J721S2 SoCs.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Apurva Nandan <a-nandan@ti.com>
2024-03-22 15:50:21 -04:00
Hiago De Franco
bd0aedde3e board: toradex: verdin-am62_r5: Increase SPL_STACK_R_MALLOC_SIMPLE_LEN
Increase the SPL_STACK_R_MALLOC_SIMPLE_LEN to 0x200000 to accommodate the
size of tispl.bin fit image. With the recent upgrade of ti-linux-firmware
from version v9.1.0 to v9.2.5, the size of tispl.bin fit image has
increased to 1.4MB, causing allocation errors in the R5 SPL:

```
alloc space exhausted
Could not get FIT buffer of 1325056 bytes
        check CONFIG_SPL_SYS_MALLOC_SIZE
```

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-03-22 11:10:51 -04:00
Heinrich Schuchardt
1e3a2c0a4a .mailmap entry for Masahisa Kojima
The Linaro mail address is not valid anymore.

Cc: kojima.masahisa@socionext.com
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Masahisa Kojima <kojima.masahisa@socionext.com>
2024-03-22 11:10:47 -04:00
Joao Paulo Goncalves
2bb18248c6 arm: dts: k3-am625-verdin-r5: Change CPU frequency to 800MHz
The lowest speed grade of Toradex AM62 SoMs is K speed, resulting in a
max value of 800MHz for the CPU operating frequency. A solution with
runtime selection of the CPU frequency is already planned to avoid these
kinds of problems in the future.

Fixes: 8fb8a6d49977 ("arm: dts: k3-am625-verdin-r5:Change CPU frequency to 1000MHz")
Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2024-03-22 11:10:44 -04:00
Fabio Estevam
f0e997dc61 clk: clk-imx8qm: Add LPUART IPG entries
Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the apalis-imx8qm board no longer boots.

The reason is that the imx8qm clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.

Fix the boot regression by adding the LPUART IPG entries.

Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-03-22 11:10:39 -04:00
Fabio Estevam
bcbd1364cb clk: clk-imx8qxp: Add LPUART IPG entries
Since commit cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
the colibri-imx8qxp board no longer boots.

The reason is that the imx8qxp clock driver does not handle the
LPUART IPG clocks inside get_rate(), set_rate() and enable() functions.

Fix the boot regression by adding the LPUART IPG entries.

Fixes: cc7df0b9e8bc ("serial: lpuart: Enable IPG clock")
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X
Acked-by: Sean Anderson <seanga2@gmail.com>
2024-03-22 11:10:39 -04:00
Michal Simek
3d3cb2857e arm64: zynqmp: Do not describe u-boot.itb if SPL is disabled
There is no reason to describe u-boot.itb on system without SPL. Pretty
much this is cover all systems which are using only boot.bin which contains
all images inside.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/561f9d0ee96ebb6cd674042f269f280ab68fbbac.1708705118.git.michal.simek@amd.com
2024-03-22 12:55:52 +01:00
Michal Simek
425b85158f arm64: zynqmp: Do not setup default SPL options without SPL
mach Kconfig file select some options independently of if SPL is actually
enabled. It ends up in situation that SPL is disabled but symbols are still
present in .config. That's why add SPL dependency for them but also group
them with other SPL options in ARCH_ZYNQMP fragment with using imply
option. This should ensure the same behavior as default y.

Also fixed SPL_ZYNQMP_PSU_INIT_ENABLED for the same.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/8dc4b799d36f963a3e1ebb5b24793632dc360b61.1710258674.git.michal.simek@amd.com
2024-03-22 12:55:08 +01:00
Venkatesh Yadav Abbarapu
8da257f4da xilinx: versal-net: Add support for saving env based on bootmode
Enable saving variables to MMC(FAT) and SPI based on primary
bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE).

Enable ENV_FAT_DEVICE_AND_PART="0:auto" for versal-net platform as well.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20240312113421.7394-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-03-22 12:41:31 +01:00
Caleb Connolly
42839c0fdf iommu: qcom-smmu: fix debugging
The priv struct was wrong in dump_boot_mappings(). Causing errors when
compiling with -DDEBUG. Fix this.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240320-b4-qcom-usb-v4-5-41be480172e1@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-03-22 10:17:34 +01:00
Caleb Connolly
304fa0aa44 usb: gadget: UMS: support multiple sector sizes
UFS storage often uses a 4096-byte sector size, add support for dynamic
sector sizes based loosely on the Linux implementation.

Support for dynamic sector sizes changes the types used in some
divisions, resulting in the compiler attempting to use
libgcc helpers (__aeabi_ldivmod).
Replace these divisions with calls to lldiv() to handle this correctly.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240320-b4-qcom-usb-v4-4-41be480172e1@linaro.org
[mkorpershoek: squashed the lldiv() fix from caleb]
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-03-22 10:16:13 +01:00
Caleb Connolly
341a172ef7 usb: gadget: CDC ACM: call usb_gadget_initialize
To actually use the gadget the peripheral driver must be probed and we
must call g_dnl_clear_detach(). Otherwise acm_stdio_start() will always
fail to find a UDC on DT platforms.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240320-b4-qcom-usb-v4-3-41be480172e1@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-03-22 10:16:13 +01:00
Tom Rini
5397daaed8 Pull request efi-2024-04-rc5-2
Documentation:
 
 * patman: Properly document the patchwork_url setting
 * doc: man-page for if
 * colibri-imx8x, apalis-imx8: update board documentation
 
 UEFI:
 
 * correct handling of EFI binary return code
 * don't show usage help if EFI binary fails.
 * correct error handling for bootefi selftest command
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmX7524ACgkQhO4vgnE3
 U0v8hg//fSetKqpliNYMwWZ2YU37U6dVo12tjkAuQl2XDhPpdOu6JbO1DpGD/J7/
 sE1Ldi6Ngl5svdE5T0QMhyWxpqWIjwpAUYA8/7MipDNANzr5VgsDAXUp3Keh0NeH
 UoLQVz1MC9Azij9neahvNQxTYqf62NFeiCLyJH0I2dQ5Cecp2RjhV5Si70ji+TjC
 Fr47TuA7+dnvcYgVLhGfGKZdac9FTaI/6zJ/sbgL7qDmGTVHJlKvpP9gvg7hIFYR
 oKih/KtgFXNfkglJ8dF5wGg2urER2kkxAJbjE7Zf+6M8H+sVzQ5N7hnfHMkepWxz
 hm8R9+PxV+LFVJWRu37vm/wxdbEZr4N0M5OA09qvJNfMwTpt3TMrUP92zsgVtsxc
 byAtXUocyX6wjdDD8yYHf0DkA//9kcQvx+YBgu0u1jruuUHW4zzuafRDxHsebLR9
 LnaZEgcyRtE+SAcGz4blzBYIukDxLR75Dbm7kS1x3F/l3gRKuX97jKuWsr+eCdH0
 P4bZvpvkWbOpUi10XF+cXyXoSIL6f1RrFxPyizPBXHHvSgaIWkspZ70O/RLyX28t
 3lpJkTak2RFQDfA4UARbuBgGd9d8bTVcZBWlX5yihP1nX17X2WzyuvblmlQffCtV
 B/RiccOw2KGBidbT6RofbNoer51BW9aijAWjg6enOFRBe1ZNh88=
 =yiZ0
 -----END PGP SIGNATURE-----

Merge tag 'efi-2024-04-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2024-04-rc5-2

Documentation:

* patman: Properly document the patchwork_url setting
* doc: man-page for if
* colibri-imx8x, apalis-imx8: update board documentation

UEFI:

* correct handling of EFI binary return code
* don't show usage help if EFI binary fails.
* correct error handling for bootefi selftest command
2024-03-21 08:35:23 -04:00
Tom Rini
2f387ba458 Pull request efi-next-20240321
Documentation:
 
 * Avoid short reference link names in device-tree documentation.
 
 UEFI/Video:
 
 * Support code page 437 code points 1 - 31 used by GRUB
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmX71/8ACgkQhO4vgnE3
 U0tuqRAAjj5y6RuplullwTr8jq14PZUAm+Y16HFYBYHLyXCWd551aw4DEtCt7Fhu
 6bRAw+vXbMrwk3br6T4MVZt1HuMu2ubazv/ffpRI2igeE+hvM5QCCh9XPWXAsz7Q
 Al1sGmm8sgMkyDE5iub6nFniOUc/QotnMSuGHV+RtVunhRd1SYTawJYjLRqvUBPr
 MjaAVt/BAFPr/7WeKIBGD4fKbitBkmY5v5CPdDr+jEHtSP7ww0kqFKQKBduKB3ez
 qspRxSj1fFI+DEWECEgIVVwV73v1Q+f+vWpkmDpTfbl5RQdjlkFKw6Xn7BC7lcId
 Fuvd7sxrdCjXwE2PTeK22CqNEq2YmuNimaZruSX4839xEEP8qTXmH3BWr2++OFO0
 UlCMOSviRRCXNaOIfH5xRWgbmXBW7+hQ56KDoRFU5xv8TEXHeNYJsgaByWVZSz4o
 0Bl1BUAR0p7mcom3Llog6nxhG2apwJ4nWyQxSI+soKpBBkpvhab7Um/EupV0Z8Dw
 hH1QnSrKe20zOB5Zhb7ktACwwhZDZbo/3xPRnGIoaG2RTe1znq2vqicKY/ajSbyv
 Bxx4kULQoxQA02+ItuDwWF2FSEpe0iCDzGl4onRFeNWrd6YjNs98sH17D+wLr2xZ
 5D7hBX9Qmib5YPyPPN92lizrfP9eX5rkM3zTIooeIvGH2jJcdyM=
 =reSt
 -----END PGP SIGNATURE-----

Merge tag 'efi-next-20240321' of https://source.denx.de/u-boot/custodians/u-boot-efi into next

Pull request efi-next-20240321

Documentation:

* Avoid short reference link names in device-tree documentation.

UEFI/Video:

* Support code page 437 code points 1 - 31 used by GRUB
2024-03-21 08:34:41 -04:00
Caleb Connolly
850b307789 usb: dwc3-generic: implement Qualcomm wrapper
The Qualcomm specific dwc3 wrapper isn't hugely complicated, implemented
the missing initialisation for host and gadget mode.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Link: https://lore.kernel.org/r/20240320-b4-qcom-usb-v4-1-41be480172e1@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-03-21 10:20:47 +01:00
Douglas Anderson
fcd0c8b847 patman: Properly document the patchwork_url setting
The "Series-patchwork-url:" tag description says that it overrides the
settings file but doesn't specify the name of the setting. Elsewhere
in the documentation about the "useful" settings we see a setting that
sounds promising called "patchwork_server" that's actually not a valid
setting. It should be "patchwork_url".

Fix these problems so the doc is right and more useful.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
2024-03-21 07:36:54 +01:00
Heinrich Schuchardt
98b5ea1881 doc: typo Synopis
%s/Synopis/Synopsis/g

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-03-21 07:29:19 +01:00
Heinrich Schuchardt
a9122d2c45 doc: man-page for if
Provide a man-page for the if command.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-03-21 07:29:01 +01:00
Heinrich Schuchardt
68fc0b877b cmd: bootefi: error handling bootefi selftest
If bootefi selftest is executed and a problem with the device-tree
installation occurs, efi_install_fdt() writes sensible error messages.
It never returns EFI_INVALID_PARAMETER. It neither makes sense to check
for EFI_INVALID_PARAMETER nor to show the usage help for the bootefi
command in this case.

Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-03-21 07:28:43 +01:00
Heinrich Schuchardt
46e5dd661c cmd: bootefi: Don't show usage help if EFI binary fails.
If an EFI binary returns an error code EFI_INVALID_PARAMETER, we show the
usage help for the bootefi command:

    Shell> exit 0x8000000000000002
    ## Application failed, r = 2
    bootefi - Boots an EFI payload from memory

    Usage:
    bootefi <image address>[:<image size>] [<fdt address>]
      - boot EFI payload
    bootefi bootmgr [fdt address]
      - load and boot EFI payload based on BootOrder/BootXXXX variables.

        If specified, the device tree located at <fdt address> gets
        exposed as EFI configuration table.

This makes no sense.

Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-03-21 07:28:43 +01:00
Heinrich Schuchardt
6f90a05a04 efi_loader: correct handling of EFI binary return code
We should not try to remove protocol interfaces from a NULL handle.
efi_run_image() should always return the return code of the executed EFI
binary.

Fixes: 6422820ac3e5 ("efi_loader: split unrelated code from efi_bootmgr.c")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-03-21 07:28:43 +01:00
Hiago De Franco
b9d4db4e0f doc: board: apalis-imx8: Update and improve documentation
Update and improve the building documentation of Apalis iMX8.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-03-21 07:25:06 +01:00
Hiago De Franco
fa0ed4c401 doc: board: colibri-imx8x: Update and improve documentation
Update and improve the building documentation of Colibri iMX8X.
The following changes were made:
- imx-atf repository changed to nxp-imx GitHub.
- imx-atf branch updated to 'lf_v2.6'.
- imx-seco updated to version 5.8.7.
- nxp-imx mfgtools link updated to GitHub releases.
- General writing improvements.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-03-21 07:25:06 +01:00
Heinrich Schuchardt
884785adc1 doc: typo Synopis
%s/Synopis/Synopsis/g

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-03-21 07:00:12 +01:00
Janne Grunau
9566b3b321 efi_selftest: Update StrToFat() unit test after CP473 map extension
Test that Unicode code points which map to CP437 code points 1-31 are
converted to '_'. This ensures no FAT file names do not contain chars
which are control characters in other code pages (CP 1250 for example).

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-03-21 06:56:14 +01:00
Janne Grunau
e35feb99ab efi_selftest: Add geometric shapes character selftest
Draw symbols from Unicode's "Geometric shapes" page which translate to
code page 437 code points 1-31. These are used by UEFI applications to
draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.
The output has to be checked manually on the screen for correctness.

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-03-21 06:56:13 +01:00
Andre Przywara
33b2899811 efi_selftest: Add box drawing character selftest
UEFI applications rely on Unicode output capability, and might use that
for drawing pseudo-graphical interfaces using Unicode defined box
drawing characters.

Add a simple test to display the most basic box characters, which would
need to be checked manually on the screen for correctness.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-03-21 06:56:13 +01:00
Andre Przywara
4dd134c0c7 efi_selftest: Add international characters test
UEFI relies entirely on unicode output, which actual fonts displayed on
the screen might not be ready for.

Add a test displaying some international characters, to reveal missing
glyphs, especially in our builtin fonts.
This would be needed to be manually checked on the screen for
correctness.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-03-21 06:56:13 +01:00
Janne Grunau
ac72d17fd8 lib/charset: Map Unicode code points to CP437 code points 1-31
Code page 437 uses code points 1-31 for glyphs instead of control
characters. Map the appropriate Unicode code points to this code points.
Fixes rendering of grub2's menu as EFI application using the
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL on a console with bitmap fonts.

Signed-off-by: Janne Grunau <j@jannau.net>
2024-03-21 06:56:13 +01:00
Janne Grunau
5ea38f95c4 video: console: Parse UTF-8 character sequences
efi_console / UEFI applications (grub2, sd-boot, ...) pass UTF-8
character sequences to vidconsole which results in wrong glyphs for code
points outside of ASCII. The truetype console expects Unicode code
points and bitmap font based consoles expect code page 437 code points.
To support both convert UTF-8 to UTF-32 and pass Unicode code points in
vidconsole_ops.putc_xy(). These can be used directly in console_truetype
and after conversion to code page 437 in console_{normal,rotate}.

This fixes rendering of international, symbol and box drawing characters
used by UEFI applications.

Signed-off-by: Janne Grunau <j@jannau.net>
2024-03-21 06:56:13 +01:00
Sumit Garg
7046bfe79e doc: devicetree: Lets avoid short reference link names
Short reference link names like "dtspec", "dtrepo", "dttweaks" etc.
interrupt the flow of the document text. Lets avoid them and instead
expand in place for better readability.

Suggested-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2024-03-21 06:48:19 +01:00
Caleb Connolly
d47e1fa819 test: dm: add button_cmd test
Add a test for the button_cmd feature. This validates that commands can
be mapped to two buttons, that the correct command runs based on which
button is pressed, that only 1 command is run, and that no command runs
if button_cmd_0_name is wrong or unset.

Additionally, fix a potential uninitialised variable use caught by these
tests, the btn variable in get_button_cmd() is assumed to be null if
button_get_by_label() fails, but it's actually used uninitialised in
that case.

CONFIG_BUTTON is now enabled automatically and was removed when running
save_defconfig.

Fixes: e761035b6423 ("boot: add support for button commands")
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2024-03-20 17:13:05 -04:00
Marek Vasut
672af4f8ac Makefile: Add missing OF_UPSTREAM Makefile for 32bit ARM
Copy dts/upstream/src/arm64/Makefile into dts/upstream/src/arm/Makefile
and create a commit. This makes 32bit ARM buildable with OF_UPSTREAM .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Tested-by: Adam Ford <aford173@gmail.com> #am3517-evm
Tested-by: Tony Dinh <mibodhi@gmail.com>
2024-03-20 17:13:01 -04:00
Piotr Wojtaszczyk
3b639f6438 gpio: mcp230xx: Add support for models with SPI interface.
Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
2024-03-20 17:12:51 -04:00
Kelly Hung
71e2bc3029 arm: dts: ast2600-x4tf: Add new dts for ASUS X4TF
This is the new bmc dts for ASUS X4TF server.

Signed-off-by: Kelly Hung <Kelly_Hung@asus.com>
2024-03-20 17:12:44 -04:00
Leo Yu-Chi Liang
aeda4ccf3c spl: Improve error message for SPL memory allocation
There could be two memory allocation scheme in SPL phase.
Explicitly print the corresponding error message.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-03-20 17:12:38 -04:00
Tom Rini
e50cb36cb5 Merge branch '2024-03-19-assorted-updates' into next
- TI J7200 updates, GIC-600 support, 2 more tests, fix parsing
  ccsidr_el1 register in some cases, prepare for allowing remoteproc to
  use fs_loader and make the binary_size_check rule not require 'bc'.
2024-03-20 08:39:05 -04:00
Love Kumar
8132970f7d test/py: reset: Add a test for reset command
Add a test for reset commands which performs resetting of CPU, It does
COLD reset by default and WARM reset with -w option.

Signed-off-by: Love Kumar <love.kumar@amd.com>
2024-03-19 18:40:47 -04:00
Love Kumar
4eff1145bc test/py: saveenv: Add a test for saveenv command
Add test case for saveenv command in non-JTAG bootmode which saves the
u-boot environment variables in persistent storage.

Signed-off-by: Love Kumar <love.kumar@amd.com>
2024-03-19 18:40:47 -04:00
Leon M. Busch-George
0c8b1b29c6 Makefile: use shell to calculate map_size
The error message "bc: command not found" is easily missed since the
build continues.
bc is not a part of coreutils or base-devel. POSIX sh can also do the
calculation.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2024-03-19 18:40:47 -04:00
Lukasz Wiecaszek
95167db37c arm: Check FEAT_CCIDX when parsing ccsidr_el1 register
Current Cache Size ID Register (ccsidr_el1) has two "flavors"
depending on whether FEAT_CCIDX is implemented or not.
When FEAT_CCIDX is implemented Associativity parameter
is coded on bits [23:3] and NumSets parameter on bits [55:32].
When FEAT_CCIDX is not implemented then Associativity parameter
is coded on bits [12:3] and NumSets parameter on bits [27:13].
Current U-Boot code does not check whether FEAT_CCIDX is implemented
and always parses ccsidr_el1 as if FEAT_CCIDX was not implemented.
This is of course wrong on systems where FEAT_CCIDX is implemented.
This patch fixes that problems and tests whether FEAT_CCIDX
is implemented or not and accordingly parses the ccsidr_el1 register.

Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
2024-03-19 18:40:47 -04:00
Venkatesh Yadav Abbarapu
c6a13f3d6f arm64: gic: Add power up sequence for GIC-600
Arm's GIC-600 features a Power Register (GICR_PWRR),
which needs to be programmed to enable redistributor
operation. Power on the redistributor and  wait until
the power on state is reflected by checking the bit
GICR_PWRR.RDPD == 0. While running U-Boot in EL3
without enabling this register, GICR_WAKER.ChildrenAsleep
bit is not getting cleared and loops infinitely.
This register(GICR_PWRR) must be programmed to mark the frame
as powered on, before accessing other registers in the frame.
Rest of initialization sequence remains the same.

ARM GIC-600 IP complies with ARM GICv3 architecture.
Enable this config if GIC-600 IP present.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
2024-03-19 18:40:46 -04:00
Aniket Limaye
db5c91b69a arm: dts: k3-j7200-r5-common: Add missing overrides for ringacc and udmap
Corrects the ti,sci property to point to dm_tifs node for proper
functioning of mcu_ringacc and mcu_udmap.

Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
2024-03-19 18:40:46 -04:00
Aniket Limaye
ef7d7a293c arm: dts: k3-j7200-r5-common: fix the mcu_timer0 clock frequency
Correcting the clock-frequency property of the mcu_timer0 node

Fixes: df73e791ce09 ("arm: dts: j7200: dts sync with Linux 6.6-rc1")
Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2024-03-19 18:40:46 -04:00
Aniket Limaye
e0b0a5eb9c arm: dts: k3-j7200: Fix support for OSPI flash
- Add the missing bootph-all property in the flash subnode for ospi
- Add the missing overrides for the ospi node in the r5 devicetree

Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2024-03-19 18:40:46 -04:00
Aniket Limaye
94e2dc01ca configs: j7200_evm_*_defconfig: Enable OSPI configs
Add the necessary configs required for OSPI functionality.
Also update the ospi flash partition offsets as per the devicetree.

Signed-off-by: Aniket Limaye <a-limaye@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2024-03-19 18:40:46 -04:00
MD Danish Anwar
e6ea13eba9 arm: mach-k3: Fix config check for FS_LOADER
load_firmware() API calls fs-loader APIs and checks for CONFIG_FS_LOADER
before calling those APIs. The if check only checks for CONFIG_FS_LOADER
but not for CONFIG_SPL_FS_LOADER.

When CONFIG_FS_LOADER is enabled, load_firmware() API calls fs-loader APIs
but this is done at SPL stage and at this time FS_LOADER is not built yet
as a result we see below build error.

  AR      spl/boot/built-in.o
  LD      spl/u-boot-spl
arm-none-linux-gnueabihf-ld.bfd: arch/arm/mach-k3/common.o: in function
`load_firmware':
/home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:184: undefined
reference to `get_fs_loader'
arm-none-linux-gnueabihf-ld.bfd:
/home/danish/workspace/u-boot/arch/arm/mach-k3/common.c:185: undefined
reference to `request_firmware_into_buf'
make[2]: *** [/home/danish/workspace/u-boot/scripts/Makefile.spl:527:
spl/u-boot-spl] Error 1
make[1]: *** [/home/danish/workspace/u-boot/Makefile:2055:
spl/u-boot-spl] Error 2
make[1]: Leaving directory '/home/danish/uboot_images/am64x/r5'
make: *** [Makefile:177: sub-make] Error 2

Fix this by modifying the if check to CONFIG_IS_ENABLED(FS_LOADER) instead
of IS_ENABLED(CONFIG_FS_LOADER) as the former will check for the
appropriate config option (CONFIG_SPL_FS_LOADER / CONFIG_FS_LOADER) based
on the build stage.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-03-19 16:09:58 -04:00