Skip to content

Conversation

@pamolloy
Copy link
Collaborator

@pamolloy pamolloy commented Jan 29, 2026

This is just a quick test, rebasing onto 6.18. The conflicts were very minor, just in Makefiles and the like. Still a few compilation errors left to clean up.

  • Squash all commits with Fixes
  • Fix the Fixes to point to ADI commits
  • Reword some of the commit messages
  • Port applicable commits back to 6.12

@pamolloy pamolloy added this to ADSP Jan 29, 2026
pamolloy and others added 16 commits January 29, 2026 22:14
Only supports the ADZS-SC589-MINI

Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Adding SoC audio support for the following modes:

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

Signed-off-by: Utsav Agarwal <[email protected]>
Update the driver to match the new `void` return type and remove the
useless `return 0;`.

The `remove` callback in `struct platform_driver` has transitioned to
returning `void` instead of `int`. This transition started with commit
5c5a768 ("platform: Provide a remove callback that returns no
value"), continued with commit 0edb555 ("platform: Make
platform_driver::remove() return void"), and was finalized in commit
e70140b ("Get rid of "remove_new" relic from platform driver
struct").

Fixes: f72ed8b ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <[email protected]>
Update `adsp_gpio_set_value` to return `int` and return 0 to match the
expected function signature.

The `set` callback in `struct gpio_chip` now returns `int` instead of
`void`. This change was finalized in recent kernel updates where the
legacy `void` return callbacks were removed and the integer-returning
variants (`set_rv`) were renamed back to `set`.

Fixes: 802ae97 ("gpio: Add GPIO port driver for ADSP-SC5xxx SoCs")
Signed-off-by: Philip Molloy <[email protected]>
The ASoC core has removed the old DAI format macros (SND_SOC_DAIFMT_CBM_CFM,
etc.) in favor of the new Provider/Consumer terminology (SND_SOC_DAIFMT_CBP_CFP).

Update the adau1962 driver to use the new macros to fix compilation errors.

Fixes: 6422edf ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <[email protected]>
The ASoC core has removed the old DAI format macros (SND_SOC_DAIFMT_CBM_CFM,
etc.) in favor of the new Provider/Consumer terminology (SND_SOC_DAIFMT_CBP_CFP).

Update the sc5xx-i2s and sc5xx-asoc-card drivers to use the new macros to
fix compilation errors.

Fixes: 6422edf ("sound: soc: adi: Add ALSA support for ADSP-SC598")
Signed-off-by: Philip Molloy <[email protected]>
del_timer() has been removed from the kernel API. Use timer_delete() instead.

Fixes: 325ef9c ("serial: Add UART driver for SC5xx SoCs")
Signed-off-by: Philip Molloy <[email protected]>
devm_spi_alloc_master() has been removed/renamed to devm_spi_alloc_host().
Update the driver to use the new API.

Fixes: a0ce7f8 ("spi: Add v3 SPI controller support for ADSP-SC5xx")
Signed-off-by: Philip Molloy <[email protected]>
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: aca6a1b ("net: stmmac: dwmac-adi: Add support for ADSP-SC598")
Signed-off-by: Philip Molloy <[email protected]>
@pamolloy pamolloy force-pushed the adsp-6.18.0/philip/rebase-adsp-6.12.0 branch 3 times, most recently from 6989dad to e4e85b6 Compare February 4, 2026 09:56
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: c2cd6b4 ("misc: sram: adi: Add drivers for ADSP-SCxxx SoCs")
Signed-off-by: Philip Molloy <[email protected]>
Fixes: fa46a50 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <[email protected]>
The .remove_new callback has been removed after the transition of .remove
callback to return void is complete. Update the driver to use .remove.

Fixes: fa46a50 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <[email protected]>
adi_remoteproc.c includes arch specific code under linux/soc/ that is
not enabled with COMPILE_TEST making it impossible to build the driver
with COMPILE_TEST enabled

Signed-off-by: Philip Molloy <[email protected]>
The examples all used the same label, which caused dt_binding_check to
error. Also remove the 0x prefix in the unit address

Fixes: 2c30a21 ("dt-bindings: clock: Add ADSP-SC5xx clock bindings")
Signed-off-by: Philip Molloy <[email protected]>
Fix incorrect $id path and add missing descriptions and types to vendor
properties to satisfy meta-schema requirements. Additionally, add the
missing dt-bindings includes to the example so that it can be correctly
compiled during validation.

Fixes: fa46a50 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <[email protected]>
The example provided in the binding document uses two interrupts ("mc" and
"dma"), but the schema was restricting 'interrupts' and 'interrupt-names'
to a maximum of 1 item.

This configuration is also observed in the device tree files for sc58x and
sc57x processors (arch/arm/boot/dts/adi/sc58x.dtsi and
arch/arm/boot/dts/adi/sc57x.dtsi), where 'adi,musb' nodes are defined with
two interrupts:

arch/arm/boot/dts/adi/sc58x.dtsi:
  usb0: usb@310c1000 {
      ...
      interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "mc", "dma";
      ...
  };

arch/arm/boot/dts/adi/sc57x.dtsi:
  usb0: usb@310c1000 {
      ...
      interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "mc", "dma";
      ...
  };

Update the schema to allow up to 2 interrupts and strictly define the
'interrupt-names' as "mc" and "dma" to match the example and hardware
requirements.

Fixes: fa46a50 ("usb: musb: adi: Adding adsp musb glue layer")
Signed-off-by: Philip Molloy <[email protected]>
Restrict the ADI SC59x clock drivers to their respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: 658afbc ("clk: adi: Add clock driver for ADSP-SC594")
Signed-off-by: Philip Molloy <[email protected]>
Restrict the ADI SC59x clock driver to the respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: b3479c4 ("clk: adi: Add clock driver for ADSP-SC589")
Signed-off-by: Philip Molloy <[email protected]>
Restrict the ADI SC573 clock driver to the respective architecture or
compile testing to prevent build failures on incompatible platforms and
ensure correct configuration.

Fixes: 65b0b49 ("clk: adi: Add clock driver for ADSP-SC573")
Signed-off-by: Philip Molloy <[email protected]>
@pamolloy pamolloy force-pushed the adsp-6.18.0/philip/rebase-adsp-6.12.0 branch from e4e85b6 to e3fbee4 Compare February 4, 2026 10:02
Remove duplicate kconfig entry for COMMON_CLK_ADI_SC598 in
drivers/clk/Kconfig. An entry with the same name, along with entries for
other chips, already exists in drivers/clk/adi/Kconfig

Fixes: ("ad7679072a731 clock: Add driver for ADSP-SC5xx")
Signed-off-by: Philip Molloy <[email protected]>
@pamolloy pamolloy force-pushed the adsp-6.18.0/philip/rebase-adsp-6.12.0 branch 2 times, most recently from 6f84b08 to 7e8096b Compare February 4, 2026 12:41
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 <[email protected]>
@pamolloy pamolloy force-pushed the adsp-6.18.0/philip/rebase-adsp-6.12.0 branch from 7e8096b to edd75f8 Compare February 4, 2026 12:45
@pamolloy
Copy link
Collaborator Author

Nearly all the changes have been back ported so when we move to 6.18 it should just be a matter of rebasing and squashing

@pamolloy pamolloy closed this Feb 11, 2026
@github-project-automation github-project-automation bot moved this to Done in ADSP Feb 11, 2026
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.

3 participants