Skip to content

Initialize adi-u-boot-2026.01-y#55

Merged
pamolloy merged 16 commits intoadi-u-boot-2026.01-yfrom
2026.01.y/philip/init
Jan 24, 2026
Merged

Initialize adi-u-boot-2026.01-y#55
pamolloy merged 16 commits intoadi-u-boot-2026.01-yfrom
2026.01.y/philip/init

Conversation

@pamolloy
Copy link
Collaborator

@pamolloy pamolloy commented Jan 24, 2026

@gmalysa's series was just applied by Tom! Congrats! 🥳 🙏

That means instead of incorporating changes into Greg's series we can just submit fixes directly mainline, which is honestly a bit easier to manage. So the following commits on adi-u-boot-2025.10.y need to be sent mainline:

At least the commit messages should be refactored to do so. So let's do that in new PRs against this new branch. This PR adds Greg's series, CI/CD and a random upstream patch.

pamolloy and others added 16 commits January 24, 2026 18:16
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add Kconfig symbols to parameterize the SPI flash layout used in a
default-ish configuration. This adds more flexibility to the default ADI
environment, enabling customers with boards based on but not identical
to an ezkit to reuse more of the infrastructure. Furthermore it allows
for yocto (the expected default) or binman (to be introduced in this
series) to configure or use the flash layout based on a single
definition of all of the parameters when creating an image.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
(cherry picked from commit 280dbbb)
The symbol SC_BOOT_MODE was named incorrectly and inconsistently with
its usage. The selected boot mode is set only by hardware and cannot be
adjusted through software (apart from the use of FORCE_BMODE to instruct
the boot rom to ignore the hardware setting when loading uboot proper,
but this cannot change how SPL is loaded).

This symbol actually controlled the BCODE (easily confused with BMODE,
shorthand for boot mode), so this renames it to SC_BCODE and updates the
help text to reflect its actual usage: the BCODE is an SoC- and boot
mode-specific setting that affects how the boot rom configures QSPI or
OSPI in order to read an LDR file from the associated peripheral.

Reported-by: Philip Molloy <Philip.Molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit ca8cceb)
Support for the SOM-CRR variants introduces library level changes that
are not modelled in the device tree. As a result they cannot both be
selected at the same time, so this updates the dependency in Kconfig to
prevent them from being enabled together.

Reported-by: Philip Molloy <Philip.Molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit e017436)
Binman is optionally supported for Analog Devices sc5xx SoCs if Yocto is
not being used to create and assemble system images. The spl LDR is
generated locally but other artifacts such as kernel FIT image and root
file system are built externally and must be supplied to binman if used.

Binman is enabled by selecting the SC5XX_USE_BINMAN config symbol and
the image structure is included in the shared sc5xx device tree.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
(cherry picked from commit a6927e7)
The boot ROM on Analog Devices ADSP-SC5xx SoCs requires code packaged
in the LDR format. Normally this is available as part of
our yocto-derived toolchain but, it is not a part of any other pre-made
toolchain anymore, so it is otherwise unavailable in the docker image
for CI. This patch adds a source build from the ADI maintained github
repository. In the future, a package available for install via apt will
be available, but currently there is no arm64 build upstream, so we must
build from source for the time being to support CI on both amd64 and
arm64 runners. The same ldr tool is used for arm and arm64 for all of
our boards with names adjusted to match the expected $(CROSS_COMPILE)
for these boards.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit b36007b)
This adds infrastructure and shared library code for building targets
that use the ADI SOMCRR-EZKIT and SOMCRR-EZLITE carrier boards. These
are not used directly as board targets in their own right.

Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@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: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit 48a45b7)
This adds support for the Analog Devices SC573 EZKIT.

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>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit 34d41f8)
This adds support for the Analog Devices SC589-EZKIT and SC589-mini.

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>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit e382cb2)
This adds support for the Analog Devices SC584-EZKIT.

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>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit e1d6232)
This adds support for the Analog Devices SC598-SOM and configurations
for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE. This adds
dtsis for both Rev D (including older revisions) and Rev E SOMs, which
are not compatible due to BOM changes. Although no new Rev D SOMs are
produced as of 2025, many are in circulation, so the RevD dtsi is
included to facilitate use for existing customers.

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>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit c9e893d)
This adds support for the Analog Devices SC594 SOM and configurations
for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE.

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>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit be79378)
This adds missing maintainers entries for the ADI SC5xx defconfigs and
for a device tree binding file that was previously missed.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
(cherry picked from commit b0df2df)
Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Tested-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
(cherry picked from commit bcc5324)
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
@pamolloy pamolloy requested review from a team and ozan956 January 24, 2026 17:26
@pamolloy pamolloy added this to ADSP Jan 24, 2026
Copy link

@ozan956 ozan956 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets go 🚀

Some points to mention:

This PR should also be added:
#53

This fix should also be reflected in U-boot:
analogdevicesinc/linux#3056 (comment)

@pamolloy pamolloy merged commit 2a1f1a2 into adi-u-boot-2026.01-y Jan 24, 2026
3 checks passed
@pamolloy pamolloy deleted the 2026.01.y/philip/init branch January 24, 2026 18:26
@github-project-automation github-project-automation bot moved this to Done in ADSP Jan 24, 2026
@gmalysa
Copy link

gmalysa commented Jan 26, 2026

It's probably for the best that Tom approved v3 before v4 was submitted, because this way it is better to reflect the total number contributors (having 30 signed-off-bys on a device tree raises some eyebrows for sure, but having each improvement be correctly attributed looks good and ensures everyone has their authorship reflected).

These commits look good to me so I'll add a reviewed-by tag to the mailing list when you submit, apart from 601b087 ("arm: dts: sc598: disable Octal SPI flash") which causes spi2 flash to stop working for me, so I think that one should be reexamined ahead of submission.

@ozan956
Copy link

ozan956 commented Jan 26, 2026

It's probably for the best that Tom approved v3 before v4 was submitted, because this way it is better to reflect the total number contributors (having 30 signed-off-bys on a device tree raises some eyebrows for sure, but having each improvement be correctly attributed looks good and ensures everyone has their authorship reflected).

These commits look good to me so I'll add a reviewed-by tag to the mailing list when you submit, apart from 601b087 ("arm: dts: sc598: disable Octal SPI flash") which causes spi2 flash to stop working for me, so I think that one should be reexamined ahead of submission.

also from: 601b087#commitcomment-175338696

With this change, u-boot does not probe the regular spi flash successfully:

U-Boot 2026.01-00735-g6b0279a7084d-dirty (Jan 21 2026 - 22:20:59 -0500)

CPU:   ADSP ADSP-SC598-0.0 (JTAG/BOOTROM boot)
Model: ADI SC598-SOM-EZKIT
DRAM:  224 MiB
Core:  143 devices, 24 uclasses, devicetree: embed
MMC:   mmc@310C7000: 0
Loading Environment from SPIFlash... jedec_spi_nor is25lp512@1: unrecognized JEDEC id bytes: c3, e5, 3b
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial@0x31003000
Out:   serial@0x31003000
Err:   serial@0x31003000
Net:   eth0: eth0
Hit any key to stop autoboot: 0
=> 

The octal flash on the ezkit cannot be used while the uart is enabled, so it does not probe either

Interestingly, thats not the case for me with https://github.com/analogdevicesinc/u-boot/releases/tag/v2025.10-2

U-Boot 2025.10 (Jan 26 2026 - 09:39:06 +0100)

CPU:   ADSP ADSP-SC598-0.0 (QSPI Master boot)
Model: ADI SC598-SOM-EZKIT
DRAM:  224 MiB
ADP558x Detected: Rev 4, Rev ID 4
Core:  143 devices, 24 uclasses, devicetree: embed
MMC:   mmc@310C7000: 0
Loading Environment from SPIFlash... SF: Detected is25lp01g with page size 256 Bytes, erase sB
*** Warning - bad CRC, using default environment
U-Boot 2025.10 (Jan 26 2026 - 09:52:17 +0100)

CPU:   ADSP ADSP-SC598-0.0 (JTAG/BOOTROM boot)
Model: ADI SC598-SOM-EZKIT
DRAM:  224 MiB
ADP558x Detected: Rev 4, Rev ID 4
Core:  143 devices, 24 uclasses, devicetree: embed
MMC:   mmc@310C7000: 0
Loading Environment from SPIFlash... SF: Detected is25lp01g with page size 256 Bytes, erase size 4 KiB, total 1B
*** Warning - bad CRC, using default environment

let me compare adi release with the latest u-boot, to see whats changed.

@ozan956
Copy link

ozan956 commented Jan 26, 2026

Also for kernel, without disabling octal spi we can not access spi2 on som:

[    1.125138] sram_mmap sram-mmap@0: assigned reserved memory node sram1-reserved@20040000
[    1.153879] spi-nor spi2.0: BFPT parsing failed. Please consider using SPI_NOR_SKIP_SFDP wh
[    1.173276] spi-nor spi2.0: probe with driver spi-nor failed with error -95
[    1.189476] adi-spi3 31030000.spi: registered ADI SPI controller spi2
[    1.202459] tun: Universal TUN/TAP device driver, 1.6

@gmalysa
Copy link

gmalysa commented Jan 26, 2026

ADP558x Detected: Rev 4, Rev ID 4

Is the polarity of the octal chip select potentially related to the som revision? The ADP558x is only on the rev E boards.

@ozan956
Copy link

ozan956 commented Jan 26, 2026

I think it (octal chip select) should be same for both versions, since in both revisions these spi flashes both on som and crr directs to SPI2_SSb and signals are active low. I will investigate potential causes further.

Are you trying with rev D SoM? I can only test with rev E.

@gmalysa
Copy link

gmalysa commented Jan 26, 2026

Yes I only have rev D and ezkit available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants