ADSP-SC598 upstream driver changes v2#2908
Conversation
|
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. |
|
It would be good to link to the original mailing list review in the description: https://lore.kernel.org/lkml/20240912-test-v1-0-458fa57c8ccf@analog.com/ |
|
@artursartamonovsadi tested it and it was able to boot. We may need to revert the I2C driver, but I'll figure that out as I rebase |
artursartamonovsadi
left a comment
There was a problem hiding this comment.
Went trough mailinglist comments and added if those wheren't addressed, so possible to track those here.
| struct clk *sclk; | ||
| }; | ||
|
|
||
| static void adi_twi_handle_interrupt(struct adi_twi_iface *i2c, |
There was a problem hiding this comment.
change name from adi_twi to match driver to adi_i2c
| / { | ||
| chosen { | ||
| stdout-path = &uart1; | ||
| bootargs = "earlycon=adi_uart,0x31003000 console=ttySC0,115200 mem=224M"; |
There was a problem hiding this comment.
Comment from the mailinglist:
You should not need the mem= and earlycon= arguments, as that data
is already part of the stdout-path property and the memory node.
Second comment:
Drop entire bootargs. Look how other SoCs do it, if you need port speed.
| serial0 = &uart0; | ||
| serial2 = &uart2; | ||
| serial3 = &uart3; | ||
| }; |
There was a problem hiding this comment.
Comments from mailinglist:
The aliases are board specific, please only list the ones
that are actually enabled and wired on on a particular
board, and make the aliases match the labels on the board
rather than the internal components of hte chip.
| reg = <0x0 0x0>; | ||
| enable-method = "spin-table"; | ||
| cpu-release-addr = <0x0 0xdeadbeef>; | ||
| clocks = <&clk_cgu0 ADSP_CLK_ARM>, <&clk_cgu0 ADSP_CLK_DDR>; |
There was a problem hiding this comment.
Comments from mailinglist:
Is that the actual address? It looks like some placeholder
that should not have been here.
| #clock-cells = <1>; | ||
| clocks = <&sys_clkin0>, <&sys_clkin1>; | ||
| clock-names = "sys_clkin0", "sys_clkin1"; | ||
| status = "okay"; |
| clock-output-names = "sys_clkin0"; | ||
| }; | ||
|
|
||
| sys_clkin1: oscillator@2 { |
There was a problem hiding this comment.
Comment from mailinglist:
How are these properties of the SoC? Where are they located physically?
See DTS coding style.
| status = "okay"; | ||
| }; | ||
|
|
||
| scb: scb-bus { |
There was a problem hiding this comment.
Comment from mailinglist:
What is scb-bus?
See DTS coding style or any other SoC. This is supposed to be just sco@
with proper unit address.
| status = "disabled"; | ||
| }; | ||
|
|
||
| i2c0: twi@31001400 { |
There was a problem hiding this comment.
Comment from mailinglist:
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
Completely wrong order of properties. Please follow DTS coding style.
| #address-cells = <1>; | ||
| #size-cells = <0>; | ||
| compatible = "adi,sc5xx-i2c"; | ||
| reg = <0x31001400 0xFF>; |
| gpio-ranges = <&pinctrl0 0 96 16>; | ||
| }; | ||
|
|
||
| gph: gport@31004380 { |
There was a problem hiding this comment.
Comment:
Node names should be generic
d4bcd8a to
940d44c
Compare
Add headers for GPIO port management, RCU and general system configuration 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Signed-off-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Co-developed-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Support triggering a software reset 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Signed-off-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Co-developed-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for the reset controller in ADI ADSP-SC5xx SoCs 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Signed-off-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for ADI evaluation boards using ADSP-SC59x SoCs 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Signed-off-by: Utsav Agarwal <Utsav.Agarwal@analog.com> Co-developed-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Implement the clock tree without dynamic PLL rate change 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add device tree bindings for the ADSP-SC5xx clock distribution unit (CDU) and clock generation unit (CGU) 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add ADSP-SC5xx clock driver Co-developed-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Co-developed-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>
- Support all GPIO ports - Each gpio support seperate PINT interrupt controller 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for ADSP-SC5xx general-purpose ports, pin multiplexing, general-purpose input/output (GPIO) functionality, and pin interrupts. 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for the ADSP-SC5xx pinmux control 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Support switching GPIO pin functions 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add I2C support on ADSP-SC5xx SoCs 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for ADSP-SC5xx I2C/TWI 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
- Support FIFO mode - Support earlyprintk - Support Enable Divide By One support, for higher clock resolutions. 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add bindings for the ADSP-SC5xx UART 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add support for the ADSP-SC59x SoC, EV-SC598-SOM and EV-SOMCRR-EZKIT 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 <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add Arturs Artamonov as the maintainer of ADSP-SC5xx SoCs Signed-off-by: Arturs Artamonovs <Arturs.Artamonovs@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Add initial support for the ADSP-SC598 Signed-off-by: Philip Molloy <philip@philipmolloy.com>
da5301b to
6ebb1f7
Compare
|
Assuming this builds 🤞, I'm going to merge it. @artursartamonovsadi I made some small changes to the dt-bindings and moved two |
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
PR Checklist