Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: Jisheng Zhang <jszhang@kernel.org>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Stephen Boyd <sboyd@kernel.org>,
	Brian Masney <bmasney+clk@redhat.com>,
	Jerome Brunet <jbrunet+clk@baylibre.com>,
	Andi Shyti <andi.shyti@kernel.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Frank Li <Frank.Li@nxp.com>, Lee Jones <lee@kernel.org>,
	Linus Walleij <linusw@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-i3c@lists.infradead.org, mfd@lists.linux.dev,
	linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 15/20] dt-bindings: clock: add Synaptics SL261X clock
Date: Tue, 29 Sep 2026 20:46:52 +0100	[thread overview]
Message-ID: <20260929-triage-unpiloted-cf3734477487@spud> (raw)
In-Reply-To: <20260929061417.20733-16-jszhang@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 7359 bytes --]

On Tue, Sep 29, 2026 at 02:14:12PM +0800, Jisheng Zhang wrote:
> Add support for clocks, plls in Synaptics SL261X SoCs.
> 
> Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> ---
>  .../bindings/clock/syna,sl261x-clk.yaml       |  92 ++++++++++++
>  include/dt-bindings/clock/syna,sl261x.h       | 131 ++++++++++++++++++
>  2 files changed, 223 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/syna,sl261x-clk.yaml
>  create mode 100644 include/dt-bindings/clock/syna,sl261x.h
> 
> diff --git a/Documentation/devicetree/bindings/clock/syna,sl261x-clk.yaml b/Documentation/devicetree/bindings/clock/syna,sl261x-clk.yaml
> new file mode 100755
> index 000000000000..3fd380c1dd39
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/syna,sl261x-clk.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/syna,sl261x-clk.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Synaptics SL261x clock controllers
> +
> +maintainers:
> +  - Jisheng Zhang <jszhang@kernel.org>
> +
> +description: |
> +  The SL261x clock hardware is divided into SoC, CPU, AIO, and system
> +  manager register blocks. Each clock controller is a child of the node
> +  containing its register range. The CPU clock node has a phandle to the
> +  global chip control syscon.
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - enum:
> +          - syna,sl261x-soc-clk
> +          - syna,sl261x-cpu-clk
> +          - syna,sl261x-aio-clk
> +          - syna,sl261x-system-clk
> +      - items:
> +          - const: simple-mfd
> +          - const: syscon

What's going on here? You're entirely missing specific compatibles for
your syscon nodes (which aren't clock controllers and shouldn't be
defined here.
Similarly to the reset stuff, why can't these just be parts of their
parent nodes?

Thanks,
Conor.

> +
> +  reg:
> +    maxItems: 1
> +
> +  syna,gbl-syscon:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Phandle to the SL261x global chip control syscon.
> +
> +  '#clock-cells':
> +    const: 1
> +
> +  clocks:
> +    maxItems: 1
> +    description: Reference clock used as the input to the PLLs.
> +
> +required:
> +  - compatible
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: syna,sl261x-cpu-clk
> +    then:
> +      required:
> +        - syna,gbl-syscon
> +    else:
> +      properties:
> +        syna,gbl-syscon: false
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    osc: clock-osc {
> +        compatible = "fixed-clock";
> +        #clock-cells = <0>;
> +        clock-frequency = <25000000>;
> +    };
> +
> +    chip: syscon@f7e10000 {
> +        compatible = "syscon", "simple-mfd";
> +        reg = <0xf7e10000 0x10000>;
> +
> +        clk: clock {
> +            compatible = "syna,sl261x-soc-clk";
> +            #clock-cells = <1>;
> +            clocks = <&osc>;
> +        };
> +    };
> +
> +    cpu_wrap: cpu-wrap@f7e30000 {
> +        compatible = "syscon", "simple-mfd";
> +        reg = <0xf7e30000 0x4000>;
> +
> +        cpuclk: clock {
> +            compatible = "syna,sl261x-cpu-clk";
> +            #clock-cells = <1>;
> +            clocks = <&osc>;
> +            syna,gbl-syscon = <&chip>;
> +        };
> +    };
> +...
> diff --git a/include/dt-bindings/clock/syna,sl261x.h b/include/dt-bindings/clock/syna,sl261x.h
> new file mode 100644
> index 000000000000..4649b233f08a
> --- /dev/null
> +++ b/include/dt-bindings/clock/syna,sl261x.h
> @@ -0,0 +1,131 @@
> +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> +/*
> + * Synaptics SL261X clock tree IDs
> + *
> + * Copyright (C) 2025 Synaptics Incorporated
> + *
> + * Author: Jisheng Zhang <jszhang@kernel.org>
> + */
> +
> +/* SoC domain */
> +
> +/* GBL common clks */
> +#define CLK_CPUFASTREF		0
> +#define CLK_MEMFASTREF		1
> +#define CLK_CFG			2
> +#define CLK_SYS			3
> +#define CLK_PERIFSYS		4
> +#define CLK_APBCORE		5
> +#define CLK_APBSER		6
> +#define CLK_ATB			7
> +#define CLK_HPC			8
> +#define CLK_EMMC		9
> +#define CLK_SD0			10
> +#define CLK_SD1			11
> +#define CLK_GETHRGMII		12
> +#define CLK_GETHRGMII1		13
> +#define CLK_GE0_PTP_REF		14
> +#define CLK_GE1_PTP_REF		15
> +#define CLK_USB2TEST		16
> +#define CLK_USB2TEST480MG0	17
> +#define CLK_USB2TEST480MG1	18
> +#define CLK_USB2TEST480MG2	19
> +#define CLK_USB2TEST100MG0	20
> +#define CLK_USB2TEST100MG1	21
> +#define CLK_USB2TEST100MG2	22
> +#define CLK_USB2TEST100MG3	23
> +#define CLK_PERIFTEST125MG0	24
> +#define CLK_PERIFTEST200MG0	25
> +#define CLK_PERIFTEST200MG1	26
> +#define CLK_GPU			27
> +#define CLK_NPU			28
> +#define CLK_AVIOSYS		29
> +#define CLK_AIOSYS		30
> +#define CLK_AVIO_LCDC2SCAN	31
> +#define CLK_AVIO_IPI		32
> +#define CLK_AVIO_P		33
> +#define CLK_AVIO_DPHYRXTXESC	34
> +#define CLK_AVIOFPLL		35
> +#define CLK_AVIO_RX_SCANBYTE	36
> +#define CLK_AVIO_RX_SCANTEST	37
> +
> +/* GBL gate clks */
> +#define CLK_USB0CORE		38
> +#define CLK_SDIOSYS		39
> +#define CLK_EMMCSYS		40
> +#define CLK_GPUAXI		41
> +#define CLK_GETHRGMIISYS	42
> +#define CLK_SDIO1SYS		43
> +#define CLK_USB1CORE		44
> +#define CLK_GETHRGMII1SYS	45
> +#define CLK_USB0PHYREF		46
> +#define CLK_USB1PHYREF		47
> +#define CLK_APBUART0		48
> +#define CLK_APBUART1		49
> +#define CLK_APBUART2		50
> +#define CLK_APBUART3		51
> +#define CLK_APBI2C0		52
> +#define CLK_APBI2C1		53
> +#define CLK_APBSPI0		54
> +#define CLK_APBSPI1		55
> +#define CLK_APBSPI2		56
> +#define CLK_APBSPI3		57
> +#define CLK_APBGPIO		58
> +#define CLK_APBTIMERS		59
> +#define CLK_APBSYSCNT		60
> +#define CLK_APBWDT		61
> +#define CLK_APBDMA		62
> +#define SL261X_CLK_MAX		63
> +
> +/* cpuss */
> +#define CLK_CPU0		0
> +#define CLK_CPU1		1
> +#define CLK_DSU			2
> +#define SL261X_CPU_CLK_MAX	3
> +
> +
> +/* sysmgr domain */
> +
> +#define CLK_CFG_UART0		0
> +#define CLK_SER_UART0		1
> +#define CLK_CFG_UART1		2
> +#define CLK_CFG_UART2		3
> +#define CLK_CFG_UART3		4
> +#define CLK_CFG_GPIO		5
> +#define CLK_CFG_I2CM0		6
> +#define CLK_CFG_I2CM1		7
> +#define CLK_CFG_SPIM		8
> +#define CLK_CFG_SPIS		9
> +#define CLK_CFG_I3C		10
> +#define CLK_CFG_XSPI		11
> +#define CLK_AXI_XSPI		12
> +#define CLK_CFG_PVT		13
> +#define CLK_CFG_ADC		14
> +#define CLK_CFG_PWM		15
> +#define CLK_BUS_CAN0		16
> +#define CLK_BUS_CAN1		17
> +#define CLK_CFG_PDM		18
> +
> +#define CLK_SER_UART1		19
> +#define CLK_SER_UART2		20
> +#define CLK_SER_UART3		21
> +#define CLK_DEB_GPIO		22
> +#define CLK_SER_I2CM0		23
> +#define CLK_SER_I2CM1		24
> +#define CLK_SER_SPIM		25
> +#define CLK_SER_SPIS		26
> +#define CLK_SER_I3C		27
> +#define CLK_SER_XSPI		28
> +#define CLK_HS_PVT		29
> +#define CLK_CORE_ADC		30
> +#define CLK_SER_PWM		31
> +#define CLK_SER_CAN0		32
> +#define CLK_SER_CAN1		33
> +#define CLK_SER_PDM		34
> +#define CLK_REF_CALIB		35
> +
> +#define CLK_MCU_REF		36
> +#define CLK_MCU_PLL		37
> +#define CLK_MCU_IO_PLL		38
> +#define CLK_MCU_APB		39
> +#define CLK_MCU_AXI		40
> -- 
> 2.53.0
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2026-09-29 19:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29  6:13 [PATCH 00/20] arm64: add Synaptics SL261X SoCs and RDK boards Jisheng Zhang
2026-09-29  6:13 ` [PATCH 01/20] dt-bindings: serial: snps-dw-apb-uart: Add Synaptics sl261x uart Jisheng Zhang
2026-09-29  6:13 ` [PATCH 02/20] dt-bindings: i2c: dw: Add Synaptics sl261x i2c Jisheng Zhang
2026-09-29 20:57   ` Andi Shyti
2026-09-29  6:14 ` [PATCH 03/20] spi: dt-bindings: snps,dw-apb-ssi: Add Synaptics sl261x spi Jisheng Zhang
2026-09-29  6:14 ` [PATCH 04/20] dt-bindings: i3c: dw: support up to two reset lines Jisheng Zhang
2026-09-29 19:40   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 05/20] i3c: dw: switch to array-based exclusive reset control Jisheng Zhang
2026-09-29 15:01   ` Frank Li
2026-09-29  6:14 ` [PATCH 06/20] dt-bindings: i3c: Add Synaptics sl261x i3c Jisheng Zhang
2026-09-29  6:14 ` [PATCH 07/20] arm64: kconfig: let ARCH_BERLIN cover Synaptics arm64 SoCs Jisheng Zhang
2026-09-29  6:14 ` [PATCH 08/20] dt-bindings: reset: add Synaptics SL261X SoCs Jisheng Zhang
2026-09-29 19:44   ` Conor Dooley
2026-09-30 15:15     ` Jisheng Zhang
2026-09-30 16:49       ` Conor Dooley
2026-10-02 15:35         ` Jisheng Zhang
2026-10-05 10:50           ` Conor Dooley
2026-09-29  6:14 ` [PATCH 09/20] reset: add Synaptics SL261x reset support Jisheng Zhang
2026-09-29  6:14 ` [PATCH 10/20] pinctrl: berlin: use u16 instead of u8 for the offset Jisheng Zhang
2026-09-29  6:14 ` [PATCH 11/20] pinctrl: berlin: enable module build support Jisheng Zhang
2026-09-29  6:14 ` [PATCH 12/20] pinctrl: berlin: add optional pinconf support Jisheng Zhang
2026-09-29  6:14 ` [PATCH 13/20] dt-bindings: pinctrl: berlin: Support Synaptics SL261X SoCs Jisheng Zhang
2026-09-29  6:14 ` [PATCH 14/20] pinctrl: berlin: support " Jisheng Zhang
2026-09-29 15:34   ` Uwe Kleine-König
2026-09-29  6:14 ` [PATCH 15/20] dt-bindings: clock: add Synaptics SL261X clock Jisheng Zhang
2026-09-29 19:46   ` Conor Dooley [this message]
2026-09-29 20:49   ` Rob Herring (Arm)
2026-09-30 14:18     ` Jisheng Zhang
2026-09-29  6:14 ` [PATCH 16/20] clk: berlin: add Synaptics SL261X SoC clocks and plls Jisheng Zhang
2026-09-29  6:14 ` [PATCH 17/20] dt-bindings: mfd: Add Synaptics SL261x global block binding Jisheng Zhang
2026-09-29 19:55   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 18/20] regulator: dt-bindings: sy8827n: support standard properties Jisheng Zhang
2026-09-29 19:40   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 19/20] dt-bindings: arm: berlin: Add Synaptics SL261X SoC and RDK board Jisheng Zhang
2026-09-29  6:14 ` [PATCH 20/20] arm64: dts: synaptics: " Jisheng Zhang
2026-09-29 19:38 ` [PATCH 00/20] arm64: add Synaptics SL261X SoCs and RDK boards Conor Dooley
2026-09-30 14:15   ` Jisheng Zhang
2026-09-30 14:32   ` Jisheng Zhang
2026-09-30 16:35     ` Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260929-triage-unpiloted-cf3734477487@spud \
    --to=conor@kernel.org \
    --cc=Frank.Li@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andi.shyti@kernel.org \
    --cc=bmasney+clk@redhat.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbrunet+clk@baylibre.com \
    --cc=jirislaby@kernel.org \
    --cc=jszhang@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mfd@lists.linux.dev \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox