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

Jisheng Zhang jszhang at kernel.org
Wed Sep 30 07:15:04 PDT 2026


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
> > 





More information about the linux-arm-kernel mailing list