[PATCH v7 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings

Jihed Chaibi
2025-09-10T16:07:22Z

This version addresses a final piece of feedback from Andreas to make
the twl4030/twl6030-specific child nodes (audio, usb, keypad etc.)
conditional by moving them out of the common block, which now only
contains common properties (rtc, charger, pwm, pwmled..) ensuring
the schema is fully accurate.

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].

Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Uwe Kleine-König <ukleinek@kernel.org>

---
Changes in v7:
- (1/3): Moved twl4030/twl6030-specific child node definitions (audio,
usb etc.) into the conditional 'if/then' block to improve schema
accuracy.
- (2/3 & 3/3): No changes.

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 series presents two new patches (2/3) & (3/3), which update the
affected DTS files by removing obsolete entries.
- 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/

Jihed Chaibi (3):
dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible
ARM: dts: omap3: n900: Correct obsolete TWL4030 power compatible

.../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 --
arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts | 2 +-
arch/arm/boot/dts/ti/omap/omap3-n900.dts | 2 +-
6 files changed, 223 insertions(+), 95 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

--
2.39.5