Commit Graph
93242 Commits
Author SHA1 Message Date
Tim HarveyandIlias Apalodimas 89aa8463cd tpm-v2: allow algorithm name to be configured for pcr_read and pcr_extend
For pcr_read and pcr_extend commands allow the digest algorithm to be
specified by an additional argument. If not specified it will default to
SHA256 for backwards compatibility.

Additionally update test_tpm2.py for the changes in output in pcr_read
which now shows the algo and algo length in the output.

A follow-on to this could be to extend all PCR banks with the detected
algo when the <digest_algo> argument is 'auto'.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-05-27 09:00:27 +03:00
Tim HarveyandIlias Apalodimas 954b95e77e tpm-v2: add support for mapping algorithm names to algos
replace tpm2_supported_algorithms with an array of structures
relating algorithm names, to TCG id's, digest length and mask values.

While at it fix the tpm2_algorithm_to_mask to return the proper value.

Cc: Eddie James <eajames@linux.ibm.com>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Fixes: 97707f12fd ("tpm: Support boot measurements")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-05-27 09:00:07 +03:00
Tim HarveyandIlias Apalodimas 57c601cd7b tpm: display warning if using gpio reset with TPM
Instead of displaying what looks like an error message if a
gpio-reset dt prop is missing for a TPM display a warning that
having a gpio reset on a TPM should not be used for a secure production
device.

TCG TIS spec [1] says:
"The TPM_Init (LRESET#/SPI_RST#) signal MUST be connected to the
platform CPU Reset signal such that it complies with the requirements
specified in section 1.2.7 HOST Platform Reset in the PC Client
Implementation Specification for Conventional BIOS."

The reasoning is that you should not be able to toggle a GPIO and reset
the TPM without resetting the CPU as well because if an attacker can
break into your OS via an OS level security flaw they can then reset the
TPM via GPIO and replay the measurements required to unseal keys
that you have otherwise protected.

Additionally restructure the code for improved readability allowing for
removal of the init label.

Before:
 - board with no reset gpio
u-boot=> tpm init && tpm info
tpm_tis_spi_probe: missing reset GPIO
tpm@1 v2.0: VendorID 0x1114, DeviceID 0x3205, RevisionID 0x01 [open]
 - board with a reset gpio
u-boot=> tpm init && tpm info
tpm@1 v2.0: VendorID 0x1114, DeviceID 0x3205, RevisionID 0x01 [open]

After:
 - board with no reset gpio
u-boot=> tpm init && tpm info
tpm@1 v2.0: VendorID 0x1114, DeviceID 0x3205, RevisionID 0x01 [open]
 - board with a reset gpio
u-boot=> tpm init && tpm info
tpm@1: TPM gpio reset should not be used on secure production devices
tpm@1 v2.0: VendorID 0x1114, DeviceID 0x3205, RevisionID 0x01 [open]

[1] https://trustedcomputinggroup.org/wp-content/uploads/TCG_PCClientTPMInterfaceSpecification_TIS__1-3_27_03212013.pdf

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-05-27 08:58:25 +03:00
Tom Rini a7f0154c41 Prepare v2024.07-rc3
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-20 10:05:16 -06:00
Tom Rini d678a59d2d Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay
Ethernet"' I failed to notice that b4 noticed it was based on next and
so took that as the base commit and merged that part of next to master.

This reverts commit c8ffd1356d, reversing
changes made to 2ee6f3a5f7.

Reported-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-19 08:16:36 -06:00
Fiona KluteandTom Rini 3be9f399e9 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-17 13:18:43 -06:00
Tom Rini ad7dce5abd Merge tag 'u-boot-dfu-20240516' of https://source.denx.de/u-boot/custodians/u-boot-dfu
u-boot-dfu-20240516

- Fix cdns3 low power hang via fast access bit
- Multiple dwc3 gadget fixes, mainly for USB support on TI AM6232
- Consistent USB_GADGET_MANUFACTURER for PHYTEC boards
- MAINTAINERS file update for u-boot-dfu
2024-05-16 09:52:24 -06:00
Mattijs Korpershoek efbc11ccef MAINTAINERS: add USB gadget regex to u-boot-dfu tree
We try to split work with Marek on USB as following:
- Mattijs handles USB gadget
- Marek handles the rest of USB

Add additional gadget patterns to the maintainers file so that I
get cc'ed more often on USB gadget patches.

Acked-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20240516-gadget-maintainer-v2-2-23cc916df434@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 13:28:45 +02:00
Mattijs Korpershoek 5738a44f88 MAINTAINERS: add tree link for fastboot
Fastboot patches go through the u-boot-dfu tree.

Add a link in the maintainers file for it.

Link: https://lore.kernel.org/r/20240516-gadget-maintainer-v2-1-23cc916df434@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 13:28:45 +02:00
Thinh NguyenandMattijs Korpershoek 30f39de786 usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer
Upstream Linux commit 3aa07f72894d.

If there's a disconnection while operating in eSS, there may be a delay
in VBUS drop response from the connector. In that case, the internal
link state may drop to operate in usb2 speed while the controller thinks
the VBUS is still high. The driver must make sure to disable
GUSB2PHYCFG.SUSPHY when sending endpoint command while in usb2 speed.
The End Transfer command may be called, and only that command needs to
go through at this point. Let's keep it simple and unconditionally
disable GUSB2PHYCFG.SUSPHY whenever we issue the command.

This scenario is not seen in real hardware. In a rare case, our
prototype type-c controller/interface may have a slow response
triggerring this issue.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/5651117207803c26e2f22ddf4e5ce9e865dcf7c7.1668045468.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-7-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Felipe BalbiandMattijs Korpershoek 95b4d655a4 usb: dwc3: gadget: properly check ep cmd
Upstream Linux commit 5999914f227b.

The cmd argument we pass to
dwc3_send_gadget_ep_cmd() could contain extra
arguments embedded. When checking for StartTransfer
command, we need to make sure to match only lower 4
bits which contain the actual command and ignore the
rest.

Reported-by: Janusz Dziedzic <januszx.dziedzic@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
[A. Sverdlin: cherry-picked only DWC3_DEPCMD_CMD() define]
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-6-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Thinh NguyenandMattijs Korpershoek db11351a88 usb: dwc3: gadget: Check ENBLSLPM before sending ep command
Upstream Linux commit 87dd96111b0b.

When operating in USB 2.0 speeds (HS/FS), if GUSB2PHYCFG.ENBLSLPM or
GUSB2PHYCFG.SUSPHY is set, it must be cleared before issuing an endpoint
command.

Current implementation only save and restore GUSB2PHYCFG.SUSPHY
configuration. We must save and clear both GUSB2PHYCFG.ENBLSLPM and
GUSB2PHYCFG.SUSPHY settings. Restore them after the command is
completed.

DWC_usb3 3.30a and DWC_usb31 1.90a programming guide section 3.2.2

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-5-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Felipe BalbiandMattijs Korpershoek d107a5319e usb: dwc3: gadget: only resume USB2 PHY in <=HIGHSPEED
Upstream Linux commit ab2a92e7a608.

As a micro-power optimization, let's only resume the
USB2 PHY if we're working on <=HIGHSPEED. If we're
gonna work on SUPERSPEED or SUPERSPEED+, there's no
point in resuming the USB2 PHY.

Fixes: 2b0f11df84bb ("usb: dwc3: gadget: clear SUSPHY bit before ep cmds")
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-4-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Felipe BalbiandMattijs Korpershoek 967b31c3cc usb: dwc3: gadget: clear SUSPHY bit before ep cmds
Upstream Linux commit 2b0f11df84bb.

Synopsys Databook 2.60a has a note that if we're
sending an endpoint command we _must_ make sure that
DWC3_GUSB2PHY(n).SUSPHY bit is cleared.

This patch implements that particular detail.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-3-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Felipe BalbiandMattijs Korpershoek 13395507ca usb: dwc3: gadget: combine return points into a single one
Upstream Linux commit c0ca324d09a0.

dwc3_send_gadget_ep_cmd() had three return
points. That becomes a pain to track when we need to
debug something or if we need to add more code
before returning.

Let's combine all three return points into a single
one just by introducing a local 'ret' variable.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240412202611.3565052-2-alexander.sverdlin@siemens.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-16 08:38:24 +02:00
Tom Rini 676903c1b9 Merge https://source.denx.de/u-boot/custodians/u-boot-riscv
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/20690

- RISC-V: Add NULL check after parsing compatible string
- Board: Add Milk-V Mars CM board
- Andes: Unify naming policy
2024-05-14 07:45:49 -06:00
Tom Rini d456f2fc54 Merge branch 'qcom-main' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon
This [pull request] for master fixes framebuffer video on almost all
Qualcomm platforms where the framebuffer is initialised by the first
stage bootloader.
2024-05-14 07:45:14 -06:00
Leo Yu-Chi Liang 2b8dc36b4c andes: Unify naming policy for Andes related source
Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-14 18:50:47 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang 409259e9cf riscv: simplify backtrace report
* We already have a header 'backtrace', there is no need to repeat the
  word backtrace on every line.
* Add a blank line before the backtrace section of the crash report for
  improved readability.
* If U-Boot is compiled without backtrace, there is no need to write a
  message at all.
* Avoid #ifdef. We prefer functions to always be compiled and let
  the linker remove them if not needed.
* Foresee 3 digits for the backtrace index.

For testing the 'exception' command can be used.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-14 18:40:22 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang fcaf019c4e starfive: add mac vendor sub-command
As boards from multiple vendors (Milk-V, StarFive, Pine64) use the mac
command provide a sub-command to set the vendor string.

Reported-by: E. Shattow <lucent@gmail.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-05-14 18:40:10 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang 215dc02aee configs: visionfive2: enable SPL_YMODEM_SUPPORT
We can use U-Boot for recovering JH7110 based boards via UART
if CONFIG_SPL_YMODEM_SUPPORT=y.

* Send u-boot-spl.normal.out via XMODEM.
* Send u-boot.itb via YMODEM.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E. Shattow <lucent@gmail.com>
2024-05-14 18:40:10 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang 5b3a9fb53d doc: Milk-V Mars CM and Milk-V Mars CM Lite
Provide a man-page describing the usage of U-Boot on
the Milk-V Mars CM and Milk-V Mars CM Lite boards.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <lucent@gmail.com>
2024-05-14 18:40:10 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang de3229599d board: add support for Milk-V Mars CM
We already support the VisionFive 2 and the Milk-V Mars board by
patching the VisionFive 2 device tree. With this patch the same
is done for the Milk-V Mars CM.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tested-by: E. Shattow <lucent@gmail.com>
Reviewed-by: E. Shattow <lucent@gmail.com>
2024-05-14 18:40:10 +08:00
Heinrich SchuchardtandLeo Yu-Chi Liang 156c99fc33 board: starfive: function to read eMMC size
The EEPROM provides information about the size of the eMMC.
Provide a new function get_mmc_size_from_eeprom() to read it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E. Shattow <lucent@gmail.com>
2024-05-14 18:40:09 +08:00
Hanyuan ZhaoandLeo Yu-Chi Liang 9578e74571 riscv: add NULL check before calling strlen in the riscv cpu's get_desc()
Without the NULL check, if the devicetree that u-boot loads does not have a
compatible property then a store access fault will be raised and force the
machine to reset, due to the NULL pointer we passed to strlen. This commit
adds this check and will return -ENOSPC to indicate the get_desc failed.

Signed-off-by: Hanyuan Zhao <zhaohy22@mails.tsinghua.edu.cn>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-14 18:39:57 +08:00
Benjamin HahnandMattijs Korpershoek 371b379edb configs: Make USB_GADGET_MANUFACTURER consistent over all PHYTEC boards
Set CONFIG_USB_GADGET_MANUFACTURER to PHYTEC for all PHYTEC boards.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Acked-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240503-wip-bhahn-bspimx8m-3196-v1-1-855c7242151f@phytec.de
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-14 11:56:54 +02:00
Aswath GovindrajuandMattijs Korpershoek 83eed2cba3 usb: cdns3: gadget.c: Set fast access bit
When the device port is in a low power state [U3/L2/Not Connected],
accesses to usb device registers may take a long time. This could lead to
potential core hang when the controller registers are accessed after the
port is disabled by setting DEVDS field. Setting the fast register access
bit ensures that the PHY clock is keeping up in active state.

Therefore, set fast access bit to ensure the accesses to device registers
are quick even in low power states.

commit b5148d946f45 ("usb: cdns3: gadget: set fast access bit") in the
upstream kernel is taken as reference.

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240424073911.1943-1-r-gunasekaran@ti.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-14 11:55:04 +02:00
Sam DayandCaleb Connolly 3ceaa82586 mach-snapdragon: do carveouts for qcs404 only
The newly introduced carve_out_reserved_memory causes issues when
U-Boot is chained from the lk2nd bootloader. lk2nd provides a
simple-framebuffer device and marks the framebuffer region as no-map in
the supplied /reserved-memory. Consequently, the simple_video driver
triggers a page fault when it tries to write to this region.

As per Caleb's advice, this simple patch only does the carveouts for the
qcs404 SoC for which it was originally designed. The intent is to do the
carveouts for more Qualcomm SoCs in future.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2024-05-14 09:00:41 +02:00
Tom Rini c8ffd1356d Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"
Roger Quadros <rogerq@kernel.org> says:

Sync AM62 device tree files with Linux v6.9 and
add in the missing bits in -u-boot.dtsi to get CPSW
Ethernet working.

CI testing: https://github.com/u-boot/u-boot/pull/534
2024-05-13 09:15:51 -06:00
Roger QuadrosandTom Rini 577373239a arm: dts: k3-am625-beagleplay: Fix Ethernet PHY reset GPIO
Move GPIO pinmux to MDIO node. Add GB Ethernet reset GPIO.

Add PIN_INPUT to Fix SPE ethernet reset gpio so that
reading the GPIO can give correct status.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
2024-05-13 09:15:46 -06:00
Roger QuadrosandTom Rini 4a277312b3 arm: dts: k3-am625-beagleplay: get CPSW Ethernet to work
Add missing bits in -u-boot.dtsi to get CPSW Ethernet working.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
2024-05-13 09:15:46 -06:00
Roger QuadrosandTom Rini 9e0102b701 arm: dts: k3-am62*: sync with Linux v6.9
Update k3-am62 DT files from Linux v6.9

Signed-off-by: Roger Quadros <rogerq@kernel.org>
2024-05-13 09:15:46 -06:00
Tom Rini 2ee6f3a5f7 doc/sphinx: Bump Jinja2 to 3.1.4
While we unlikely to have an issue with CVE-2024-22195, it is simple
enough to bump our version of Jinja2 to receive the fix, do so.

Reported-by: GitHub dependabot
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-13 07:44:37 -06:00
Tom Rini 6d1752d6bf Merge tag 'rpi-2024.07-rc3' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi
Updates for RPi for 2024.07:

- Switch to OF_HAS_PRIOR_STAGE by default
2024-05-13 07:43:52 -06:00
Tom RiniandPeter Robinson 713c9d3f94 rpi: Switch to OF_HAS_PRIOR_STAGE by default
On all Raspberry Pi platforms, we're loaded by a prior stage firmware
that has assembled and passed on a device tree binary for us to use.
Switch to using this tree by default.

Cc: Matthias Brugger <mbrugger@suse.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: François Ozog <francois.ozog@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Simon Glass <sjg@chromium.org>
2024-05-13 08:16:56 +01:00
Tom Rini 30ee2dd6aa Merge branch 'master-cleanup' of https://source.denx.de/u-boot/custodians/u-boot-sh 2024-05-12 11:36:57 -06:00
Marek Vasut 2d10e76547 ARM: dts: renesas: Drop DTs with OF_UPSTREAM counterparts
Remove DTs which are now replaced by OF_UPSTREAM counterparts.
No functional change expected.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Adam Ford <aford173@gmail.com> #beacon boards
2024-05-12 01:12:00 +02: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 EgorovandTom Rini 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 AnwarandTom Rini 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 AnwarandTom Rini 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 FrancisandTom Rini 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 FrancisandTom Rini 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 EgorovandTom Rini 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 EgorovandTom Rini 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 NgandTom Rini 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