-
Notifications
You must be signed in to change notification settings - Fork 2
sc5xx: Add complete board support for all ADI SC5xx boards #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: adi-u-boot-2025.10.y
Are you sure you want to change the base?
sc5xx: Add complete board support for all ADI SC5xx boards #10
Conversation
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]>
There's an extra newline between the SPDX and Copyright comment block in all the env files that would be nice to remove. 🙏 |
gpio_hog_lookup_name("~eth1-en", ð1); | ||
gpio_hog_lookup_name("~eth1-reset", ð1_reset); | ||
gpio_hog_lookup_name("~gige-reset", &gige_reset); |
There was a problem hiding this comment.
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{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c2{ | |
&i2c2 { |
adi,ngpios = <92>; | ||
}; | ||
|
||
&clk{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&clk{ | |
&clk { |
compatible = "adi,sc57x-clocks"; | ||
}; | ||
|
||
&uart0{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&uart0{ | |
&uart0 { |
clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>; | ||
}; | ||
|
||
&spi2{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&spi2{ | |
&spi2 { |
reg = <0x31044000 0x1000>; | ||
}; | ||
|
||
&wdog{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&wdog{ | |
&wdog { |
clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>; | ||
}; | ||
|
||
ð0{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ð0{ | |
ð0 { |
reg = <0x3100C000 0x1000>; | ||
}; | ||
|
||
&mmc{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&mmc{ | |
&mmc { |
clocks = <&clk ADSP_SC57X_CLK_CGU0_SCLK0>; | ||
}; | ||
|
||
&i2c1{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c1{ | |
&i2c1 { |
compatible = "adi,sc594-som-ezkit", "adi,sc59x"; | ||
}; | ||
|
||
&i2c2{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c2{ | |
&i2c2 { |
&gpio0 { | ||
adi,ngpios = <102>; | ||
}; | ||
|
There was a problem hiding this comment.
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{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c2{ | |
&i2c2 { |
<0x3108e000 0x1000>, | ||
<0x3108f000 0x1000>; | ||
}; | ||
|
There was a problem hiding this comment.
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{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c2{ | |
&i2c2 { |
compatible = "adi,sc598-som-ezlite", "adi,sc59x-64"; | ||
}; | ||
|
||
&i2c2{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&i2c2{ | |
&i2c2 { |
&rcu { | ||
status = "okay"; | ||
}; | ||
|
There was a problem hiding this comment.
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
}; | ||
|
||
&i2c0 { | ||
gpio_expander1: mcp23017@21 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpio_expander1: mcp23017@21 { | |
crr_gpio_expander: mcp23017@21 { |
}; | ||
|
||
&i2c2 { | ||
gpio_expander1: mcp23017@21 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpio_expander1: mcp23017@21 { | |
crr_gpio_expander: mcp23017@21 { |
&i2c0 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
gpio_expander1: mcp23017@21 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpio_expander1: mcp23017@21 { | |
crr_gpio_expander: mcp23017@21 { |
&i2c2{ | ||
clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>; | ||
|
||
gpio_expander1: mcp23018@20 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpio_expander1: mcp23018@20 { | |
som_gpio_expander: mcp23018@20 { |
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. |
b7d1c79
to
da01a1b
Compare
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. |
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: Not included yet: |
|
||
wdog: watchdog@31008000 { | ||
compatible = "adi,wdt"; | ||
reg = <0x3108b000 0x1000>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
10c751d
to
2043cff
Compare
@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 |
Hi, I don't have an explanation why this pr is not picking the ci. |
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.