* [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings
@ 2025-09-14 19:25 Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Jihed Chaibi @ 2025-09-14 19:25 UTC (permalink / raw)
To: andreas
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap, jihed.chaibi.dev
Following extensive maintainer feedback, this patch implements the
"define then disable" pattern. All possible child nodes are now defined
at the top level. Conditional if/then blocks are used to explicitly
disallow sub-modules that are not present on specific chip variants.
This refactoring also moves pre-existing sub-node definitions
(e.g. madc, pwrbutton, gpadc, etc.) out of the conditional blocks
to the top level, following the new pattern.
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].
---
Changes in v8:
- Restructured binding to define all properties at the top level
and use 'property-name: false' to conditionally disable them.
This includes refactoring pre-existing sub-node definitions.
- Referenced the existing ti,twl6030-charger.yaml and
ti,twl6030-gpadc.yaml schemas for the TWL603x charger and gpadc nodes.
- No changes for (2/3) & (3/3).
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 | 319 +++++++++++++++---
.../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, 275 insertions(+), 130 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-09-14 19:25 [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Jihed Chaibi
@ 2025-09-14 19:25 ` Jihed Chaibi
2025-09-21 22:12 ` Andreas Kemnade
2025-09-25 12:02 ` (subset) " Lee Jones
2025-09-14 19:25 ` [PATCH v8 2/3] ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible Jihed Chaibi
` (2 subsequent siblings)
3 siblings, 2 replies; 7+ messages in thread
From: Jihed Chaibi @ 2025-09-14 19:25 UTC (permalink / raw)
To: andreas
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap, jihed.chaibi.dev
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].
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Uwe Kleine-König <ukleinek@kernel.org>
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v8:
- Moved all (new and pre-existing) sub-node definitions to
the main properties node, per maintainer feedback.
- Referenced the existing ti,twl6030-charger.yaml and
ti,twl6030-gpadc.yaml schemas for the TWL603x charger
and gpadc nodes.
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 | 319 +++++++++++++++---
.../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, 273 insertions(+), 128 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 f162ab60c09..776b04e182c 100644
--- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
@@ -11,9 +11,9 @@ maintainers:
description: |
The TWLs are Integrated Power Management Chips.
- Some version might contain much more analog function like
+ Some versions might contain much more analog functions like
USB transceiver or Audio amplifier.
- These chips are connected to an i2c bus.
+ These chips are connected to an I2C bus.
allOf:
- if:
@@ -49,33 +49,14 @@ allOf:
ti,retain-on-reset: false
properties:
- madc:
- type: object
- $ref: /schemas/iio/adc/ti,twl4030-madc.yaml
- unevaluatedProperties: false
-
charger:
- type: object
$ref: /schemas/power/supply/twl4030-charger.yaml
unevaluatedProperties: false
- pwrbutton:
- type: object
- additionalProperties: false
- properties:
- compatible:
- const: ti,twl4030-pwrbutton
- interrupts:
- items:
- - items:
- const: 8
-
- watchdog:
- type: object
- additionalProperties: false
- properties:
- compatible:
- const: ti,twl4030-wdt
+ gpadc: false
+
+ usb-comparator: false
+
- if:
properties:
compatible:
@@ -106,15 +87,30 @@ allOf:
properties:
charger:
- type: object
- properties:
- compatible:
- const: ti,twl6030-charger
+ $ref: /schemas/power/supply/ti,twl6030-charger.yaml
+ unevaluatedProperties: false
+
gpadc:
- type: object
properties:
compatible:
const: ti,twl6030-gpadc
+
+ pwrbutton: false
+
+ madc: false
+
+ watchdog: false
+
+ audio: false
+
+ keypad: false
+
+ twl4030-usb: false
+
+ gpio: false
+
+ power: false
+
- if:
properties:
compatible:
@@ -142,23 +138,36 @@ allOf:
properties:
charger:
- type: object
- properties:
- compatible:
- items:
- - const: ti,twl6032-charger
- - const: ti,twl6030-charger
+ $ref: /schemas/power/supply/ti,twl6030-charger.yaml
+ unevaluatedProperties: false
+
gpadc:
- type: object
properties:
compatible:
const: ti,twl6032-gpadc
+ pwrbutton: false
+
+ madc: false
+
+ watchdog: false
+
+ audio: false
+
+ keypad: false
+
+ twl4030-usb: false
+
+ gpio: false
+
+ power: false
+
properties:
compatible:
- description:
- TWL4030 for integrated power-management/audio CODEC device used in OMAP3
- based boards
+ description: >
+ TWL4030 for integrated power-management/audio CODEC device used in
+ OMAP3 based boards.
+
TWL6030/32 for integrated power-management used in OMAP4 based boards
enum:
- ti,twl4030
@@ -181,28 +190,221 @@ properties:
"#clock-cells":
const: 1
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ const: fck
+
charger:
type: object
- additionalProperties: true
+
properties:
compatible: true
+
required:
- compatible
rtc:
type: object
additionalProperties: false
+
properties:
compatible:
const: ti,twl4030-rtc
interrupts:
maxItems: 1
+ madc:
+ type: object
+ $ref: /schemas/iio/adc/ti,twl4030-madc.yaml
+ unevaluatedProperties: false
+
+ pwrbutton:
+ type: object
+ additionalProperties: false
+
+ properties:
+ compatible:
+ const: ti,twl4030-pwrbutton
+ interrupts:
+ items:
+ - items:
+ const: 8
+
+ watchdog:
+ type: object
+ additionalProperties: false
+
+ properties:
+ compatible:
+ const: ti,twl4030-wdt
+
+ audio:
+ type: object
+ additionalProperties: true
+
+ properties:
+ compatible:
+ const: ti,twl4030-audio
+
+ required:
+ - compatible
+
+ keypad:
+ type: object
+ additionalProperties: true
+
+ properties:
+ compatible:
+ const: ti,twl4030-keypad
+
+ required:
+ - compatible
+
+ twl4030-usb:
+ type: object
+ additionalProperties: true
+
+ properties:
+ compatible:
+ const: ti,twl4030-usb
+
+ required:
+ - compatible
+
+ gpio:
+ type: object
+ additionalProperties: true
+
+ properties:
+ compatible:
+ const: ti,twl4030-gpio
+
+ required:
+ - compatible
+
+ power:
+ type: object
+ additionalProperties: false
+ description: >
+ The power management module inside the TWL4030 provides several
+ facilities to control the power resources, including power scripts.
+
+ For now, the binding only supports the complete shutdown of the
+ system after poweroff.
+
+ Board-specific compatible strings may be used for platform-specific
+ power configurations.
+
+ A board-specific compatible string (e.g., ti,twl4030-power-omap3-evm)
+ may be paired with a generic fallback (generally for power saving mode).
+
+ properties:
+ compatible:
+ oneOf:
+ # Case 1: A single compatible string is provided.
+ - enum:
+ - ti,twl4030-power
+ - ti,twl4030-power-reset
+ - ti,twl4030-power-idle
+ - ti,twl4030-power-idle-osc-off
+ - ti,twl4030-power-omap3-sdp
+ - ti,twl4030-power-omap3-ldp
+ - ti,twl4030-power-omap3-evm
+
+ # Case 2: The specific, valid fallback for 'idle-osc-off'.
+ - items:
+ - const: ti,twl4030-power-idle-osc-off
+ - const: ti,twl4030-power-idle
+
+ # Case 3: The specific, valid fallback for 'omap3-evm'.
+ - items:
+ - const: ti,twl4030-power-omap3-evm
+ - const: ti,twl4030-power-idle
+
+ ti,system-power-controller:
+ type: boolean
+ deprecated: true
+ description: >
+ DEPRECATED. The standard 'system-power-controller'
+ property on the parent node should be used instead.
+
+ ti,use_poweroff:
+ type: boolean
+ deprecated: true
+ description: DEPRECATED, to be removed.
+
+ required:
+ - compatible
+
+ gpadc:
+ type: object
+ $ref: /schemas/iio/adc/ti,twl6030-gpadc.yaml
+ unevaluatedProperties: false
+
+ properties:
+ compatible: true
+
+ usb-comparator:
+ type: object
+ additionalProperties: true
+
+ properties:
+ compatible:
+ const: ti,twl6030-usb
+
+ required:
+ - compatible
+
+ pwm:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description:
+ PWM controllers (PWM1 and PWM2 on TWL4030, PWM0 and PWM1 on TWL6030/32).
+
+ properties:
+ compatible:
+ enum:
+ - ti,twl4030-pwm
+ - ti,twl6030-pwm
+
+ '#pwm-cells':
+ const: 2
+
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ pwmled:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: >
+ PWM controllers connected to LED terminals (PWMA and PWMB on TWL4030.
+
+ LED PWM on TWL6030/32, mainly used as charging indicator LED).
+
+ properties:
+ compatible:
+ enum:
+ - ti,twl4030-pwmled
+ - ti,twl6030-pwmled
+
+ '#pwm-cells':
+ const: 2
+
+ required:
+ - compatible
+ - '#pwm-cells'
+
patternProperties:
"^regulator-":
type: object
unevaluatedProperties: false
$ref: /schemas/regulator/regulator.yaml
+
properties:
compatible: true
regulator-initial-mode:
@@ -211,12 +413,13 @@ patternProperties:
# with low power consumption with low load current capability
- 0x0e # Active mode, the regulator can deliver its nominal output
# voltage with full-load current capability
+
ti,retain-on-reset:
- description:
- Does not turn off the supplies during warm
- reset. Could be needed for VMMC, as TWL6030
- reset sequence for this signal does not comply
- with the SD specification.
+ description: >
+ Does not turn off the supplies during warm reset.
+
+ Could be needed for VMMC, as TWL6030 reset sequence for
+ this signal does not comply with the SD specification.
type: boolean
unevaluatedProperties: false
@@ -271,6 +474,16 @@ examples:
compatible = "ti,twl6030-vmmc";
ti,retain-on-reset;
};
+
+ pwm {
+ compatible = "ti,twl6030-pwm";
+ #pwm-cells = <2>;
+ };
+
+ pwmled {
+ compatible = "ti,twl6030-pwmled";
+ #pwm-cells = <2>;
+ };
};
};
@@ -325,6 +538,20 @@ examples:
watchdog {
compatible = "ti,twl4030-wdt";
};
+
+ power {
+ compatible = "ti,twl4030-power";
+ };
+
+ pwm {
+ compatible = "ti,twl4030-pwm";
+ #pwm-cells = <2>;
+ };
+
+ pwmled {
+ compatible = "ti,twl4030-pwmled";
+ #pwm-cells = <2>;
+ };
};
};
...
diff --git a/Documentation/devicetree/bindings/mfd/twl4030-power.txt b/Documentation/devicetree/bindings/mfd/twl4030-power.txt
deleted file mode 100644
index 3d19963312c..00000000000
--- a/Documentation/devicetree/bindings/mfd/twl4030-power.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Texas Instruments TWL family (twl4030) reset and power management module
-
-The power management module inside the TWL family provides several facilities
-to control the power resources, including power scripts. For now, the
-binding only supports the complete shutdown of the system after poweroff.
-
-Required properties:
-- compatible : must be one of the following
- "ti,twl4030-power"
- "ti,twl4030-power-reset"
- "ti,twl4030-power-idle"
- "ti,twl4030-power-idle-osc-off"
-
-The use of ti,twl4030-power-reset is recommended at least on
-3530 that needs a special configuration for warm reset to work.
-
-When using ti,twl4030-power-idle, the TI recommended configuration
-for idle modes is loaded to the tlw4030 PMIC.
-
-When using ti,twl4030-power-idle-osc-off, the TI recommended
-configuration is used with the external oscillator being shut
-down during off-idle. Note that this does not work on all boards
-depending on how the external oscillator is wired.
-
-Optional properties:
-
-- ti,system-power-controller: This indicates that TWL4030 is the
- power supply master of the system. With this flag, the chip will
- initiate an ACTIVE-to-OFF or SLEEP-to-OFF transition when the
- system poweroffs.
-
-- ti,use_poweroff: Deprecated name for ti,system-power-controller
-
-Example:
-&i2c1 {
- clock-frequency = <2600000>;
-
- twl: twl@48 {
- reg = <0x48>;
- interrupts = <7>; /* SYS_NIRQ cascaded to intc */
- interrupt-parent = <&intc>;
-
- twl_power: power {
- compatible = "ti,twl4030-power";
- ti,use_poweroff;
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
deleted file mode 100644
index d97ca1964e9..00000000000
--- a/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Texas Instruments TWL series PWM drivers
-
-Supported PWMs:
-On TWL4030 series: PWM1 and PWM2
-On TWL6030 series: PWM0 and PWM1
-
-Required properties:
-- compatible: "ti,twl4030-pwm" or "ti,twl6030-pwm"
-- #pwm-cells: should be 2. See pwm.yaml in this directory for a description of
- the cells format.
-
-Example:
-
-twl_pwm: pwm {
- compatible = "ti,twl6030-pwm";
- #pwm-cells = <2>;
-};
diff --git a/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt b/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
deleted file mode 100644
index 31ca1b032ef..00000000000
--- a/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Texas Instruments TWL series PWM drivers connected to LED terminals
-
-Supported PWMs:
-On TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
-On TWL6030 series: LED PWM (mainly used as charging indicator LED)
-
-Required properties:
-- compatible: "ti,twl4030-pwmled" or "ti,twl6030-pwmled"
-- #pwm-cells: should be 2. See pwm.yaml in this directory for a description of
- the cells format.
-
-Example:
-
-twl_pwmled: pwmled {
- compatible = "ti,twl6030-pwmled";
- #pwm-cells = <2>;
-};
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v8 2/3] ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible
2025-09-14 19:25 [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
@ 2025-09-14 19:25 ` Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 3/3] ARM: dts: omap3: n900: " Jihed Chaibi
2025-11-04 23:06 ` (subset) [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Kevin Hilman
3 siblings, 0 replies; 7+ messages in thread
From: Jihed Chaibi @ 2025-09-14 19:25 UTC (permalink / raw)
To: andreas
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap, jihed.chaibi.dev
The "ti,twl4030-power-beagleboard-xm" compatible string is obsolete and
is not supported by any in-kernel driver. Currently, the kernel falls
back to the second entry, "ti,twl4030-power-idle-osc-off", to bind a
driver to this node.
Make this fallback explicit by removing the obsolete board-specific
compatible. This preserves the existing functionality while making the
DTS compliant with the new, stricter 'ti,twl.yaml' binding.
Fixes: 9188883fd66e9 ("ARM: dts: Enable twl4030 off-idle configuration for selected omaps")
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v8:
- No changes.
Changes in v7:
- No changes.
Changes in v6:
- This patch was added in this version
---
arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts b/arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts
index 08ee0f8ea68..71b39a923d3 100644
--- a/arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/ti/omap/omap3-beagle-xm.dts
@@ -291,7 +291,7 @@ codec {
};
twl_power: power {
- compatible = "ti,twl4030-power-beagleboard-xm", "ti,twl4030-power-idle-osc-off";
+ compatible = "ti,twl4030-power-idle-osc-off";
ti,use_poweroff;
};
};
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v8 3/3] ARM: dts: omap3: n900: Correct obsolete TWL4030 power compatible
2025-09-14 19:25 [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 2/3] ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible Jihed Chaibi
@ 2025-09-14 19:25 ` Jihed Chaibi
2025-11-04 23:06 ` (subset) [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Kevin Hilman
3 siblings, 0 replies; 7+ messages in thread
From: Jihed Chaibi @ 2025-09-14 19:25 UTC (permalink / raw)
To: andreas
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap, jihed.chaibi.dev
The "ti,twl4030-power-n900" compatible string is obsolete and is not
supported by any in-kernel driver. Currently, the kernel falls back to
the second entry, "ti,twl4030-power-idle-osc-off", to bind a driver to
this node.
Make this fallback explicit by removing the obsolete board-specific
compatible. This preserves the existing functionality while making the
DTS compliant with the new, stricter 'ti,twl.yaml' binding.
Fixes: daebabd578647 ("mfd: twl4030-power: Fix PM idle pin configuration to not conflict with regulators")
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v8:
- No changes.
Changes in v7:
- No changes.
Changes in v6:
- This patch was added in this version
---
arch/arm/boot/dts/ti/omap/omap3-n900.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap3-n900.dts b/arch/arm/boot/dts/ti/omap/omap3-n900.dts
index c50ca572d1b..7db73d9bed9 100644
--- a/arch/arm/boot/dts/ti/omap/omap3-n900.dts
+++ b/arch/arm/boot/dts/ti/omap/omap3-n900.dts
@@ -508,7 +508,7 @@ twl_audio: audio {
};
twl_power: power {
- compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off";
+ compatible = "ti,twl4030-power-idle-osc-off";
ti,use_poweroff;
};
};
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
@ 2025-09-21 22:12 ` Andreas Kemnade
2025-09-25 12:02 ` (subset) " Lee Jones
1 sibling, 0 replies; 7+ messages in thread
From: Andreas Kemnade @ 2025-09-21 22:12 UTC (permalink / raw)
To: Jihed Chaibi
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap
On Sun, 14 Sep 2025 21:25:14 +0200
Jihed Chaibi <jihed.chaibi.dev@gmail.com> 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].
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Acked-by: Uwe Kleine-König <ukleinek@kernel.org>
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: (subset) [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
2025-09-21 22:12 ` Andreas Kemnade
@ 2025-09-25 12:02 ` Lee Jones
1 sibling, 0 replies; 7+ messages in thread
From: Lee Jones @ 2025-09-25 12:02 UTC (permalink / raw)
To: andreas, Jihed Chaibi
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap
On Sun, 14 Sep 2025 21:25:14 +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.
>
> [...]
Applied, thanks!
[1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
commit: 44232889ce7769dd957972df773b6bd639400b41
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: (subset) [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings
2025-09-14 19:25 [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Jihed Chaibi
` (2 preceding siblings ...)
2025-09-14 19:25 ` [PATCH v8 3/3] ARM: dts: omap3: n900: " Jihed Chaibi
@ 2025-11-04 23:06 ` Kevin Hilman
3 siblings, 0 replies; 7+ messages in thread
From: Kevin Hilman @ 2025-11-04 23:06 UTC (permalink / raw)
To: andreas, Jihed Chaibi
Cc: lee, krzk+dt, tony, robh, conor+dt, ukleinek, devicetree,
linux-kernel, linux-pwm, linux-omap
On Sun, 14 Sep 2025 21:25:13 +0200, Jihed Chaibi wrote:
> Following extensive maintainer feedback, this patch implements the
> "define then disable" pattern. All possible child nodes are now defined
> at the top level. Conditional if/then blocks are used to explicitly
> disallow sub-modules that are not present on specific chip variants.
>
> This refactoring also moves pre-existing sub-node definitions
> (e.g. madc, pwrbutton, gpadc, etc.) out of the conditional blocks
> to the top level, following the new pattern.
>
> [...]
Applied, thanks!
[2/3] ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible
commit: f7f3bc18300a230e0f1bfb17fc8889435c1e47f5
[3/3] ARM: dts: omap3: n900: Correct obsolete TWL4030 power compatible
commit: 3862123e9b56663c7a3e4a308e6e65bffe44f646
Best regards,
--
Kevin Hilman <khilman@baylibre.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-11-04 23:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-14 19:25 [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
2025-09-21 22:12 ` Andreas Kemnade
2025-09-25 12:02 ` (subset) " Lee Jones
2025-09-14 19:25 ` [PATCH v8 2/3] ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible Jihed Chaibi
2025-09-14 19:25 ` [PATCH v8 3/3] ARM: dts: omap3: n900: " Jihed Chaibi
2025-11-04 23:06 ` (subset) [PATCH v8 0/3] dt-bindings: mfd: twl: Consolidate and fix TI TWL family bindings Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).