Skip to content

Conversation

gmalysa
Copy link

@gmalysa gmalysa commented Jul 29, 2025

Tracking upstream submission at https://lore.kernel.org/u-boot/[email protected]/. This PR will be updated as patches are modified ahead of the v2 submission.

pamolloy and others added 13 commits July 15, 2025 10:45
The logic was updated without modifying the comment above it

Fixes: 72b8c6d ("pinctrl: don't fall back to pinctrl_select_state_simple()")

Signed-off-by: Philip Molloy <[email protected]>
(cherry picked from commit b476530)
DM_GPIO_LOOKUP_LABEL and SPL_DM_GPIO_LOOKUP_LABEL had the same
description and therefore appeared to be duplicates in Kconfig frontends

Signed-off-by: Philip Molloy <[email protected]>
(cherry picked from commit b4c65b3)
Renaming SPL to XPL fixes the issue referenced in this note so the note
is no longer necessary

Fixes: 1d6132e ("global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD")

Signed-off-by: Philip Molloy <[email protected]>
(cherry picked from commit ebfbc77)
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 <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>

---

Series-to: uboot
Series-cc: [email protected]

Cover-letter:
sc5xx: Add complete board support for all ADI SC5xx boards
This series adds the final pieces to enable mainline U-Boot to build and
boot all Analog Devices SC5xx SoCs and supports the associated carrier
board options. At this point it should be viable for new users for these
platforms to start with the latest version of U-Boot rather than our
vendor fork, however some features (such as OSPI support and falcon
boot) remain unavailable until we are able to unify our implementations
with the mainline implementations.
END
Binman is optionally supported for Analog Devices sc5xx 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, stage 2
bootloader LDR, 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 <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
ADI processors require packaging with the ldr utility for bootrom
compatibility. Normally this is available as part of our yocto-derived
toolchain but it is not a part of any other premade toolchain, so it is
otherwise unavailable in the docker image for CI. This patch adds a
source build from the ADI maintained github repository. 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 <[email protected]>
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 <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
This adds support for the Analog Devices SC573 EZKIT.

Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
This adds support for the Analog Devices SC589-EZKIT and SC589-mini.

Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
This adds support for the Analog Devices SC584-EZKIT.

Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
This adds support for the Analog Devices SC598-SOM and configurations
for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE.

Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
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 <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
This adds missing maintainers entries for the ADI SC5xx defconfigs.

Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
@pamolloy
Copy link
Collaborator

There's an extra newline between the SPDX and Copyright comment block in all the env files that would be nice to remove. 🙏

@pamolloy pamolloy added ADSP and removed ADSP labels Aug 6, 2025
@pamolloy pamolloy added this to ADSP Aug 6, 2025
@pamolloy pamolloy moved this to In Progress in ADSP Aug 6, 2025
@pamolloy pamolloy added the enhancement New feature or request label Aug 6, 2025
Comment on lines +16 to +18
gpio_hog_lookup_name("~eth1-en", &eth1);
gpio_hog_lookup_name("~eth1-reset", &eth1_reset);
gpio_hog_lookup_name("~gige-reset", &gige_reset);
Copy link
Collaborator

Choose a reason for hiding this comment

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

This will need to be updated when the tilde is removed from the GPIO hog names

clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>;
};

&i2c2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c2{
&i2c2 {

adi,ngpios = <92>;
};

&clk{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&clk{
&clk {

compatible = "adi,sc57x-clocks";
};

&uart0{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&uart0{
&uart0 {

clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>;
};

&spi2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&spi2{
&spi2 {

reg = <0x31044000 0x1000>;
};

&wdog{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&wdog{
&wdog {

clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>;
};

&eth0{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&eth0{
&eth0 {

reg = <0x3100C000 0x1000>;
};

&mmc{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&mmc{
&mmc {

clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>;
};

&i2c1{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c1{
&i2c1 {

compatible = "adi,sc594-som-ezkit", "adi,sc59x";
};

&i2c2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c2{
&i2c2 {

&gpio0 {
adi,ngpios = <102>;
};

Copy link
Collaborator

Choose a reason for hiding this comment

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

The following nodes also need a space

compatible = "adi,sc594-som-ezlite", "adi,sc59x";
};

&i2c2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c2{
&i2c2 {

<0x3108e000 0x1000>,
<0x3108f000 0x1000>;
};

Copy link
Collaborator

Choose a reason for hiding this comment

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

The following nodes also need a space

compatible = "adi,sc598-som-ezkit", "adi,sc59x-64";
};

&i2c2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c2{
&i2c2 {

compatible = "adi,sc598-som-ezlite", "adi,sc59x-64";
};

&i2c2{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
&i2c2{
&i2c2 {

&rcu {
status = "okay";
};

Copy link
Collaborator

Choose a reason for hiding this comment

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

The following nodes also need a space

@pamolloy pamolloy moved this from In Development to Mainlining in ADSP Aug 20, 2025
};

&i2c0 {
gpio_expander1: mcp23017@21 {
Copy link
Collaborator

@pamolloy pamolloy Sep 1, 2025

Choose a reason for hiding this comment

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

Suggested change
gpio_expander1: mcp23017@21 {
crr_gpio_expander: mcp23017@21 {

};

&i2c2 {
gpio_expander1: mcp23017@21 {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
gpio_expander1: mcp23017@21 {
crr_gpio_expander: mcp23017@21 {

&i2c0 {
#address-cells = <1>;
#size-cells = <0>;
gpio_expander1: mcp23017@21 {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
gpio_expander1: mcp23017@21 {
crr_gpio_expander: mcp23017@21 {

&i2c2{
clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>;

gpio_expander1: mcp23018@20 {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
gpio_expander1: mcp23018@20 {
som_gpio_expander: mcp23018@20 {

@pamolloy pamolloy changed the base branch from adi-u-boot-2025.07.y to adi-u-boot-2025.10.y September 1, 2025 12:50
@pamolloy
Copy link
Collaborator

pamolloy commented Sep 2, 2025

I updated the base of this PR to adi-u-boot-2025.10.y, which currently points to v2025.10-rc3. When v2025.10 is created I'll update adi-u-boot-2025.10.y accordingly.

That way I can merge the v1 commits as is into adi-u-boot-2025.07.y and then open a PR adding the additional changes required to make Rev E work.

@gmalysa gmalysa force-pushed the adi-u-boot-2025.07.y branch 2 times, most recently from b7d1c79 to da01a1b Compare September 4, 2025 00:51
@gmalysa
Copy link
Author

gmalysa commented Sep 4, 2025

I rebased on top of uboot/master rather than v2025.10 (as this was a tag) which pollutes this merge with too many unrelated commits. I swapped it back to the original commit to keep things in order here, and I'll get a better sense of the adi-u-boot-2025.10.y setup from you in the morning.

@gmalysa
Copy link
Author

gmalysa commented Sep 18, 2025

I've updated v2: https://github.com/gmalysa/adi-u-boot/tree/dev/sc5xx-boards-v2. the commits can be based on uboot/master or adi u-boot/2025.10.y but currently it is on top of uboot/master (and so has some duplicates with regard to uboot/next where several of our other commits have been accepted).

So far changes include:
✔️ whitespace fixes in dts files from this thread
✔️ includes all of the gpio polarity fixes that Caleb wrote
✔️/⚠️ carrier gpio references updated to account for ~ and polarity changes but I will test on hardware tomorrow
✔️ includes #4 to support RevE by default

Not included yet:
❌ mailing list feedback from earlier submission
❌ building and testing on sc5xx armv7 variants because my toolchain is broken while building the latest uboot for armv7--not sure what is wrong but i am rebuilding my sdk with the latest yocto release tomorrow to see if that fixes it


wdog: watchdog@31008000 {
compatible = "adi,wdt";
reg = <0x3108b000 0x1000>,
Copy link
Collaborator

Choose a reason for hiding this comment

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

#24

@pamolloy pamolloy closed this Oct 7, 2025
@github-project-automation github-project-automation bot moved this from Mainlining to Done in ADSP Oct 7, 2025
@pamolloy pamolloy reopened this Oct 7, 2025
@pamolloy pamolloy moved this from Done to Mainlining in ADSP Oct 7, 2025
@pamolloy pamolloy force-pushed the adi-u-boot-2025.10.y branch 3 times, most recently from 10c751d to 2043cff Compare October 7, 2025 17:42
@pamolloy
Copy link
Collaborator

pamolloy commented Oct 7, 2025

@gastmaier I can only assume the CI isn't running because Github triggers based on the remote branch and not based on merging the remote and target branches. So hopefully rebasing on adi-u-boot-2025.10.y (including the workflow) will then generate a prompt that I can approve to run the workflow.

@gastmaier
Copy link
Collaborator

Hi, I don't have an explanation why this pr is not picking the ci.
May be because the context when the ci was opened didn't have any ci in the base branch yet.
I mirrored the pr at my account, and the ci did run:
https://github.com/gastmaier/u-boot/actions/runs/18345396775

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Mainlining
Development

Successfully merging this pull request may close these issues.

4 participants