Skip to content

arm/arm64: dts: adi: sc59x: fix I2C and CRC nodes#3209

Open
jiez wants to merge 100 commits into
adsp-6.18.31-yfrom
3198-i2c-and-crc-nodes-missing-in-adsp-sc59x-devicetrees
Open

arm/arm64: dts: adi: sc59x: fix I2C and CRC nodes#3209
jiez wants to merge 100 commits into
adsp-6.18.31-yfrom
3198-i2c-and-crc-nodes-missing-in-adsp-sc59x-devicetrees

Conversation

@jiez
Copy link
Copy Markdown

@jiez jiez commented Mar 25, 2026

This patch does the following:

  • sc594-som.dtsi and sc598-som.dtsi: remove useless code

  • sc59x.dtsi: add i2c3/4/5 nodes; fix register block length in i2c controller nodes; fix register block base address, register block length, interrupt number in crc0 and crc1 nodes; add crc2 and crc3.

  • sc59x-64.dtsi: fix register block length for crc0 and crc1; add crc2 and crc3; add crc2_dma and crc3_dma in crc_cluster.

PR Description

  • Please replace this comment with a summary of your changes, and add any context
    necessary to understand them. List any dependencies required for this change.
  • To check the checkboxes below, insert a 'x' between square brackets (without
    any space), or simply check them after publishing the PR.
  • If you changes include a breaking change, please specify dependent PRs in the
    description and try to push all related PRs simultaneously.

PR Type

  • Bug fix (a change that fixes an issue)
  • New feature (a change that adds new functionality)
  • Breaking change (a change that affects other repos or cause CIs to fail)

PR Checklist

  • I have conducted a self-review of my own code changes
  • I have compiled my changes, including the documentation
  • I have tested the changes on the relevant hardware
  • I have updated the documentation outside this repo accordingly
  • I have provided links for the relevant upstream lore

pamolloy and others added 30 commits November 4, 2025 13:53
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>
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>
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>
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>
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>
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>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Only supports the ADZS-SC589-MINI

Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: UtsavAgarwalADI <utsav.agarwal@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Co-developed-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Signed-off-by: Utsav Agarwal <Utsav.Agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Adding SoC audio support for the following modes:

- ASoC (linux only audio)
- SHARC ALSA (Hybrid Audio)
- SHARC

Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
pamolloy and others added 11 commits February 9, 2026 19:58
Introduce a hidden Kconfig symbol COMMON_CLK_ADI_PLL to handle the shared
PLL code in clk-adi-pll.c.

Previously, the Makefile attempted to build clk-adi-pll.o based on
architecture flags (ARCH_SC5XX, ARCH_SC59X_64), which is fragile and
incorrect if multiple drivers are enabled or if they are built as modules.

Update the specific clock drivers (SC57X, SC58X, SC594, SC598) to select
COMMON_CLK_ADI_PLL, and update the Makefile to build clk-adi-pll.o
only when this symbol is selected.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Enable COMPILE_TEST for ADI system configuration and PADS drivers.
This allows these drivers to be built on other architectures for
testing purposes, increasing build coverage.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Remove the unused drivers/soc/adi/mach-sc59x/Kconfig file.
The symbols defined in this file are not used.

Fixes: ca0a7f7 ("soc: adi: Add initial support for SC5xx SoCs")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The `.legacy_dai_naming = 1` flag was inadvertently removed from the
axi_spdif_component driver structure.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The `.legacy_dai_naming = 1` flag was inadvertently removed from the
axi_i2s_component driver structure.

Fixes: d23d7ee ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The output for the gige-reset line was not changed
when the polarity of the gpio was changed, resulting in the
gige-reset line being active all the time and preventing
the probe of the ethernet.

Fixes: 7eaf7e4 (ARM: dts: adi: fix polarity of GPIO signals)
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reconfiguring the partitions in the SPI and OSPI to remove
the DTB partition and give the extra space to the rootfs
partition.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
GCC 15 changed the default C standard version to C23, which should not
have impacted the kernel because it requests the gnu11 standard via
'-std=' in the main Makefile. However, the x86 compressed boot Makefile
uses its own set of KBUILD_CFLAGS without a '-std=' value (i.e., using
the default), resulting in errors from the kernel's definitions of bool,
true, and false in stddef.h, which are reserved keywords under C23.

  ./include/linux/stddef.h:11:9: error: expected identifier before ‘false’
     11 |         false   = 0,
  ./include/linux/types.h:35:33: error: two or more data types in declaration specifiers
     35 | typedef _Bool                   bool;

Set '-std=gnu11' in the x86 compressed boot Makefile to resolve the
error and consistently use the same C standard version for the entire
kernel.

Closes: https://lore.kernel.org/4OAhbllK7x4QJGpZjkYjtBYNLd_2whHx9oFiuZcGwtVR4hIzvduultkgfAIRZI3vQpZylu7Gl929HaYFRGeMEalWCpeMzCIIhLxxRhq4U-Y=@protonmail.com/
Closes: https://lore.kernel.org/Z4467umXR2PZ0M1H@tucnak/
Reported-by: Kostadin Shishmanov <kostadinshishmanov@protonmail.com>
Reported-by: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Cc:stable@vger.kernel.org
Link: https://lore.kernel.org/all/20250121-x86-use-std-consistently-gcc-15-v1-1-8ab0acf645cb%40kernel.org
(cherry picked from commit ee2ab46)
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Remove unused button-led device tree nodes from sc573-ezlite,
and sc594-som boards.

Signed-off-by: Ozan Durgut <ozndrgt@gmail.com>
Removing these hardcoded bootargs since they are
not needed, bootargs are passed from U-boot for
ADSP platforms.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Update the labels of SPI/OSPI partitions to
maintain consistency across repos.

Fixes: c400f44 (ARM: dts: adi: Update SPI and OSPI partitions in device tree)
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
@jiez jiez requested review from a team, ozan956 and pamolloy March 25, 2026 21:36
@jiez jiez force-pushed the 3198-i2c-and-crc-nodes-missing-in-adsp-sc59x-devicetrees branch from 661c0b1 to 951725d Compare March 25, 2026 21:39
@pamolloy pamolloy added this to ADSP Mar 26, 2026
can0 = &can0;
can1 = &can1;
rtc0 = &rtc0;
*/
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you also look for other commented blocks like this and clean them up? 🙏

crypto_crc_poly = <0x5c5c5c5c>;
status = "disabled";
};

Copy link
Copy Markdown
Collaborator

@pamolloy pamolloy Mar 26, 2026

Choose a reason for hiding this comment

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

Please split the CRC changes into a separate commit. How did you come across the fact that the addresses were wrong and that there are two missing nodes? Is this the same in U-Boot? And where did you get the new interrupt numbers?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Because 0x31001200 is the base address of i2c5. So crc0 cannot have the same base address. When looking for the correct address in the manuals, I noticed that sc59x has 4 CRC devices while sc57x and sc58x have only 2. U-Boot does not have CRC devices in sc5xx devicetree files. All information are from the latest processor hardware reference manuals.

Copy link
Copy Markdown
Collaborator

@nunojsa nunojsa left a comment

Choose a reason for hiding this comment

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

On top of Philip's comments, we should have one patch for ARM and another for arm64.

@jiez
Copy link
Copy Markdown
Author

jiez commented Mar 26, 2026

On top of Philip's comments, we should have one patch for ARM and another for arm64.

Why?

@nunojsa
Copy link
Copy Markdown
Collaborator

nunojsa commented Mar 26, 2026

Basically because in linux we want self contained commits when possible. Like per arch, subystem, file... It likely does not apply/matter here but imagine you wanted to backport, apply this commit somewhere else only on ARM. You would need to take care about the arm64 changes.

@jiez
Copy link
Copy Markdown
Author

jiez commented Mar 26, 2026

Basically because in linux we want self contained commits when possible. Like per arch, subystem, file... It likely does not apply/matter here but imagine you wanted to backport, apply this commit somewhere else only on ARM. You would need to take care about the arm64 changes.

I don't see the possibility of this scenario. In what situation we will want to backport this change only on ARM but not ARM64?

@nunojsa
Copy link
Copy Markdown
Collaborator

nunojsa commented Mar 26, 2026

I don't see the possibility of this scenario. In what situation we will want to backport this change only on ARM but not ARM64?

As I said, "...It likely does not apply/matter here...". But this is about processes and best practices. Up to you and Philip anyways 🤷‍♂️

jiez added 4 commits March 26, 2026 14:59
This patch does the following:

  - sc594-som.dtsi: remove useless code

  - sc59x.dtsi: fix register block base address, register block length,
    interrupt number in crc0 and crc1 nodes; add crc2 and crc3.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Fix register block length for crc0 and crc1. Add crc2 and crc3.
Add crc2_dma and crc3_dma in crc_cluster.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
This patch does the following:

  - sc594-som.dtsi: remove useless code

  - sc59x.dtsi: add i2c3/4/5 nodes; fix register block length in i2c
    controller nodes.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Remove useless code from sc598-som.dtsi.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
@jiez jiez force-pushed the 3198-i2c-and-crc-nodes-missing-in-adsp-sc59x-devicetrees branch from 951725d to f1c2c1d Compare March 26, 2026 21:32
@pamolloy pamolloy changed the base branch from adsp-6.12.0-y to adsp-6.18.31-y May 21, 2026 12:46
@pamolloy
Copy link
Copy Markdown
Collaborator

@jiez Please rebase this on top of adsp-6.18.31-y 🙏

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

9 participants