[PATCH 1/8] dt-bindings: clock, reset: Add econet EN751221 bindings
Caleb James DeLisle
cjd at cjdns.fr
Wed Mar 4 01:09:20 PST 2026
On 04/03/2026 09:39, Krzysztof Kozlowski wrote:
> On Tue, Mar 03, 2026 at 07:09:41PM +0000, Caleb James DeLisle wrote:
>> Add clock and reset bindings for EN751221 as well as
>> a "chip-scu" which is an additional regmap that is used
>> by the clock driver as well as others. This split of the
>> SCU across two register areas is the same as the Airoha
>> AN758x family.
> Please wrap commit message according to Linux coding style / submission
> process (neither too early nor over the limit):
> https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
OK
> A nit, subject: drop second/last, redundant "bindings". The
> "dt-bindings" prefix is already stating that these are bindings.
> See also:
> https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
OK
>> Signed-off-by: Caleb James DeLisle <cjd at cjdns.fr>
>> ---
>> .../bindings/clock/airoha,en7523-scu.yaml | 19 ++++++-
>> .../mips/econet,en751221-chip-scu.yaml | 41 ++++++++++++++++
>> MAINTAINERS | 3 ++
>> .../dt-bindings/clock/econet,en751221-scu.h | 15 ++++++
>> .../dt-bindings/reset/econet,en751221-scu.h | 49 +++++++++++++++++++
>> 5 files changed, 126 insertions(+), 1 deletion(-)
>> create mode 100644 Documentation/devicetree/bindings/mips/econet,en751221-chip-scu.yaml
>> create mode 100644 include/dt-bindings/clock/econet,en751221-scu.h
>> create mode 100644 include/dt-bindings/reset/econet,en751221-scu.h
>>
>> diff --git a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
>> index a8471367175b..e60e54273393 100644
>> --- a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
>> +++ b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
>> @@ -32,6 +32,7 @@ properties:
>> - enum:
>> - airoha,en7523-scu
>> - airoha,en7581-scu
>> + - econet,en751221-scu
>>
>> reg:
>> items:
>> @@ -67,7 +68,10 @@ allOf:
>> - if:
>> properties:
>> compatible:
>> - const: airoha,en7581-scu
>> + items:
> Drop items, it's just enum
>
>> + - enum:
>> + - airoha,en7581-scu
>> + - econet,en751221-scu
>> then:
>> properties:
>> reg:
>> @@ -98,3 +102,16 @@ examples:
>> #reset-cells = <1>;
>> };
>> };
>> +
>> + - |
>> + soc {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
> No need for new example, especially without any differences. You already
> have there two.
OK
>> +
>> + scuclk2: clock-controller at 1fb00000 {
>> + compatible = "econet,en751221-scu";
>> + reg = <0x1fb00000 0x970>;
>> + #clock-cells = <1>;
>> + #reset-cells = <1>;
>> + };
>> + };
>> diff --git a/Documentation/devicetree/bindings/mips/econet,en751221-chip-scu.yaml b/Documentation/devicetree/bindings/mips/econet,en751221-chip-scu.yaml
>> new file mode 100644
>> index 000000000000..7c7c8cf8d2a5
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mips/econet,en751221-chip-scu.yaml
>> @@ -0,0 +1,41 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mips/econet,en751221-chip-scu.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: EcoNet Chip SCU Controller for EN751221 SoC
>> +
>> +maintainers:
>> + - Caleb James DeLisle <cjd at cjdns.fr>
>> +
>> +description:
>> + The EcoNet chip-scu block provides a configuration interface for clock,
>> + io-muxing and other functionalities used by multiple controllers (e.g. clock,
>> + pinctrl, ecc) on EN751221 SoC.
>> +
>> +properties:
>> + compatible:
>> + items:
>> + - const: econet,en751221-chip-scu
>> + - const: syscon
> And it does not fit existing syscon bindings file, because ... ?
If you're asking why it needs to be named "econet,en751221-chip-scu" and
not just "syscon", it's because the actual clock/scu searches for it by
compatible. This is patterned after "airoha,en7581-chip-scu" (
https://lore.kernel.org/20241023-en7581-pinctrl-v9-1-afb0cbcab0ec@kernel.org
).
I could drop this file and use "airoha,en7581-chip-scu" in the DT and
clk driver, but I do not think it is identical to the actual EN7581 chip
scu.
I could also drop the file and add "econet,en751221-chip-scu" as a
compatible to airoha,en7581-chip-scu.yaml, but that file lives in /arm
and this is a MIPS.
I chose this route because it seemed least hackish, but I would defer to
your judgement on the matter.
>> +
>> + reg:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + soc {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + syscon at 1fa20000 {
>> + compatible = "econet,en751221-chip-scu", "syscon";
>> + reg = <0x1fa20000 0x388>;
>> + };
>> + };
> ...
>
>> +
>> +#define EN751221_MAX_CLKS 6
> Drop, not a binding.
OK
>
>> +
>> +#endif /* _DT_BINDINGS_CLOCK_ECONET_EN751221_SCU_H_ */
>> diff --git a/include/dt-bindings/reset/econet,en751221-scu.h b/include/dt-bindings/reset/econet,en751221-scu.h
>> new file mode 100644
Thank you kindly for the prompt review.
Caleb
> Best regards,
> Krzysztof
>
>
More information about the Linux-mediatek
mailing list