[PATCH 00/21] Adding support of ADI ARMv8 ADSP-SC598 SoC.

From: Arturs Artamonovs via B4 Relay
Date: Thu Sep 12 2024 - 14:21:10 EST


This set of patches based on ADI fork of Linux Kerenl that support family of ADSP-SC5xx
SoC's and used by customers for some time . Patch series contains minimal set
of changes to add ADSP-SC598 support to upstream kernel. This series include
UART,I2C,IRQCHIP,RCU drivers and device-tree to be able boot on EV-SC598-SOM
board into serial shell and able to reset the board. Current SOM board
requires I2C expander to enable UART output.

UART,I2C and PINCTRL drivers are based on old Blackfin drivers with
ADSP-SC5xx related bug fixes and improvments.

Signed-off-by: Arturs Artamonovs <arturs.artamonovs@xxxxxxxxxx>
---
Arturs Artamonovs (21):
arm64: Add ADI ADSP-SC598 SoC
reset: Add driver for ADI ADSP-SC5xx reset controller
dt-bindigs: arm64: adi,sc598 bindings
dt-bindings: arm64: adi,sc598: Add ADSP-SC598 SoC bindings
clock:Add driver for ADI ADSP-SC5xx PLL
include: dt-binding: clock: add adi clock header file
clock: Add driver for ADI ADSP-SC5xx clock
dt-bindings: clock: adi,sc5xx-clocks: add bindings
gpio: add driver for ADI ADSP-SC5xx platform
dt-bindings: gpio: adi,adsp-port-gpio: add bindings
irqchip: Add irqchip for ADI ADSP-SC5xx platform
dt-bindings: irqchip: adi,adsp-pint: add binding
pinctrl: Add drivers for ADI ADSP-SC5xx platform
dt-bindings: pinctrl: adi,adsp-pinctrl: add bindings
i2c: Add driver for ADI ADSP-SC5xx platforms
dt-bindings: i2c: add i2c/twi driver documentation
serial: adi,uart: Add driver for ADI ADSP-SC5xx
dt-bindings: serial: adi,uart4: add adi,uart4 driver documentation
arm64: dts: adi: sc598: add device tree
arm64: defconfig: sc598 add minimal changes
MAINTAINERS: add adi sc5xx maintainers

.../devicetree/bindings/arm/analog/adi,sc5xx.yaml | 24 +
.../bindings/clock/adi,sc5xx-clocks.yaml | 65 ++
.../bindings/gpio/adi,adsp-port-gpio.yaml | 69 ++
Documentation/devicetree/bindings/i2c/adi,twi.yaml | 71 ++
.../interrupt-controller/adi,adsp-pint.yaml | 51 +
.../bindings/pinctrl/adi,adsp-pinctrl.yaml | 83 ++
.../devicetree/bindings/serial/adi,uart.yaml | 85 ++
.../bindings/soc/adi/adi,reset-controller.yaml | 38 +
MAINTAINERS | 22 +
arch/arm64/Kconfig.platforms | 13 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/adi/Makefile | 2 +
arch/arm64/boot/dts/adi/sc598-som-ezkit.dts | 14 +
arch/arm64/boot/dts/adi/sc598-som.dtsi | 58 ++
arch/arm64/boot/dts/adi/sc59x-64.dtsi | 367 +++++++
arch/arm64/configs/defconfig | 6 +
drivers/clk/Kconfig | 9 +
drivers/clk/Makefile | 1 +
drivers/clk/adi/Makefile | 4 +
drivers/clk/adi/clk-adi-pll.c | 151 +++
drivers/clk/adi/clk-adi-sc598.c | 329 ++++++
drivers/clk/adi/clk.h | 99 ++
drivers/gpio/Kconfig | 8 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-adi-adsp-port.c | 145 +++
drivers/i2c/busses/Kconfig | 17 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-adi-twi.c | 940 ++++++++++++++++++
drivers/irqchip/Kconfig | 9 +
drivers/irqchip/Makefile | 2 +
drivers/irqchip/irq-adi-adsp.c | 310 ++++++
drivers/pinctrl/Kconfig | 12 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-adsp.c | 919 +++++++++++++++++
drivers/reset/Makefile | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/adi/Makefile | 5 +
drivers/soc/adi/system.c | 257 +++++
drivers/tty/serial/Kconfig | 19 +-
drivers/tty/serial/Makefile | 1 +
drivers/tty/serial/adi_uart.c | 1045 ++++++++++++++++++++
include/dt-bindings/clock/adi-sc5xx-clock.h | 93 ++
include/dt-bindings/pinctrl/adi-adsp.h | 19 +
include/linux/soc/adi/adsp-gpio-port.h | 85 ++
include/linux/soc/adi/cpu.h | 107 ++
include/linux/soc/adi/rcu.h | 55 ++
include/linux/soc/adi/sc59x.h | 147 +++
include/linux/soc/adi/system_config.h | 65 ++
include/uapi/linux/serial_core.h | 3 +
49 files changed, 5829 insertions(+), 1 deletion(-)
---
base-commit: da3ea35007d0af457a0afc87e84fddaebc4e0b63
change-id: 20240909-test-8ec5f76fe6d2

Best regards,
--
Arturs Artamonovs <arturs.artamonovs@xxxxxxxxxx>