Commit Graph

93147 Commits

Author SHA1 Message Date
Caleb Connolly
830d83ec38 scripts: gen_compile_commands: fix invalid escape sequence warning
Since Python 3.12 unrecognised escape sequences trigger a SyntaxWarning.
Convert the '\#' string to a raw string so the backslash is correctly
used as a literal.

Ported from Linux commit dae4a0171e25 ("gen_compile_commands: fix invalid
escape sequence warning").

This updates the script to be in-line with Linux 6.9-rc6.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: João Marcos Costa <jmcosta944@gmail.com>
2024-05-13 16:51:14 -06:00
Fiona Klute
4f652182a0 Init virtio before loading ENV from EXT4 or FAT
Specifying a file in an EXT4 or FAT partition on a virtio device as
environment location failed because virtio hadn't been initialized by
the time the environment was loaded. This patch mirrors commit
54ee5ae841 ("Add SCSI scan for ENV in EXT4 or FAT") in issue and
fix, just for a different kind of block device.

The additional include in include/virtio.h is needed so all functions
called there are defined, the alternative would have been to include
dm/device.h separately in the env/ sources.

Checkpatch suggests using "if (IS_ENABLED(CONFIG...))" instead of
"#if defined(CONFIG_...)", I'm sticking to the style of the existing
code here.

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
CC: Joe Hershberger <joe.hershberger@ni.com>
CC: Bin Meng <bmeng.cn@gmail.com>
CC: Rogier Stam <rogier@unrailed.org>
2024-05-13 16:51:14 -06:00
Peter Hoyes
ebc84d7b60 armv8: generic_timer: Use event stream for udelay
Polling cntpct_el0 in a tight loop for delays is inefficient.
This is particularly apparent on Arm FVPs, which do not simulate
real time, meaning that a 1s sleep can take a couple of orders
of magnitude longer to execute in wall time.

If running at EL2 or above (where CNTHCTL_EL2 is available), enable
the cntpct_el0 event stream temporarily and use wfe to implement
the delay more efficiently. The event period is chosen as a
trade-off between efficiency and the fact that Arm FVPs do not
typically simulate real time.

This is only implemented for Armv8 boards, where an architectural
timer exists, and only enabled by default for the ARCH_VEXPRESS64
board family.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2024-05-13 16:51:14 -06:00
Peter Hoyes
b18a3c183d arm: Move sev() and wfe() definitions to common Arm header file
The sev() and wfe() asm macros are currently defined only for
mach-exynos. As these are common Arm instructions, move them to the
common asm/system.h header file, for both Armv7 and Armv8, so they
can be used by other machines.

wfe may theoretically trigger a context switch if an interrupt occurs
so add a memory barrier to this call.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Reviewed-by: Andre Przywara<andre.przywara@arm.com>
2024-05-13 16:51:14 -06:00
WHR
e0112bc508 sandbox: make function 'do_undefined' properly compiles for PowerPC
The 2 bytes 0xffff is too short for being a PowerPC instruction, resulting
in an error similar to:
    /tmp/ccW8yjie.s: Assembler messages:
    /tmp/ccW8yjie.s: Error: unaligned opcodes detected in executable segment
    /tmp/ccW8yjie.s:223: Error: instruction address is not a multiple of 4
    make[2]: *** [/tmp/ccyF4HIC.mk:17: /tmp/ccCKUFuF.ltrans5.ltrans.o] Error 1

Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13 16:51:13 -06:00
WHR
1466e065a9 zfs: fix function 'zlib_decompress' pointlessly calling itself
In order to prevent crashing due to infinite recursion and actually
decompress the requested data, call the zlib function 'uncompress'
instead.

Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13 16:51:13 -06:00
WHR
cd85e0d443 zfs: recognize zpools formatted with features support
Currently no features are implemented, only the zpool version 5000 that
indicating the features support, is recognized. Since it is possible for
OpenZFS to create a pool with features support enabled, but without
enabling any actual feature, this change enables U-Boot to read such
pools.

Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13 16:51:13 -06:00
Jim Liu
3a9f642ca9 crypto: nuvoton: npcm_sha: Support SHA 384/512
1. Use vendor naming rule to rename each function
2. add SHA 384/512 support

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-05-13 16:51:13 -06:00
Tom Rini
c67199962b Merge patch series "Add AM64x Support to PRUSS and PRU_RPROC driver"
MD Danish Anwar <danishanwar@ti.com> says:

This series adds AM64x related compatibles to PRUSS and PRU_RPROC drivers.
This series is a prerequisite for ICSSG Ethernet driver.

Once Support for AM64x is added to PRUSS and PRU_RPROC driver, I'll send
another series to enable ICSSG Ethernet driver for AM64x as well.
2024-05-10 11:33:01 -06:00
Tom Rini
f81ab0d59a Merge patch series "Generate all SR boot binaries"
Neha Malcom Francis <n-francis@ti.com> says:

Add support for missing HS SRs in the build for J721E and J7200.

Boot logs (updated for v2):
https://gist.github.com/nehamalcom/e652752623537aced8cf31308015d7c9
2024-05-10 11:33:01 -06:00
Tom Rini
f842a7a2c0 Merge patch series "*** Commonize board code for K3 based SoMs ***"
Wadim Egorov <w.egorov@phytec.de> says:

Factor out code that we can reuse across all our K3 based SoMs.
2nd patch of this series require patch [1] to be applied first.

[1] https://lists.denx.de/pipermail/u-boot/2024-April/552021.html
2024-05-10 11:33:00 -06:00
Wadim Egorov
9419f48dee arm: mach-k3: am642: Provide a way to obtain boot device for non SPLs
Let's provide get_boot_device() for AM64, similar to what we did
in commit 2f9095e2bf ("arm: mach-k3: am625: Provide a way to obtain boot
device for non SPLs") for AM62.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-10 11:33:00 -06:00
MD Danish Anwar
86b40d2d5f soc: ti: pruss: Add support for AM64x
Add support for AM64x by adding it's compatible in pruss driver.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
2024-05-10 10:44:54 -06:00
MD Danish Anwar
2b1a5d2217 remoteproc: pru: Add support for AM64x PRU / RTU cores
Add support for AM64x PRU cores by adding compatibles for AM64x.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
2024-05-10 10:44:54 -06:00
Neha Malcom Francis
27c5c8371d arm: dts: k3-j7200-binman: Add support for HSSE1.0 and HSFS1.0
J7200  has SR1.0 and SR2.0 having three variants of each GP, HS-FS and
HS-SE. Current build does not generate HS-SE SR1.0 and HS-FS SR1.0 so
add support for them.

Reported-by: Suman Anna <s-anna@ti.com>
Reported-by: Aniket Limaye <a-limaye@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
2024-05-10 10:42:54 -06:00
Neha Malcom Francis
2bae48df5b arm: dts: k3-j721e-binman: Add support for HSFS1.1
J721E has SR1.1 and SR2.0 having three variants of each GP, HS-FS and
HS-SE. Current build does not generate HS-FS SR1.1 so add support for
them.

Reported-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
2024-05-10 10:42:54 -06:00
Wadim Egorov
ff5672d4d1 phycore_am64x_a53_defconfig: Enable CONFIG_BOARD_LATE_INIT
Enable CONFIG_BOARD_LATE_INIT to use PHYTECs common board_late_init()
to set handy environment variables for u-boot.
Also, resync after savedefconfig.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-10 10:42:22 -06:00
Wadim Egorov
0b30b28ba3 board: phytec: Commonize board code for K3 based SoMs
Environment handling code can be reused across all our K3 based SoMs.
Instead of adding the same code for every new SoM, move it to a common
board.c file.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-10 10:42:22 -06:00
Tom Rini
645f75f688 test/py: Make the number of SPL banners seen a variable
Currently we have the option to tell the console code that we should
ignore the SPL banner. We also have an option to say that we can see it
a second time, and ignore it. However, some platforms such as TI AM64x
will have us see the SPL banner three times. Rather than add an
"spl3_skipped" option, rework the code. By default we expect to see the
banner once, but boards can specify seeing it as many times as they
expect to.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-08 11:50:06 -06:00
Boon Khai Ng
48022fb4a5 net: Add drivers for Sysnopsys Ethernet 10G device
This driver support the Synopsys Designware Ethernet 10G
IP block refer from the driver dwc_eth_qos.

The driver MAC register mapping is different between
Synopsys QoS IP and Synopsys 10G IP, and thus new file
is created meant for Sysnopsys 10G IP.

The dwc_eth_xgmac_socfpga.c is specific to a device family,
the driver support the specific configuration used in
Intel SoC FPGA Agilex5.

This driver is extensible for other device family to use.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
2024-05-08 09:19:04 -06:00
Tom Rini
1afa75c087 Merge patch series "arm: Add Analog Devices SC5xx Machine Type"
Greg Malysa <greg.malysa@timesys.com> says:

This series adds support for the ADI SC5xx machine type and includes two
core drivers that are required for being able to boot any board--a UART
driver, the gptimer driver which is used as a clock reference (CNTVCNT
is not supported on the armv7 sc5xx SoCs) and the clock tree driver. Our
corresponding Linux support relies on u-boot configuring the clocks
correctly before booting, so it is not possible to boot any board
without the CGU/CDU configuration happening here. There are also no
board files, device trees, or defconfigs included here, but some common
definitions that will be used to build board files currently are. The
sc5xx SoCs themselves include many armv7 families (sc57x, sc58x, and
sc594) all using an ARM Cortex-A5, and one armv8 family (sc598) indended
to be a drop-in replacement for the SC594 in terms of peripherals, with
a Cortex-A55 instead.

Some of the configuration code in dmcinit and clkinit is quite scary and
causes a lot of checkpatch violations. It is modified from code
initially provided by ADI, but it has not been fully rewritten. There's
a question of how important it is to clean up this code--it has some
quality violations, but it has been in use (including in production) for
over two years and is known to work for performing the low level SoC
initialization, while a rewrite might introduce timing or sequence bugs
that could take a significant amount of time to detect in the future.
2024-05-07 19:24:07 -06:00
Greg Malysa
8691ffa5c0 drivers: timer: Add in driver support for ADI SC5XX-family GP timer peripheral
Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Co-developed-by: Angelo Dureghello <angelo.dureghello@timesys.com>
Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com>
Co-developed-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
2024-05-07 19:24:00 -06:00
Nathan Barrett-Morrison
8af2e141e1 drivers: serial: Add in UART for ADI SC5XX-family processors
Co-developed-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Co-developed-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2024-05-07 19:24:00 -06:00
Nathan Barrett-Morrison
16fe1118da drivers: clk: adi: Add in SC5XX-family clock driver
This adds support for the SC5XX clock trees which are required for reading
clock speeds on the SoCs. This is largely a port of the same support for
Linux, which has not yet been submitted upstream.

Co-developed-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Co-developed-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2024-05-07 19:24:00 -06:00
Nathan Barrett-Morrison
48a0b0b4b7 arch: arm: Add Analog Devices SC5xx machine type
Add support for the SC5xx machine type from Analog Devices. This
includes support for the SC57x, SC58x, SC59x, and SC59x-64 SoCs, which
have many common features such as common ADI IP blocks, and SHARC DSP
cores. This commit introduces core functionality required for all boards
using an SC5xx SoC, such as:

- SPL configuration
- Required CPU hooks such as reset
- Boot ROM interaction to load the stage 2 bootloader in the reference
  configuration. Other options are possible but not officially supported
  at this time
- SoC-common configuration expected to be reused by all boards
- Early initialization for system clocks and DDR controller

Co-developed-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Co-developed-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2024-05-07 19:24:00 -06:00
Tom Rini
7e2938beab Merge branch '2024-05-06-remove-include-common_h' into next
- Merge the four series that I made to finally remove include/common.h.
  For the most part, this is just removing <common.h> entirely. In a few
  cases we needed to add <linux/types.h> or <time.h>. In the case of
  PowerPC related code, we instead need to bring in <asm/ppc.h>.
2024-05-07 08:01:06 -06:00
Tom Rini
47558a4fce common.h: Remove this file and all references
With all files that had included this file directly having been updated,
we can now remove this file.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
1227a30d00 api: Remove <common.h> and add needed includes
Remove <common.h> from here and when needed add missing include files
directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
2193e16044 xen: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
d23a829b11 watchdog: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Acked-by: Angelo Dureghello <angelo@kernel-space.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
334edd5f4d w1-eeprom: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
051d224566 w1: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
3ba56d6b23 virtio: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
a2955579e7 video: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:57 -06:00
Tom Rini
12a8b0dcae usb: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
5771d4eed6 ufs: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
8f9f759d2b tpm: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
0a0a6b7e34 timer: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
66fa353165 thermal: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
33a67c5eee sysreset: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
abe1bba2a0 sysinfo: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
9ddfd0059a spmi: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
7d2bf7c266 spi: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: William Zhang <william.zhang@broadcom.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
0fc6271132 sound: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
294ebef07d soc: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
d5cb488c52 smem: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
6af4346316 sm: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
a8604d0ce1 serial: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
8625f7bb6e scsi: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00
Tom Rini
16a50b666d rtc: Remove <common.h> and add needed includes
Remove <common.h> from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-07 08:00:56 -06:00