[PATCH 00/20] arm64: add Synaptics SL261X SoCs and RDK boards

From: Jisheng Zhang

Date: Tue Sep 29 2026 - 02:34:26 EST


Add initial support for the Synaptics SL261X SoCs and corresponding
RDK boards.

The SL261X SoCs include five pin-to-pin compatible SoCs: SL2611, SL2613,
SL2615, SL2617, and SL2619.

Only reset, pinctrl, clk/pll, uart, gpio, i2c, spi, i3c are included in
this series. The support for Ethernet, USB, SDHCI, CAN, DMAC, XSPI will
be submitted after this series is merged.


Jisheng Zhang (20):
dt-bindings: serial: snps-dw-apb-uart: Add Synaptics sl261x uart
dt-bindings: i2c: dw: Add Synaptics sl261x i2c
spi: dt-bindings: snps,dw-apb-ssi: Add Synaptics sl261x spi
dt-bindings: i3c: dw: support up to two reset lines
i3c: dw: switch to array-based exclusive reset control
dt-bindings: i3c: Add Synaptics sl261x i3c
arm64: kconfig: let ARCH_BERLIN cover Synaptics arm64 SoCs
dt-bindings: reset: add Synaptics SL261X SoCs
reset: add Synaptics SL261x reset support
pinctrl: berlin: use u16 instead of u8 for the offset
pinctrl: berlin: enable module build support
pinctrl: berlin: add optional pinconf support
dt-bindings: pinctrl: berlin: Support Synaptics SL261X SoCs
pinctrl: berlin: support Synaptics SL261X SoCs
dt-bindings: clock: add Synaptics SL261X clock
clk: berlin: add Synaptics SL261X SoC clocks and plls
dt-bindings: mfd: Add Synaptics SL261x global block binding
regulator: dt-bindings: sy8827n: support standard properties
dt-bindings: arm: berlin: Add Synaptics SL261X SoC and RDK board
arm64: dts: synaptics: Add Synaptics SL261X SoC and RDK board

.../bindings/arm/marvell,berlin.yaml | 20 +
.../bindings/clock/syna,sl261x-clk.yaml | 92 +++
.../bindings/i2c/snps,designware-i2c.yaml | 1 +
.../bindings/i3c/snps,dw-i3c-master.yaml | 6 +-
.../bindings/mfd/syna,sl261x-gbl.yaml | 208 +++++
.../pinctrl/marvell,berlin2-soc-pinctrl.yaml | 10 +-
.../bindings/regulator/silergy,sy8827n.yaml | 5 +-
.../bindings/reset/syna,sl261x-reset.yaml | 40 +
.../bindings/serial/snps-dw-apb-uart.yaml | 12 +-
.../bindings/spi/snps,dw-apb-ssi.yaml | 1 +
arch/arm64/Kconfig.platforms | 4 +-
arch/arm64/boot/dts/synaptics/Makefile | 5 +
arch/arm64/boot/dts/synaptics/sl2611-rdk.dts | 16 +
arch/arm64/boot/dts/synaptics/sl2611.dtsi | 490 ++++++++++++
arch/arm64/boot/dts/synaptics/sl2613-rdk.dts | 16 +
arch/arm64/boot/dts/synaptics/sl2613.dtsi | 12 +
arch/arm64/boot/dts/synaptics/sl2615-rdk.dts | 16 +
arch/arm64/boot/dts/synaptics/sl2615.dtsi | 46 ++
arch/arm64/boot/dts/synaptics/sl2617-rdk.dts | 16 +
arch/arm64/boot/dts/synaptics/sl2617.dtsi | 46 ++
arch/arm64/boot/dts/synaptics/sl2619-rdk.dts | 16 +
arch/arm64/boot/dts/synaptics/sl2619.dtsi | 44 ++
.../boot/dts/synaptics/sl261x-rdk-common.dtsi | 135 ++++
drivers/clk/Kconfig | 1 +
drivers/clk/berlin/Kconfig | 25 +
drivers/clk/berlin/Makefile | 4 +
drivers/clk/berlin/sl-clk.c | 279 +++++++
drivers/clk/berlin/sl-clk.h | 31 +
drivers/clk/berlin/sl-sysmgr-clk.c | 250 ++++++
drivers/clk/berlin/sl-sysmgr-clk.h | 44 ++
drivers/clk/berlin/sl261x-clks.c | 385 +++++++++
drivers/clk/berlin/sl261x-pll.c | 145 ++++
drivers/clk/berlin/sl261x-pll.h | 14 +
drivers/i3c/master/dw-i3c-master.c | 24 +-
drivers/i3c/master/dw-i3c-master.h | 2 +-
drivers/pinctrl/berlin/Kconfig | 7 +
drivers/pinctrl/berlin/Makefile | 1 +
drivers/pinctrl/berlin/berlin.c | 259 +++++-
drivers/pinctrl/berlin/berlin.h | 17 +-
drivers/pinctrl/berlin/pinctrl-sl261x.c | 745 ++++++++++++++++++
drivers/reset/Kconfig | 6 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-sl261x.c | 224 ++++++
include/dt-bindings/clock/syna,sl261x.h | 131 +++
include/dt-bindings/reset/syna,sl261x-reset.h | 80 ++
45 files changed, 3899 insertions(+), 33 deletions(-)
create mode 100755 Documentation/devicetree/bindings/clock/syna,sl261x-clk.yaml
create mode 100644 Documentation/devicetree/bindings/mfd/syna,sl261x-gbl.yaml
create mode 100644 Documentation/devicetree/bindings/reset/syna,sl261x-reset.yaml
create mode 100644 arch/arm64/boot/dts/synaptics/sl2611-rdk.dts
create mode 100644 arch/arm64/boot/dts/synaptics/sl2611.dtsi
create mode 100644 arch/arm64/boot/dts/synaptics/sl2613-rdk.dts
create mode 100644 arch/arm64/boot/dts/synaptics/sl2613.dtsi
create mode 100644 arch/arm64/boot/dts/synaptics/sl2615-rdk.dts
create mode 100644 arch/arm64/boot/dts/synaptics/sl2615.dtsi
create mode 100644 arch/arm64/boot/dts/synaptics/sl2617-rdk.dts
create mode 100644 arch/arm64/boot/dts/synaptics/sl2617.dtsi
create mode 100644 arch/arm64/boot/dts/synaptics/sl2619-rdk.dts
create mode 100644 arch/arm64/boot/dts/synaptics/sl2619.dtsi
create mode 100644 arch/arm64/boot/dts/synaptics/sl261x-rdk-common.dtsi
create mode 100644 drivers/clk/berlin/Kconfig
create mode 100644 drivers/clk/berlin/sl-clk.c
create mode 100644 drivers/clk/berlin/sl-clk.h
create mode 100644 drivers/clk/berlin/sl-sysmgr-clk.c
create mode 100644 drivers/clk/berlin/sl-sysmgr-clk.h
create mode 100644 drivers/clk/berlin/sl261x-clks.c
create mode 100644 drivers/clk/berlin/sl261x-pll.c
create mode 100644 drivers/clk/berlin/sl261x-pll.h
create mode 100644 drivers/pinctrl/berlin/pinctrl-sl261x.c
create mode 100644 drivers/reset/reset-sl261x.c
create mode 100644 include/dt-bindings/clock/syna,sl261x.h
create mode 100644 include/dt-bindings/reset/syna,sl261x-reset.h

--
2.53.0