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

From: Jisheng Zhang

Date: Wed Sep 30 2026 - 11:14:31 EST


On Tue, Sep 29, 2026 at 08:38:52PM +0100, Conor Dooley wrote:
> On Tue, Sep 29, 2026 at 02:13:57PM +0800, Jisheng Zhang wrote:
> > 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.
>
> This series is filled with wildcard compatibles, which we don't permit
> typically. The only case for SoCs that I've seen them accepted is when
> the devices covered are actually just different binnings of the same
> device. I took a look at the docs for this device, but it wasn't clear
> to me if these are actually binnings or if there are different
> integrations here. If they're binnings, I'd rather you used 0 as the
> final digit, rather than x, since that matches the synaptics
> documentation for the family. If they're not binnings, there's no
> guarantee that they share the same errata etc, and must have different
> compatibles.

Based on these kind hints, I will use sl2610 instead of sl261x.

Thanks a lot
>
> Cheers,
> Conor.
>
> >
> >
> > 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
> >