From: Rob Herring <robh@kernel.org>
To: kanadenadi <kenadicanady@gmail.com>
Cc: mturquette@baylibre.com, sboyd@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, orsonzhai@gmail.com,
baolin.wang@linux.alibaba.com, zhang.lyra@gmail.com,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/2] dt-bindings: clock: sprd: Add Unisoc SC9832E clock controller
Date: Thu, 12 Mar 2026 08:39:42 -0500 [thread overview]
Message-ID: <20260312133942.GA2886714-robh@kernel.org> (raw)
In-Reply-To: <20260225010920.757793-2-kenadicanady@gmail.com>
On Wed, Feb 25, 2026 at 09:09:19AM +0800, kanadenadi wrote:
> Add device tree bindings for Unisoc SC9832E clock controller. The controller supports multiple clock gates and PLLs.
Wrap your commit messages at 72 char.
>
> Signed-off-by: kanadenadi <kenadicanady@gmail.com>
Which name is correct? Here or down below?
> ---
> Changes in v3:
> - Dropped redundant 'description' from 'clocks' property.
> - Moved globally required properties (reg, clocks, clock-names) to the top-level 'required' block.
> - Unified quote styles for "#clock-cells".
> - Consolidated identical if-then validation rules for single-clock variants into a single block to avoid code duplication.
> - Dropped extra redundant examples, keeping only one representative example.
>
> .../bindings/clock/sprd,sc9832e-clk.yaml | 120 ++++++++++++
> include/dt-bindings/clock/sprd,sc9832e-clk.h | 177 ++++++++++++++++++
> 2 files changed, 297 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/sprd,sc9832e-clk.yaml
> create mode 100644 include/dt-bindings/clock/sprd,sc9832e-clk.h
>
> diff --git a/Documentation/devicetree/bindings/clock/sprd,sc9832e-clk.yaml b/Documentation/devicetree/bindings/clock/sprd,sc9832e-clk.yaml
> new file mode 100644
> index 000000000..36d6ddc73
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/sprd,sc9832e-clk.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2026 Unisoc Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/sprd,sc9832e-clk.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Unisoc SC9832E Clock Controllers
> +
> +maintainers:
> + - Nadi Ke <kenadicanady@gmail.com>
> + - Orson Zhai <orsonzhai@gmail.com>
> + - Baolin Wang <baolin.wang7@gmail.com>
> + - Chunyan Zhang <zhang.lyra@gmail.com>
> +
> +properties:
> + compatible:
> + enum:
> + - sprd,sc9832e-glbregs
> + - sprd,sc9832e-pll
> + - sprd,sc9832e-mpll
> + - sprd,sc9832e-dpll
> + - sprd,sc9832e-rpll
> + - sprd,sc9832e-apahb-gate
> + - sprd,sc9832e-aonapb-gate
> + - sprd,sc9832e-ap-clk
> + - sprd,sc9832e-aon-clk
> + - sprd,sc9832e-apapb-gate
> +
> + "#clock-cells":
> + const: 1
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + minItems: 1
> + maxItems: 6
> +
> + clock-names:
> + minItems: 1
> + maxItems: 6
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - "#clock-cells"
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - sprd,sc9832e-glbregs
> + - sprd,sc9832e-pll
> + - sprd,sc9832e-mpll
> + - sprd,sc9832e-dpll
> + - sprd,sc9832e-rpll
> + - sprd,sc9832e-apahb-gate
> + - sprd,sc9832e-aonapb-gate
> + - sprd,sc9832e-apapb-gate
> + then:
> + properties:
> + clocks:
> + maxItems: 1
> + clock-names:
> + items:
> + - const: ext-26m
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: sprd,sc9832e-ap-clk
> + then:
> + properties:
> + clocks:
> + minItems: 2
> + maxItems: 2
> + clock-names:
> + items:
> + - const: ext-26m
> + - const: ext-1m
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: sprd,sc9832e-aon-clk
> + then:
> + properties:
> + clocks:
> + minItems: 6
> + maxItems: 6
> + clock-names:
> + items:
> + - const: ext-4m3
> + - const: ext-26m
This one should be first like the others.
> + - const: ext-32k
> + - const: ext-6m5
> + - const: ext-13m
> + - const: ext-250k
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/sprd,sc9832e-clk.h>
> +
> + clock-controller@21500000 {
> + compatible = "sprd,sc9832e-ap-clk";
> + reg = <0x21500000 0x1000>;
> + clocks = <&ext_26m>, <&ext_1m>;
> + clock-names = "ext-26m", "ext-1m";
> + #clock-cells = <1>;
> + };
> +...
> diff --git a/include/dt-bindings/clock/sprd,sc9832e-clk.h b/include/dt-bindings/clock/sprd,sc9832e-clk.h
> new file mode 100644
> index 000000000..cd0b9952b
> --- /dev/null
> +++ b/include/dt-bindings/clock/sprd,sc9832e-clk.h
> @@ -0,0 +1,177 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Unisoc SC9832E platform clocks
> + *
> + * Copyright (C) 2015 Spreadtrum, Inc.
It's 2026.
> + */
> +
> +#ifndef _DT_BINDINGS_CLK_SC9832E_H_
> +#define _DT_BINDINGS_CLK_SC9832E_H_
> +
> +#define CLK_ISPPLL_GATE 0
> +#define CLK_MPLL_GATE 1
> +#define CLK_DPLL_GATE 2
> +#define CLK_LPLL_GATE 3
> +#define CLK_GPLL_GATE 4
> +
> +#define CLK_TWPLL 0
> +#define CLK_TWPLL_768M 1
> +#define CLK_TWPLL_384M 2
> +#define CLK_TWPLL_192M 3
> +#define CLK_TWPLL_96M 4
> +#define CLK_TWPLL_48M 5
> +#define CLK_TWPLL_24M 6
> +#define CLK_TWPLL_12M 7
> +#define CLK_TWPLL_512M 8
> +#define CLK_TWPLL_256M 9
> +#define CLK_TWPLL_128M 10
> +#define CLK_TWPLL_64M 11
> +#define CLK_TWPLL_307M2 12
> +#define CLK_TWPLL_219M4 13
> +#define CLK_TWPLL_170M6 14
> +#define CLK_TWPLL_153M6 15
> +#define CLK_TWPLL_76M8 16
> +#define CLK_TWPLL_51M2 17
> +#define CLK_TWPLL_38M4 18
> +#define CLK_TWPLL_19M2 19
> +#define CLK_LPLL 20
> +#define CLK_LPLL_409M6 21
> +#define CLK_LPLL_245M76 22
> +#define CLK_GPLL 23
> +#define CLK_ISPPLL 24
> +#define CLK_ISPPLL_468M 25
> +
> +#define CLK_MPLL 0
> +#define CLK_MPLL_50M 1
> +
> +#define CLK_DPLL 0
> +#define CLK_DPLL_40M 1
> +
> +#define CLK_AUDIO_GATE 0
> +#define CLK_RPLL 1
> +#define CLK_RPLL_390M 2
> +#define CLK_RPLL_260M 3
> +#define CLK_RPLL_195M 4
> +#define CLK_RPLL_26M 5
> +
> +#define CLK_DSI_EB 0
> +#define CLK_DISPC_EB 1
> +#define CLK_VSP_EB 2
> +#define CLK_GSP_EB 3
> +#define CLK_OTG_EB 4
> +#define CLK_DMA_PUB_EB 5
> +#define CLK_CE_PUB_EB 6
> +#define CLK_AHB_CKG_EB 7
> +#define CLK_SDIO0_EB 8
> +#define CLK_SDIO1_EB 9
> +#define CLK_NANDC_EB 10
> +#define CLK_EMMC_EB 11
> +#define CLK_SPINLOCK_EB 12
> +#define CLK_CE_EFUSE_EB 13
> +#define CLK_EMMC_32K_EB 14
> +#define CLK_SDIO0_32K_EB 15
> +#define CLK_SDIO1_32K_EB 16
> +
> +#define CLK_ADC_EB 0
> +#define CLK_FM_EB 1
> +#define CLK_TPC_EB 2
> +#define CLK_GPIO_EB 3
> +#define CLK_PWM0_EB 4
> +#define CLK_PWM1_EB 5
> +#define CLK_PWM2_EB 6
> +#define CLK_PWM3_EB 7
> +#define CLK_KPD_EB 8
> +#define CLK_AON_SYST_EB 9
> +#define CLK_AP_SYST_EB 10
> +#define CLK_AON_TMR_EB 11
> +#define CLK_AP_TMR0_EB 12
> +#define CLK_EFUSE_EB 13
> +#define CLK_EIC_EB 14
> +#define CLK_INTC_EB 15
> +#define CLK_ADI_EB 16
> +#define CLK_AUDIF_EB 17
> +#define CLK_AUD_EB 18
> +#define CLK_VBC_EB 19
> +#define CLK_PIN_EB 20
> +#define CLK_IPI_EB 21
> +#define CLK_SPLK_EB 22
> +#define CLK_AP_WDG_EB 23
> +#define CLK_MM_EB 24
> +#define CLK_AON_APB_CKG_EB 25
> +#define CLK_GPU_EB 26
> +#define CLK_CA7_TS0_EB 27
> +#define CLK_CA7_DAP_EB 28
> +
> +#define CLK_AP_APB 0
> +#define CLK_NANDC_ECC 1
> +#define CLK_OTG_REF 2
> +#define CLK_OTG_UTMI 3
> +#define CLK_UART1 4
> +#define CLK_I2C0 5
> +#define CLK_I2C1 6
> +#define CLK_I2C2 7
> +#define CLK_I2C3 8
> +#define CLK_I2C4 9
> +#define CLK_SPI0 10
> +#define CLK_SPI2 11
> +#define CLK_HS_SPI 12
> +#define CLK_IIS0 13
> +#define CLK_CE 14
> +#define CLK_NANDC_2X 15
> +#define CLK_SDIO0_2X 16
> +#define CLK_SDIO1_2X 17
> +#define CLK_EMMC_2X 18
> +#define CLK_VSP 19
> +#define CLK_GSP 20
> +#define CLK_DISPC0 21
> +#define CLK_DISPC0_DPI 22
> +#define CLK_DSI_RXESC 23
> +#define CLK_DSI_LANEBYTE 24
> +
> +#define CLK_AON_APB 0
> +#define CLK_ADI 1
> +#define CLK_AUX0 2
> +#define CLK_AUX1 3
> +#define CLK_PWM0 4
> +#define CLK_PWM1 5
> +#define CLK_PWM2 6
> +#define CLK_PWM3 7
> +#define CLK_THM0 8
> +#define CLK_THM1 9
> +#define CLK_AUDIF 10
> +#define CLK_AUD_IIS_DA0 11
> +#define CLK_AUD_IIS_AD0 12
> +#define CLK_CA53_DAP 13
> +#define CLK_CA53_DMTCK 14
> +#define CLK_CA53_TS 15
> +#define CLK_DJTAG_TCK 16
> +#define CLK_EMC_REF 17
> +#define CLK_CSSYS 18
> +#define CLK_TMR 19
> +#define CLK_DSI_TEST 20
> +#define CLK_SDPHY_APB 21
> +#define CLK_AIO_APB 22
> +#define CLK_DTCK_HW 23
> +#define CLK_AP_MM 24
> +#define CLK_AP_AXI 25
> +#define CLK_NIC_GPU 26
> +#define CLK_MM_ISP 27
> +
> +#define CLK_SIM0_EB 0
> +#define CLK_IIS0_EB 1
> +#define CLK_APB_REG_EB 2
> +#define CLK_SPI0_EB 3
> +#define CLK_SPI2_EB 4
> +#define CLK_I2C0_EB 5
> +#define CLK_I2C1_EB 6
> +#define CLK_I2C2_EB 7
> +#define CLK_I2C3_EB 8
> +#define CLK_I2C4_EB 9
> +#define CLK_UART1_EB 10
> +#define CLK_SIM0_32K_EB 11
> +#define CLK_INTC0_EB 12
> +#define CLK_INTC1_EB 13
> +#define CLK_INTC2_EB 14
> +#define CLK_INTC3_EB 15
> +
> +#endif /* _DT_BINDINGS_CLK_SC9832E_H_ */
> --
> 2.34.1
>
next prev parent reply other threads:[~2026-03-12 13:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 1:09 [PATCH v3 0/2] clk: sprd: Add support for Unisoc SC9832E clocks kanadenadi
2026-02-25 1:09 ` [PATCH v3 1/2] dt-bindings: clock: sprd: Add Unisoc SC9832E clock controller kanadenadi
2026-03-12 13:39 ` Rob Herring [this message]
2026-02-25 1:09 ` [PATCH v3 2/2] clk: sprd: Add SC9832E clock driver kanadenadi
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=20260312133942.GA2886714-robh@kernel.org \
--to=robh@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kenadicanady@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=orsonzhai@gmail.com \
--cc=sboyd@kernel.org \
--cc=zhang.lyra@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.