Re: [PATCH v7 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x

Krzysztof Kozlowski
2025-09-11T06:36:43Z

On Wed, Sep 10, 2025 at 06:07:02PM +0200, Jihed Chaibi wrote:
> Update the main TI TWL-family binding to be self-contained and to fix
> pre-existing validation errors.
>
> To ensure future patches are bisectable, child nodes whose bindings
> are in other patches (audio, keypad, usb, etc.) are now defined using
> a flexible 'additionalProperties: true' pattern. This removes hard
> dependencies between the MFD and subsystem bindings.
>
> The complete dtbs_check for this binding is clean except for two
> warnings originating from pre-existing bugs in the OMAP DTS files,
> for which fixes have already been submitted separately [1][2].
>
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
>
> ---
> Changes in v7:
> - Moved twl4030/twl6030-specific child node definitions (audio, usb..)
> into the conditional 'if/then' block to improve schema accuracy.
>
> Changes in v6:
> - Refactored the ti,twl4030-power compatible schema to be much stricter,
> removing obsolete board-specific compatibles (-n900, -beagleboard-xm),
> that were added in v5. The schema now only permits specific, valid
> fallback combinations. This change is supported by subsequent patches
> in the same series (2/3) & (3/3), which update the affected DTS files.
> - Enforced the presence of the compatible property on all relevant
> sub-nodes by adding 'required: - compatible', closing a key validation
> loophole.
> - Applied various formatting cleanups for readability and correctness.
>
> Changes in v5:
> - Restructured the entire binding to define properties at the top
> level instead of if/then blocks, per maintainer feedback.
> - Added specific compatible enums for new child nodes instead of a
> generic 'compatible: true'.
> - Set 'unevaluatedProperties: false' for 'pwm' and 'pwmled' nodes to
> enforce strict validation.
> - Expanded 'power' node compatible enum to include all board-specific
> compatible strings (used in existing device trees, e.g. OMAP3-based
> boards) for more complete coverage.
> - Corrected the schema for the 'power' node compatible to properly
> handle single and fallback entries.
>
> Changes in v4:
> - Reworked binding to be independent and bisectable per maintainer
> feedback by using 'additionalProperties: true' for child nodes.
> - Added board-specific compatibles to the 'power' node enum.
> - Added definitions for 'clocks' and 'clock-names' properties.
> - Renamed 'twl6030-usb' child node to 'usb-comparator' to match
> existing Device Tree usage (twl6030.dtsi).
> - Fixed some spelling/grammar erros in the description.
>
> Changes in v3:
> - New patch to consolidate simple bindings (power, pwm) and add
> definitions for all child nodes to fix dtbs_check validation
> errors found in v2.
>
> Changes in v2:
> - This patch is split from larger series [3] per maintainer feedback.
> - Added missing sub-node definitions, resolving dtbs_check errors.
>
> [1] https://lore.kernel.org/all/20250822222530.113520-1-jihed.chaibi.dev@gmail.com/
> [2] https://lore.kernel.org/all/20250822225052.136919-1-jihed.chaibi.dev@gmail.com/
> [3] https://lore.kernel.org/all/20250816021523.167049-1-jihed.chaibi.dev@gmail.com/
> ---
> .../devicetree/bindings/mfd/ti,twl.yaml | 232 +++++++++++++++++-
> .../devicetree/bindings/mfd/twl4030-power.txt | 48 ----
> .../devicetree/bindings/pwm/ti,twl-pwm.txt | 17 --
> .../devicetree/bindings/pwm/ti,twl-pwmled.txt | 17 --
> 4 files changed, 221 insertions(+), 93 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-power.txt
> delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
> delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> index f162ab60c09b..95238a10ecda 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> @@ -9,11 +9,13 @@ title: Texas Instruments TWL family
> maintainers:
> - Andreas Kemnade <andreas@kemnade.info>
>
> -description: |
> +description: >

Why?

> The TWLs are Integrated Power Management Chips.
> - Some version might contain much more analog function like
> +
> + Some versions might contain much more analog functionality like
> USB transceiver or Audio amplifier.
> - These chips are connected to an i2c bus.
> +
> + These chips are connected to an I2C bus.
>
> allOf:
> - if:
> @@ -62,6 +64,7 @@ allOf:
> pwrbutton:
> type: object
> additionalProperties: false
> +
> properties:
> compatible:
> const: ti,twl4030-pwrbutton
> @@ -73,9 +76,109 @@ allOf:
> watchdog:
> type: object
> additionalProperties: false
> +
> properties:
> compatible:
> const: ti,twl4030-wdt
> +
> + audio:

Don't define properties in conditional block.

Best regards,
Krzysztof