[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