Re: [PATCH v7 1/4] dt-bindings: mfd: Add sony,cronos-smc

From: Conor Dooley

Date: Fri Mar 06 2026 - 12:51:27 EST


On Thu, Jan 29, 2026 at 01:20:44PM -0600, Raptor Engineering Development Team wrote:
> From: Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
>
> The Sony Cronos Platform Controller is a multi-purpose platform controller
> that provides both a watchdog timer and an LED controller for the Sony
> Interactive Entertainment Cronos x86 server platform. As both functions
> are provided by the same CPLD, a multi-function device is exposed as the
> parent of both functions.
>
> Add a DT binding for this device.
>
> Signed-off-by: Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Timothy Pearson <tpearson@xxxxxxxxxxxxxxxxxxxxx>
> ---
> .../bindings/mfd/sony,cronos-smc.yaml | 128 ++++++++++++++++++
> 1 file changed, 128 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/sony,cronos-smc.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/sony,cronos-smc.yaml b/Documentation/devicetree/bindings/mfd/sony,cronos-smc.yaml
> new file mode 100644
> index 000000000000..a7e88fd42d39
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/sony,cronos-smc.yaml
> @@ -0,0 +1,128 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2025-2026 Raptor Engineering, LLC
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/sony,cronos-smc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sony Cronos Platform Controller CPLD multi-function device
> +
> +maintainers:
> + - Georgy Yakovlev <Georgy.Yakovlev@xxxxxxxx>
> +
> +description:
> + The Sony Cronos Platform Controller CPLD is a multi-purpose platform
> + controller that provides both a watchdog timer and an LED controller for the
> + Sony Interactive Entertainment Cronos x86 server platform. As both functions
> + are provided by the same CPLD, a multi-function device is exposed as the
> + parent of both functions.
> +
> +properties:
> + compatible:
> + const: sony,cronos-smc
> +
> + reg:
> + maxItems: 1
> +
> + leds:
> + type: object
> + $ref: /schemas/leds/common.yaml#
> + additionalProperties: false
> + description: |
> + The Cronos LED controller is a subfunction of the Cronos platform
> + controller, which is a multi-function device.
> +
> + Each led is represented as a child node of sony,cronos-led. Fifteen RGB
> + LEDs are supported by the platform.
> +
> + properties:
> + compatible:
> + const: sony,cronos-led
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + patternProperties:
> + "^multi-led@[0-9a-f]$":
> + type: object
> + $ref: /schemas/leds/leds-class-multicolor.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + reg:
> + description:
> + LED channel number (0..14)
> + minimum: 0
> + maximum: 14
> +
> + required:
> + - reg
> +
> + required:
> + - compatible
> + - "#address-cells"
> + - "#size-cells"
> +
> + watchdog:
> + type: object
> +
> + $ref: /schemas/watchdog/watchdog.yaml
> +
> + properties:
> + compatible:
> + const: sony,cronos-watchdog
> +
> + timeout-sec: true

Why is there a child node to just add timeout-sec? Didn't Krzysztof ask
you to come up with a generic node name for the mfd to use instead of
"smc", and to modify watchdog.yaml to accept the new node name? See
here:
https://lore.kernel.org/all/c7630eb1-2686-491e-81ed-fb43fff2dd31@xxxxxxxxxx/

Something like "platform-controller" sounds generic to me, in a way that
"smc" doesn't.

Cheers,
Conor.

> +
> + required:
> + - compatible
> +
> + additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/leds/common.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + smc@3f {
> + compatible = "sony,cronos-smc";
> + reg = <0x3f>;
> +
> + watchdog {
> + compatible = "sony,cronos-watchdog";
> +
> + timeout-sec = <20>;
> + };
> +
> + leds {
> + compatible = "sony,cronos-led";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + multi-led@0 {
> + /*
> + * No subnodes are needed, this controller only supports RGB
> + * LEDs.
> + */
> + reg = <0>;
> + color = <LED_COLOR_ID_MULTI>;
> + function = LED_FUNCTION_STATUS;
> + };
> + };
> + };
> + };
> +
> --
> 2.39.5
>

Attachment: signature.asc
Description: PGP signature