Skip to content

Conversation

artursartamonovsadi
Copy link

Minimal patch set to boot into ADSP-SC598-SOM with initramfs to UART Linux shell.
Based on v1 sent to kernel mailinglist. Tested with ADSP-SC598-SOM RevC

PR Type

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

PR Checklist

  • [x ] I have conducted a self-review of my own code changes
  • [x ] I have tested the changes on the relevant hardware
  • [x ] I have updated the documentation outside this repo accordingly (if there is the case)

Add ADSP-SC598 platform.

Co-developed-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Support custom GPIO pin configuration for non-GPIO functions.

Co-developed-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Adding support for ADI ADSP reset controller. This driver allows
trigger a software reset.

Co-developed-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Bindigs for ADI ADSP-SC5xx reset controller

Co-developed-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
add  SoC ADSP-SC5xx

Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Implements clock tree, no dynamic pll rate change.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC5xx clock driver

Co-developed-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC5xx clock bindings.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC5xx GPIO driver.
- Support all GPIO ports
- Each gpio support seperate PINT interrupt controller

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC5xx GPIO driver bindings.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC5xx pinctrler:
 - Support switching GPIO pin functions.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add PINCTRL driver bindings.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add support for I2C on SC5xx

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add I2C driver bindings.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Adding UART driver,supports all ADSP-SC5xx SoC family
- Support FIFO mode
- Support earlyprintk
- Support Enable Divide By One support, for higher clock resolutions.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add serial driver bindings.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADI SC598-EZKIT device tree.
Support UART console as output.

Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC598 defconfig

Co-developed-by: Utsav Agarwal <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Co-developed-by: Greg Malysa <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Add ADSP-SC598 maitaniners

Signed-off-by: Arturs Artamonovs <[email protected]>
@pamolloy
Copy link
Collaborator

Thanks so much for posting this! @UtsavAgarwalADI and I were chatting about the sign off section for an earlier set of patches. It is probably easier to just discuss it in person, but also take a look at https://www.kernel.org/doc/html/latest/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by. The two examples at the end of the section are especially helpful.

@pamolloy
Copy link
Collaborator

It would be good to link to the original mailing list review in the description:

https://lore.kernel.org/lkml/[email protected]/

select COUNTER
help
This enables support for Analog Devices Incorporated's
Family of ARM64 DSP processors
Copy link
Collaborator

Choose a reason for hiding this comment

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

Then maybe mention here ADSP-SC596 and ADSP-SC598 explicitly

MODULE_DESCRIPTION("Analog Devices CLock PLL driver");
MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Greg Malysa <[email protected]>");

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

unsigned int id;
enum adi_clk_branch_type branch_type;
const char *name;
const char *const *parent_names; //should be const?
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be addressed or removed

const char *const *parent_names; //should be const?
u8 num_parents;
unsigned long flags;
unsigned long offset; //void ** iomem offset?!
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be addressed or removed

@@ -771,7 +788,7 @@ config SERIAL_CPM
depends on CPM2 || CPM1
select SERIAL_CORE
help
This driver supports the SCC and SMC serial ports on Motorola
This driver supports the SCC and SMC serial ports on Motorola
Copy link
Collaborator

Choose a reason for hiding this comment

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

@nunojsa should this go in a different commit? Perhaps get submitted separately? The whitespace is still there on next.

Choose a reason for hiding this comment

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

Probably was fixed when did the checkpatch, will revert this

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeps, it should go in a separate commit

Copy link
Collaborator

Choose a reason for hiding this comment

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

@artursartamonovsadi you don't need to revert it, just move it into a new commit. Still a valuable contribution!

$id: http://devicetree.org/schemas/arm/analog/adi,sc5xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices SC59X 64-Bit ARM-based Processor Families
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
title: Analog Devices SC59X 64-Bit ARM-based Processor Families
title: Platforms based on Analog Devices SC59X 64-Bit SoCs

But the filename is sc5xx.yaml. So maybe sc59x.yaml or as much as I hate it, sc59x_64.yaml since aarch64 isn't in a separate directory here.

@gastmaier
Copy link
Contributor

gastmaier commented Aug 28, 2025

The ci runs on individual commits, in the context of as a series to be submitted.
Fixing the checkpatch warnings as a commit in the head won't fix the run, instead you do need to rewrite history, like a v2 submission.

You can even keep the cover letter commit, if you want

@artursartamonovsadi
Copy link
Author

Im also running the checkpatch locally to see whole picture.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants