* [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema
@ 2025-08-16 2:15 Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Hello,
This series converts the remaining legacy TXT bindings for the Texas
Instruments TWL4030/6030 family to the DT schema format.
This v3 series addresses extensive feedback from v2. The main changes
include consolidating the simple power and PWM bindings directly into the
main ti,twl.yaml binding for a cleaner structure. It also adds a fix for
an incorrect schema $id in the ti,twl4030-gpio binding and corrects
various properties based on reviewer feedback.
This results in a cleaner, more accurate, and more consolidated set of
bindings for this TWL family.
As requested, the unrelated ti,twl6040 binding conversion has been dropped
from this series and will be sent separately.
Thank you,
Jihed
There is a typo in the subject, "TWL4030/6040" should be "TWL4030/6030".
---
Changes in v3:
- Dropped ti,twl6040 patch to be sent separately.
- Consolidated power, pwm and pwmled bindings into the main
ti,twl.yaml binding, removing 3 patches from the series.
- Added new patch (v3 6/6) to correct the $id in ti,twl4030-gpio.yaml.
- Made 'linux,keymap' a required property in ti,twl4030-keypad.
- Marked (very) old ti,twl4030-power properties as deprecated.
- Updated commit message format for omap-twl4030.yaml (PATCH v2 7/9).
Changes in v2:
- Add new patch (9/9) to fix the parent ti,twl.yaml binding by adding
the missing sub-node definitions, resolving dtbs_check errors.
- (1/9) ti,twl4030-audio: Moved binding to sound/, added enum for
ti,enable-vibra, and simplified the example.
- (2/9) ti,twl6040: Renamed twl6040,audpwron-gpio to ti,audpwron-gpio
to fix a vendor prefix validation error.
- (8/9) ti,twlxxxx-usb: Added '#phy-cells' property to support the
standard PHY framework.
- (7/9) omap-twl4030: Minor cosmetic fixes, retaining Acked-by Mark Brown.
- Other patches: Minor description and formatting cleanups.
The following six patches are included in this series:
Jihed Chaibi (6):
dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
mfd: dt-bindings: ti,twl4030-audio: convert to DT schema
input: dt-bindings: ti,twl4030-keypad: convert to DT schema
ASoC: dt-bindings: omap-twl4030: convert to DT schema
usb: dt-bindings: ti,twlxxxx-usb: convert to DT schema
dt-bindings: gpio: ti,twl4030: Correct the schema $id path
.../bindings/gpio/ti,twl4030-gpio.yaml | 2 +-
.../bindings/input/ti,twl4030-keypad.yaml | 59 ++++++
.../bindings/input/twl4030-keypad.txt | 27 ---
.../devicetree/bindings/mfd/ti,twl.yaml | 191 ++++++++++++++++++
.../devicetree/bindings/mfd/twl4030-audio.txt | 46 -----
.../devicetree/bindings/mfd/twl4030-power.txt | 48 -----
.../devicetree/bindings/pwm/ti,twl-pwm.txt | 17 --
.../devicetree/bindings/pwm/ti,twl-pwmled.txt | 17 --
.../bindings/sound/omap-twl4030.txt | 62 ------
.../bindings/sound/ti,omap-twl4030.yaml | 102 ++++++++++
.../bindings/sound/ti,twl4030-audio.yaml | 90 +++++++++
.../bindings/usb/ti,twlxxxx-usb.yaml | 125 ++++++++++++
.../devicetree/bindings/usb/twlxxxx-usb.txt | 43 ----
13 files changed, 568 insertions(+), 261 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
delete mode 100644 Documentation/devicetree/bindings/input/twl4030-keypad.txt
delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt
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
delete mode 100644 Documentation/devicetree/bindings/sound/omap-twl4030.txt
create mode 100644 Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
create mode 100644 Documentation/devicetree/bindings/sound/ti,twl4030-audio.yaml
create mode 100644 Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
delete mode 100644 Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
--
2.39.5
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-19 8:13 ` Krzysztof Kozlowski
2025-08-16 2:15 ` [PATCH v3 2/6] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema Jihed Chaibi
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Update the TI TWL family Device Tree binding to include additional
subnodes for TWL4030, TWL6030, and TWL6032 devices.
The simple power and PWM bindings (ti,twl4030-power, ti,twl-pwm, and
ti,twl-pwmled) are now defined directly within this binding.
Other child node definitions (audio, gpio, keypad, usb, etc.) are also
added to the schema. These additions fix 'unevaluated properties'
errors found during dtbs_check for boards like the omap3-beagle
and improve the binding's overall completeness.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
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.
---
.../devicetree/bindings/mfd/ti,twl.yaml | 191 ++++++++++++++++++
.../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, 191 insertions(+), 82 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 f162ab60c..b0f1cb7b5 100644
--- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
@@ -76,6 +76,98 @@ allOf:
properties:
compatible:
const: ti,twl4030-wdt
+
+ audio:
+ type: object
+ $ref: /schemas/sound/ti,twl4030-audio.yaml#
+ unevaluatedProperties: false
+
+ keypad:
+ type: object
+ $ref: /schemas/input/ti,twl4030-keypad.yaml#
+ unevaluatedProperties: false
+
+ pwm:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
+ properties:
+ compatible:
+ enum:
+ - ti,twl4030-pwm
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ pwmled:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
+ properties:
+ compatible:
+ enum:
+ - ti,twl4030-pwmled
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ 'twl4030-usb':
+ type: object
+ $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
+ unevaluatedProperties: false
+
+ gpio:
+ type: object
+ $ref: /schemas/gpio/ti,twl4030-gpio.yaml#
+ unevaluatedProperties: false
+
+ 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.
+ properties:
+ compatible:
+ description: |
+ The compatible string determines the specific power configuration.
+ "ti,twl4030-power": Standard power control.
+ "ti,twl4030-power-reset": Recommended for OMAP3530 and similar SoCs
+ that require a special configuration for warm reset to work correctly.
+ "ti,twl4030-power-idle": Loads the TI-recommended configuration for
+ idle modes into the PMIC.
+ "ti,twl4030-power-idle-osc-off": Uses the recommended idle configuration
+ but also shuts down the external oscillator. This may not work on all
+ boards depending on the oscillator wiring.
+ enum:
+ - ti,twl4030-power
+ - ti,twl4030-power-reset
+ - ti,twl4030-power-idle
+ - ti,twl4030-power-idle-osc-off
+
+ 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
+
+ required:
+ - compatible
+
- if:
properties:
compatible:
@@ -115,6 +207,44 @@ allOf:
properties:
compatible:
const: ti,twl6030-gpadc
+
+ pwm:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL6030 series: LED PWM (mainly used as charging indicator LED)
+ properties:
+ compatible:
+ enum:
+ - ti,twl6030-pwm
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ pwmled:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL6030 series: LED PWM (mainly used as charging indicator LED)
+ properties:
+ compatible:
+ enum:
+ - ti,twl6030-pwmled
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ 'twl6030-usb':
+ type: object
+ $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
+ unevaluatedProperties: false
+
- if:
properties:
compatible:
@@ -154,6 +284,43 @@ allOf:
compatible:
const: ti,twl6032-gpadc
+ pwm:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL6030 series: LED PWM (mainly used as charging indicator LED)
+ properties:
+ compatible:
+ enum:
+ - ti,twl6030-pwm
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ pwmled:
+ type: object
+ $ref: /schemas/pwm/pwm.yaml#
+ unevaluatedProperties: false
+ description: |
+ TWL6030 series: LED PWM (mainly used as charging indicator LED)
+ properties:
+ compatible:
+ enum:
+ - ti,twl6030-pwmled
+ '#pwm-cells':
+ const: 2
+ required:
+ - compatible
+ - '#pwm-cells'
+
+ 'twl6030-usb':
+ type: object
+ $ref: /schemas/usb/ti,twlxxxx-usb.yaml
+ unevaluatedProperties: false
+
properties:
compatible:
description:
@@ -271,6 +438,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 +502,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 3d1996331..000000000
--- 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 d97ca1964..000000000
--- 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 31ca1b032..000000000
--- 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] 14+ messages in thread
* [PATCH v3 2/6] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 3/6] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Convert the TWL4030 audio module bindings from txt to YAML format and
move them to the sound subsystem bindings directory. This patch also
refines the schema by adding an enum constraint for ti,enable-vibra and
updates the example to remove irrelevant I2C clock-frequency property.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v3:
- No changes.
Changes in v2:
- Moved binding from mfd to sound directory.
- Added enum: [0, 1] to ti,enable-vibra for stricter validation.
- Removed clock-frequency from the example as it’s not relevant to the binding.
- Simplified example by removing unnecessary I2C node properties.
---
.../devicetree/bindings/mfd/twl4030-audio.txt | 46 ----------
.../bindings/sound/ti,twl4030-audio.yaml | 90 +++++++++++++++++++
2 files changed, 90 insertions(+), 46 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt
create mode 100644 Documentation/devicetree/bindings/sound/ti,twl4030-audio.yaml
diff --git a/Documentation/devicetree/bindings/mfd/twl4030-audio.txt b/Documentation/devicetree/bindings/mfd/twl4030-audio.txt
deleted file mode 100644
index 414d2ae0a..000000000
--- a/Documentation/devicetree/bindings/mfd/twl4030-audio.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Texas Instruments TWL family (twl4030) audio module
-
-The audio module inside the TWL family consist of an audio codec and a vibra
-driver.
-
-Required properties:
-- compatible : must be "ti,twl4030-audio"
-
-Optional properties, nodes:
-
-Audio functionality:
-- codec { }: Need to be present if the audio functionality is used. Within this
- section the following options can be used:
-- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
- from the start of the recorded sample (in ms)
--ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
--ti,hs_extmute: Use external mute for HS pop reduction
--ti,hs_extmute_gpio: Use external GPIO to control the external mute
--ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
- valid values.
-
-Vibra functionality
-- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
- missing or it is 0, the vibra functionality is disabled.
-
-Example:
-&i2c1 {
- clock-frequency = <2600000>;
-
- twl: twl@48 {
- reg = <0x48>;
- interrupts = <7>; /* SYS_NIRQ cascaded to intc */
- interrupt-parent = <&intc>;
-
- twl_audio: audio {
- compatible = "ti,twl4030-audio";
-
- ti,enable-vibra = <1>;
-
- codec {
- ti,ramp_delay_value = <3>;
- };
-
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/sound/ti,twl4030-audio.yaml b/Documentation/devicetree/bindings/sound/ti,twl4030-audio.yaml
new file mode 100644
index 000000000..c9c3f7513
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,twl4030-audio.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,twl4030-audio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030-family Audio Module
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description:
+ The audio module within the TWL4030-family of companion chips consists
+ of an audio codec and a vibra driver. This binding describes the parent
+ node for these functions.
+
+properties:
+ compatible:
+ const: ti,twl4030-audio
+
+ codec:
+ type: object
+ description: Node containing properties for the audio codec functionality.
+
+ properties:
+ ti,digimic_delay:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Delay in milliseconds after enabling digital microphones to reduce
+ artifacts.
+
+ ti,ramp_delay_value:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Headset ramp delay configuration to reduce pop noise.
+
+ ti,hs_extmute:
+ type: boolean
+ description:
+ Enable the use of an external mute for headset pop reduction.
+
+ ti,hs_extmute_gpio:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description:
+ The GPIO specifier for the external mute control.
+ maxItems: 1
+
+ ti,offset_cncl_path:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Offset cancellation path selection. Refer to the Technical
+ Reference Manual for valid values.
+
+ # The 'codec' node itself is optional, but if it exists, it can be empty.
+ # We don't require any of its sub-properties.
+
+ ti,enable-vibra:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1]
+ description:
+ Enable or disable the vibra functionality.
+
+additionalProperties: false
+
+required:
+ - compatible
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl: twl@48 {
+ reg = <0x48>;
+ interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+ interrupt-parent = <&intc>;
+
+ twl_audio: audio {
+ compatible = "ti,twl4030-audio";
+
+ ti,enable-vibra = <1>;
+
+ codec {
+ ti,ramp_delay_value = <3>;
+ };
+
+ };
+ };
+ };
--
2.39.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 3/6] input: dt-bindings: ti,twl4030-keypad: convert to DT schema
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 2/6] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 4/6] ASoC: dt-bindings: omap-twl4030: " Jihed Chaibi
` (3 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Convert the legacy TXT binding for the TWL4030 keypad module
to the modern YAML DT schema format. This adds formal validation
and improves documentation by inheriting from the matrix-keymap schema.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v3:
- Made 'linux,keymap' a required property as suggested by the reviewer.
Changes in v2:
- Simplified the description field by removing redundant '|'
as it does not affect formatting in this context.
---
.../bindings/input/ti,twl4030-keypad.yaml | 59 +++++++++++++++++++
.../bindings/input/twl4030-keypad.txt | 27 ---------
2 files changed, 59 insertions(+), 27 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
delete mode 100644 Documentation/devicetree/bindings/input/twl4030-keypad.txt
diff --git a/Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml b/Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
new file mode 100644
index 000000000..c69aa7f5c
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/ti,twl4030-keypad.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030-family Keypad Controller
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description:
+ TWL4030's Keypad controller is used to interface a SoC with a matrix-type
+ keypad device. The keypad controller supports multiple row and column lines.
+ A key can be placed at each intersection of a unique row and a unique column.
+ The keypad controller can sense a key-press and key-release and report the
+ event using a interrupt to the cpu.
+
+allOf:
+ - $ref: matrix-keymap.yaml#
+
+properties:
+ compatible:
+ const: ti,twl4030-keypad
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - interrupts
+ - keypad,num-rows
+ - keypad,num-columns
+ - linux,keymap
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/input/input.h>
+
+ keypad {
+ compatible = "ti,twl4030-keypad";
+ interrupts = <1>;
+ keypad,num-rows = <8>;
+ keypad,num-columns = <8>;
+ linux,keymap = <
+ /* row 0 */
+ MATRIX_KEY(0, 0, KEY_1)
+ MATRIX_KEY(0, 1, KEY_2)
+ MATRIX_KEY(0, 2, KEY_3)
+
+ /* ...and so on for a full 8x8 matrix... */
+
+ /* row 7 */
+ MATRIX_KEY(7, 6, KEY_Y)
+ MATRIX_KEY(7, 7, KEY_Z)
+ >;
+ };
diff --git a/Documentation/devicetree/bindings/input/twl4030-keypad.txt b/Documentation/devicetree/bindings/input/twl4030-keypad.txt
deleted file mode 100644
index e4be2f76a..000000000
--- a/Documentation/devicetree/bindings/input/twl4030-keypad.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-* TWL4030's Keypad Controller device tree bindings
-
-TWL4030's Keypad controller is used to interface a SoC with a matrix-type
-keypad device. The keypad controller supports multiple row and column lines.
-A key can be placed at each intersection of a unique row and a unique column.
-The keypad controller can sense a key-press and key-release and report the
-event using a interrupt to the cpu.
-
-This binding is based on the matrix-keymap binding with the following
-changes:
-
- * keypad,num-rows and keypad,num-columns are required.
-
-Required SoC Specific Properties:
-- compatible: should be one of the following
- - "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
- controller.
-- interrupt: should be one of the following
- - <1>: For controllers compatible with twl4030 keypad controller.
-
-Example:
- twl_keypad: keypad {
- compatible = "ti,twl4030-keypad";
- interrupts = <1>;
- keypad,num-rows = <8>;
- keypad,num-columns = <8>;
- };
--
2.39.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 4/6] ASoC: dt-bindings: omap-twl4030: convert to DT schema
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
` (2 preceding siblings ...)
2025-08-16 2:15 ` [PATCH v3 3/6] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 5/6] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Convert the legacy TXT binding for the OMAP TWL4030 sound card
to the modern YAML DT schema format. This adds formal validation
and improves documentation.
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v3:
- No change to binding content, only updating commit message format.
Changes in v2:
- Fixed comment formatting (added spaces for better alignment).
- Updated commit subject to align with subsystem style.
- Retained Acked-by from v1 as changes are cosmetic.
---
.../bindings/sound/omap-twl4030.txt | 62 -----------
.../bindings/sound/ti,omap-twl4030.yaml | 102 ++++++++++++++++++
2 files changed, 102 insertions(+), 62 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/omap-twl4030.txt
create mode 100644 Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
diff --git a/Documentation/devicetree/bindings/sound/omap-twl4030.txt b/Documentation/devicetree/bindings/sound/omap-twl4030.txt
deleted file mode 100644
index f6a715e4e..000000000
--- a/Documentation/devicetree/bindings/sound/omap-twl4030.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-* Texas Instruments SoC with twl4030 based audio setups
-
-Required properties:
-- compatible: "ti,omap-twl4030"
-- ti,model: Name of the sound card (for example "omap3beagle")
-- ti,mcbsp: phandle for the McBSP node
-
-Optional properties:
-- ti,codec: phandle for the twl4030 audio node
-- ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl
-- ti, jack-det-gpio: Jack detect GPIO
-- ti,audio-routing: List of connections between audio components.
- Each entry is a pair of strings, the first being the connection's sink,
- the second being the connection's source.
- If the routing is not provided all possible connection will be available
-
-Available audio endpoints for the audio-routing table:
-
-Board connectors:
- * Headset Stereophone
- * Earpiece Spk
- * Handsfree Spk
- * Ext Spk
- * Main Mic
- * Sub Mic
- * Headset Mic
- * Carkit Mic
- * Digital0 Mic
- * Digital1 Mic
- * Line In
-
-twl4030 pins:
- * HSOL
- * HSOR
- * EARPIECE
- * HFL
- * HFR
- * PREDRIVEL
- * PREDRIVER
- * CARKITL
- * CARKITR
- * MAINMIC
- * SUBMIC
- * HSMIC
- * DIGIMIC0
- * DIGIMIC1
- * CARKITMIC
- * AUXL
- * AUXR
-
- * Headset Mic Bias
- * Mic Bias 1 /* Used for Main Mic or Digimic0 */
- * Mic Bias 2 /* Used for Sub Mic or Digimic1 */
-
-Example:
-
-sound {
- compatible = "ti,omap-twl4030";
- ti,model = "omap3beagle";
-
- ti,mcbsp = <&mcbsp2>;
-};
diff --git a/Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml b/Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
new file mode 100644
index 000000000..7c9371860
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,omap-twl4030.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments SoC with twl4030 based audio setups
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description:
+ Bindings for audio setups on TI OMAP SoCs using TWL4030-family audio
+ codec connected via a McBSP port.
+
+properties:
+ compatible:
+ const: ti,omap-twl4030
+
+ ti,model:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: Name of the sound card (for example "omap3beagle").
+
+ ti,mcbsp:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle for the McBSP node.
+
+ ti,codec:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle for the twl4030 audio node.
+
+ ti,mcbsp-voice:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle to the McBSP node connected to the voice port.
+
+ ti,jack-det-gpio:
+ description: GPIO specifier for jack detection.
+ maxItems: 1
+
+ ti,audio-routing:
+ description: |
+ A list of audio routing connections. Each entry is a pair of strings,
+ with the first being the connection's sink and the second being the
+ source. If not provided, all possible connections are available.
+
+ Available TWL4030 Pins: "HFL", "HFR",
+ "PREDRIVEL", "PREDRIVER", "CARKITL", "CARKITR", "MAINMIC", "SUBMIC",
+ "HSMIC", "DIGIMIC0", "DIGIMIC1", "CARKITMIC", "AUXL", "AUXR",
+ "Headset Mic Bias", "Mic Bias 1", "Mic Bias 2"
+ $ref: /schemas/types.yaml#/definitions/non-unique-string-array
+ items:
+ enum:
+ # Board Connectors
+ - Headset Stereophone
+ - Earpiece Spk
+ - Handsfree Spk
+ - Ext Spk
+ - Main Mic
+ - Sub Mic
+ - Headset Mic
+ - Carkit Mic
+ - Digital0 Mic
+ - Digital1 Mic
+ - Line In
+
+ # CODEC Pins
+ - HSOL
+ - HSOR
+ - EARPIECE
+ - HFL
+ - HFR
+ - PREDRIVEL
+ - PREDRIVER
+ - CARKITL
+ - CARKITR
+ - MAINMIC
+ - SUBMIC
+ - HSMIC
+ - DIGIMIC0
+ - DIGIMIC1
+ - CARKITMIC
+ - AUXL
+ - AUXR
+
+ # Headset Mic Bias
+ - Mic Bias 1 # Used for Main Mic or Digimic0
+ - Mic Bias 2 # Used for Sub Mic or Digimic1
+
+required:
+ - compatible
+ - ti,model
+ - ti,mcbsp
+
+additionalProperties: false
+
+examples:
+ - |
+ sound {
+ compatible = "ti,omap-twl4030";
+ ti,model = "omap3beagle";
+ ti,mcbsp = <&mcbsp2>;
+ };
--
2.39.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 5/6] usb: dt-bindings: ti,twlxxxx-usb: convert to DT schema
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
` (3 preceding siblings ...)
2025-08-16 2:15 ` [PATCH v3 4/6] ASoC: dt-bindings: omap-twl4030: " Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path Jihed Chaibi
2025-08-19 8:14 ` [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Krzysztof Kozlowski
6 siblings, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
Convert the legacy TXT binding for the TWL4030/6030 USB module
to the modern YAML DT schema format. This adds formal validation
and improves documentation using a conditional schema.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Changes in v3:
- No changes.
Changes in v2:
- Added '#phy-cells' property to support PHY framework integration.
---
.../bindings/usb/ti,twlxxxx-usb.yaml | 125 ++++++++++++++++++
.../devicetree/bindings/usb/twlxxxx-usb.txt | 43 ------
2 files changed, 125 insertions(+), 43 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
delete mode 100644 Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
diff --git a/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml b/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
new file mode 100644
index 000000000..48ff5b732
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
@@ -0,0 +1,125 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,twlxxxx-usb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030/6030 USB PHY and Comparator
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+ Bindings for the USB PHY and comparator module found within the
+ TWL4030 and TWL6030 family of companion chips.
+
+ TWL6030: USB COMPARATOR
+ TWL4030: USB COMPARATOR & PHY
+
+ If a sibling node is compatible with "ti,twl4030-bci", the driver for
+ that node will query this device for USB power status.
+
+properties:
+ compatible:
+ enum:
+ - ti,twl4030-usb
+ - ti,twl6030-usb
+
+ interrupts:
+ description: |
+ Interrupts for ID and VBUS events.
+ For "ti,twl6030-usb", two interrupts must be specified:
+ - The first is the OTG interrupt for ID events (host mode).
+ - The second is the USB interrupt for VBUS events (device mode).
+ For "ti,twl4030-usb", one or two interrupts can be specified:
+ - The first is the OTG interrupt for both ID and VBUS events.
+ - The second is optional.
+ minItems: 1
+ maxItems: 2
+
+ usb-supply:
+ description:
+ Phandle to the VUSB regulator. For TWL6030, this should be the 'vusb'
+ regulator. For TWL6032 subclass, it should be the 'ldousb' regulator.
+
+ usb1v5-supply:
+ description: Phandle to the VUSB1V5 regulator (for TWL4030).
+
+ usb1v8-supply:
+ description: Phandle to the VUSB1V8 regulator (for TWL4030).
+
+ usb3v1-supply:
+ description: Phandle to the USB3V1 regulator (for TWL4030).
+
+ usb_mode:
+ description: |
+ The mode used by the PHY (TWL4030 ONLY) to connect to the controller:
+ 1: ULPI mode
+ 2: CEA2011_3PIN mode
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [1, 2]
+
+ '#phy-cells':
+ const: 0
+
+required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+if:
+ properties:
+ compatible:
+ contains:
+ const: ti,twl6030-usb
+then:
+ required:
+ - usb-supply
+ properties:
+ interrupts:
+ minItems: 2
+else:
+ required:
+ - usb1v5-supply
+ - usb1v8-supply
+ - usb3v1-supply
+ - usb_mode
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl@48 {
+ reg = <0x48>;
+
+ usb_phy: twl4030-usb {
+ compatible = "ti,twl4030-usb";
+ interrupts = <10 4>; // 1 interrupt: OTG (ID & VBUS events)
+ interrupt-parent = <&gic>;
+ usb1v5-supply = <®_vusb1v5>;
+ usb1v8-supply = <®_vusb1v8>;
+ usb3v1-supply = <®_vusb3v1>;
+ usb_mode = <1>;
+ #phy-cells = <0>;
+ };
+ };
+ };
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl@48 {
+ reg = <0x48>;
+
+ usb_comp: twl6030-usb {
+ compatible = "ti,twl6030-usb";
+ interrupts = <4 4>, <10 4>; // 2 interrupts: OTG & USB
+ interrupt-parent = <&gic>;
+ usb-supply = <®_vusb>;
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt b/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
deleted file mode 100644
index 17327a296..000000000
--- a/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-USB COMPARATOR OF TWL CHIPS
-
-TWL6030 USB COMPARATOR
- - compatible : Should be "ti,twl6030-usb"
- - interrupts : Two interrupt numbers to the cpu should be specified. First
- interrupt number is the otg interrupt number that raises ID interrupts when
- the controller has to act as host and the second interrupt number is the
- usb interrupt number that raises VBUS interrupts when the controller has to
- act as device
- - usb-supply : phandle to the regulator device tree node. It should be vusb
- if it is twl6030 or ldousb if it is twl6032 subclass.
-
-twl6030-usb {
- compatible = "ti,twl6030-usb";
- interrupts = < 4 10 >;
-};
-
-Board specific device node entry
-&twl6030-usb {
- usb-supply = <&vusb>;
-};
-
-TWL4030 USB PHY AND COMPARATOR
- - compatible : Should be "ti,twl4030-usb"
- - interrupts : The interrupt numbers to the cpu should be specified. First
- interrupt number is the otg interrupt number that raises ID interrupts
- and VBUS interrupts. The second interrupt number is optional.
- - <supply-name>-supply : phandle to the regulator device tree node.
- <supply-name> should be vusb1v5, vusb1v8 and vusb3v1
- - usb_mode : The mode used by the phy to connect to the controller. "1"
- specifies "ULPI" mode and "2" specifies "CEA2011_3PIN" mode.
-
-If a sibling node is compatible "ti,twl4030-bci", then it will find
-this device and query it for USB power status.
-
-twl4030-usb {
- compatible = "ti,twl4030-usb";
- interrupts = < 10 4 >;
- usb1v5-supply = <&vusb1v5>;
- usb1v8-supply = <&vusb1v8>;
- usb3v1-supply = <&vusb3v1>;
- usb_mode = <1>;
-};
--
2.39.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
` (4 preceding siblings ...)
2025-08-16 2:15 ` [PATCH v3 5/6] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
@ 2025-08-16 2:15 ` Jihed Chaibi
2025-08-19 8:11 ` Krzysztof Kozlowski
2025-08-19 8:14 ` [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Krzysztof Kozlowski
6 siblings, 1 reply; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-16 2:15 UTC (permalink / raw)
To: linux-kernel
Cc: andreas, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie, gregkh,
linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah, jihed.chaibi.dev
The $id for a binding should match its file path. The ti,twl4030-gpio
binding is located in the gpio/ subdirectory but was missing this from
its $id.
Correct the path to follow the standard convention.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
Documentation/devicetree/bindings/gpio/ti,twl4030-gpio.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/gpio/ti,twl4030-gpio.yaml b/Documentation/devicetree/bindings/gpio/ti,twl4030-gpio.yaml
index 5e3e199fd..96d50d14c 100644
--- a/Documentation/devicetree/bindings/gpio/ti,twl4030-gpio.yaml
+++ b/Documentation/devicetree/bindings/gpio/ti,twl4030-gpio.yaml
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
-$id: http://devicetree.org/schemas/ti,twl4030-gpio.yaml#
+$id: http://devicetree.org/schemas/gpio/ti,twl4030-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI TWL4030 GPIO controller
--
2.39.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path
2025-08-16 2:15 ` [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path Jihed Chaibi
@ 2025-08-19 8:11 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-19 8:11 UTC (permalink / raw)
To: Jihed Chaibi
Cc: linux-kernel, andreas, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On Sat, Aug 16, 2025 at 04:15:23AM +0200, Jihed Chaibi wrote:
> The $id for a binding should match its file path. The ti,twl4030-gpio
> binding is located in the gpio/ subdirectory but was missing this from
> its $id.
>
> Correct the path to follow the standard convention.
>
Fixes: 842dcff8e2d6 ("dt-bindings: gpio: Convert ti,twl4030-gpio to DT schema")
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-16 2:15 ` [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
@ 2025-08-19 8:13 ` Krzysztof Kozlowski
2025-08-19 14:51 ` Jihed Chaibi
2025-08-19 20:31 ` Andreas Kemnade
0 siblings, 2 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-19 8:13 UTC (permalink / raw)
To: Jihed Chaibi
Cc: linux-kernel, andreas, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On Sat, Aug 16, 2025 at 04:15:18AM +0200, Jihed Chaibi wrote:
> Update the TI TWL family Device Tree binding to include additional
> subnodes for TWL4030, TWL6030, and TWL6032 devices.
>
> The simple power and PWM bindings (ti,twl4030-power, ti,twl-pwm, and
> ti,twl-pwmled) are now defined directly within this binding.
>
> Other child node definitions (audio, gpio, keypad, usb, etc.) are also
> added to the schema. These additions fix 'unevaluated properties'
> errors found during dtbs_check for boards like the omap3-beagle
> and improve the binding's overall completeness.
>
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
>
> ---
> 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.
> ---
> .../devicetree/bindings/mfd/ti,twl.yaml | 191 ++++++++++++++++++
> .../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, 191 insertions(+), 82 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 f162ab60c..b0f1cb7b5 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> @@ -76,6 +76,98 @@ allOf:
> properties:
> compatible:
> const: ti,twl4030-wdt
> +
> + audio:
> + type: object
> + $ref: /schemas/sound/ti,twl4030-audio.yaml#
> + unevaluatedProperties: false
> +
> + keypad:
> + type: object
> + $ref: /schemas/input/ti,twl4030-keypad.yaml#
> + unevaluatedProperties: false
> +
> + pwm:
> + type: object
> + $ref: /schemas/pwm/pwm.yaml#
> + unevaluatedProperties: false
> + description: |
> + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> + properties:
> + compatible:
> + enum:
> + - ti,twl4030-pwm
> + '#pwm-cells':
> + const: 2
> + required:
> + - compatible
> + - '#pwm-cells'
> +
> + pwmled:
> + type: object
> + $ref: /schemas/pwm/pwm.yaml#
> + unevaluatedProperties: false
> + description: |
> + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> + properties:
> + compatible:
> + enum:
> + - ti,twl4030-pwmled
> + '#pwm-cells':
> + const: 2
> + required:
> + - compatible
> + - '#pwm-cells'
> +
> + 'twl4030-usb':
No need for quotes.
> + type: object
> + $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
Are you sure your patchset is bsiectable? Apply this patch and test. You
will see errors and you must fix these. Even after fixing you have
strict dependencies so your cover letter must explain these (or merging
constraints)...
I suggest listing here only compatible with additionalProperties:true
and splitting entire patchset per different maintainers.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
` (5 preceding siblings ...)
2025-08-16 2:15 ` [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path Jihed Chaibi
@ 2025-08-19 8:14 ` Krzysztof Kozlowski
6 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-19 8:14 UTC (permalink / raw)
To: Jihed Chaibi
Cc: linux-kernel, andreas, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On Sat, Aug 16, 2025 at 04:15:17AM +0200, Jihed Chaibi wrote:
> Hello,
>
> This series converts the remaining legacy TXT bindings for the Texas
> Instruments TWL4030/6030 family to the DT schema format.
>
> This v3 series addresses extensive feedback from v2. The main changes
> include consolidating the simple power and PWM bindings directly into the
> main ti,twl.yaml binding for a cleaner structure. It also adds a fix for
> an incorrect schema $id in the ti,twl4030-gpio binding and corrects
> various properties based on reviewer feedback.
>
> This results in a cleaner, more accurate, and more consolidated set of
> bindings for this TWL family.
>
> As requested, the unrelated ti,twl6040 binding conversion has been dropped
> from this series and will be sent separately.
>
> Thank you,
> Jihed
>
> There is a typo in the subject, "TWL4030/6040" should be "TWL4030/6030".
Huh? Why are you sending patches with known (at the time of sending)
issues? Fix the issue instead.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-19 8:13 ` Krzysztof Kozlowski
@ 2025-08-19 14:51 ` Jihed Chaibi
2025-08-19 20:31 ` Andreas Kemnade
1 sibling, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-19 14:51 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: linux-kernel, andreas, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On Tue, Aug 19, 2025 at 10:13 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Sat, Aug 16, 2025 at 04:15:18AM +0200, Jihed Chaibi wrote:
> > Update the TI TWL family Device Tree binding to include additional
> > subnodes for TWL4030, TWL6030, and TWL6032 devices.
> >
> > The simple power and PWM bindings (ti,twl4030-power, ti,twl-pwm, and
> > ti,twl-pwmled) are now defined directly within this binding.
> >
> > Other child node definitions (audio, gpio, keypad, usb, etc.) are also
> > added to the schema. These additions fix 'unevaluated properties'
> > errors found during dtbs_check for boards like the omap3-beagle
> > and improve the binding's overall completeness.
> >
> > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> >
> > ---
> > 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.
> > ---
> > .../devicetree/bindings/mfd/ti,twl.yaml | 191 ++++++++++++++++++
> > .../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, 191 insertions(+), 82 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 f162ab60c..b0f1cb7b5 100644
> > --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > @@ -76,6 +76,98 @@ allOf:
> > properties:
> > compatible:
> > const: ti,twl4030-wdt
> > +
> > + audio:
> > + type: object
> > + $ref: /schemas/sound/ti,twl4030-audio.yaml#
> > + unevaluatedProperties: false
> > +
> > + keypad:
> > + type: object
> > + $ref: /schemas/input/ti,twl4030-keypad.yaml#
> > + unevaluatedProperties: false
> > +
> > + pwm:
> > + type: object
> > + $ref: /schemas/pwm/pwm.yaml#
> > + unevaluatedProperties: false
> > + description: |
> > + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> > + properties:
> > + compatible:
> > + enum:
> > + - ti,twl4030-pwm
> > + '#pwm-cells':
> > + const: 2
> > + required:
> > + - compatible
> > + - '#pwm-cells'
> > +
> > + pwmled:
> > + type: object
> > + $ref: /schemas/pwm/pwm.yaml#
> > + unevaluatedProperties: false
> > + description: |
> > + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> > + properties:
> > + compatible:
> > + enum:
> > + - ti,twl4030-pwmled
> > + '#pwm-cells':
> > + const: 2
> > + required:
> > + - compatible
> > + - '#pwm-cells'
> > +
> > + 'twl4030-usb':
>
> No need for quotes.
>
> > + type: object
> > + $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
>
> Are you sure your patchset is bsiectable? Apply this patch and test. You
> will see errors and you must fix these. Even after fixing you have
> strict dependencies so your cover letter must explain these (or merging
> constraints)...
>
> I suggest listing here only compatible with additionalProperties:true
> and splitting entire patchset per different maintainers.
Hi Krzysztof,
Thank you for the review. That additionalProperties
suggestion is definitely helpful in this scenario.
I will split (in v4) the patchset into smaller & independent
series for each subsystem as recommended.
Thanks again for your guidance.
Jihed
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-19 8:13 ` Krzysztof Kozlowski
2025-08-19 14:51 ` Jihed Chaibi
@ 2025-08-19 20:31 ` Andreas Kemnade
2025-08-20 5:57 ` Krzysztof Kozlowski
1 sibling, 1 reply; 14+ messages in thread
From: Andreas Kemnade @ 2025-08-19 20:31 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Jihed Chaibi, linux-kernel, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
Am Tue, 19 Aug 2025 10:13:39 +0200
schrieb Krzysztof Kozlowski <krzk@kernel.org>:
> On Sat, Aug 16, 2025 at 04:15:18AM +0200, Jihed Chaibi wrote:
> > Update the TI TWL family Device Tree binding to include additional
> > subnodes for TWL4030, TWL6030, and TWL6032 devices.
> >
> > The simple power and PWM bindings (ti,twl4030-power, ti,twl-pwm, and
> > ti,twl-pwmled) are now defined directly within this binding.
> >
> > Other child node definitions (audio, gpio, keypad, usb, etc.) are also
> > added to the schema. These additions fix 'unevaluated properties'
> > errors found during dtbs_check for boards like the omap3-beagle
> > and improve the binding's overall completeness.
> >
> > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> >
> > ---
> > 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.
> > ---
> > .../devicetree/bindings/mfd/ti,twl.yaml | 191 ++++++++++++++++++
> > .../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, 191 insertions(+), 82 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 f162ab60c..b0f1cb7b5 100644
> > --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > @@ -76,6 +76,98 @@ allOf:
> > properties:
> > compatible:
> > const: ti,twl4030-wdt
> > +
> > + audio:
> > + type: object
> > + $ref: /schemas/sound/ti,twl4030-audio.yaml#
> > + unevaluatedProperties: false
> > +
> > + keypad:
> > + type: object
> > + $ref: /schemas/input/ti,twl4030-keypad.yaml#
> > + unevaluatedProperties: false
> > +
> > + pwm:
> > + type: object
> > + $ref: /schemas/pwm/pwm.yaml#
> > + unevaluatedProperties: false
> > + description: |
> > + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> > + properties:
> > + compatible:
> > + enum:
> > + - ti,twl4030-pwm
> > + '#pwm-cells':
> > + const: 2
> > + required:
> > + - compatible
> > + - '#pwm-cells'
> > +
> > + pwmled:
> > + type: object
> > + $ref: /schemas/pwm/pwm.yaml#
> > + unevaluatedProperties: false
> > + description: |
> > + TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> > + properties:
> > + compatible:
> > + enum:
> > + - ti,twl4030-pwmled
> > + '#pwm-cells':
> > + const: 2
> > + required:
> > + - compatible
> > + - '#pwm-cells'
> > +
> > + 'twl4030-usb':
>
> No need for quotes.
>
> > + type: object
> > + $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
>
> Are you sure your patchset is bsiectable? Apply this patch and test. You
> will see errors and you must fix these. Even after fixing you have
> strict dependencies so your cover letter must explain these (or merging
> constraints)...
>
what are the rules here regarding bisectability? non-existing files
in $ref are probably bad. Are then unveiled errors in dts also a
problem? I would not expect too much fixing effort needed here. I have
not run dtbs_check yet.
I have expected this would all go via Lee's usual immutable branches.
Regards,
Andreas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-19 20:31 ` Andreas Kemnade
@ 2025-08-20 5:57 ` Krzysztof Kozlowski
2025-08-20 13:15 ` Jihed Chaibi
0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-20 5:57 UTC (permalink / raw)
To: Andreas Kemnade
Cc: Jihed Chaibi, linux-kernel, peter.ujfalusi, dmitry.torokhov, robh,
krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On 19/08/2025 22:31, Andreas Kemnade wrote:
>>
>>> + type: object
>>> + $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
>>
>> Are you sure your patchset is bsiectable? Apply this patch and test. You
>> will see errors and you must fix these. Even after fixing you have
>> strict dependencies so your cover letter must explain these (or merging
>> constraints)...
>>
> what are the rules here regarding bisectability? non-existing files
dt_binding_check.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
2025-08-20 5:57 ` Krzysztof Kozlowski
@ 2025-08-20 13:15 ` Jihed Chaibi
0 siblings, 0 replies; 14+ messages in thread
From: Jihed Chaibi @ 2025-08-20 13:15 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Andreas Kemnade, linux-kernel, peter.ujfalusi, dmitry.torokhov,
robh, krzk+dt, lgirdwood, tiwai, conor+dt, lee, ukleinek, broonie,
gregkh, linus.walleij, brgl, aaro.koskinen, khilman, rogerq, tony,
linux-gpio, linux-input, devicetree, linux-pwm, linux-sound,
linux-usb, linux-omap, shuah
On Wed, Aug 20, 2025 at 7:57 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 19/08/2025 22:31, Andreas Kemnade wrote:
> >>
> >>> + type: object
> >>> + $ref: /schemas/usb/ti,twlxxxx-usb.yaml#
> >>
> >> Are you sure your patchset is bsiectable? Apply this patch and test. You
> >> will see errors and you must fix these. Even after fixing you have
> >> strict dependencies so your cover letter must explain these (or merging
> >> constraints)...
> >>
> > what are the rules here regarding bisectability? non-existing files
>
> dt_binding_check.
>
>
> Best regards,
> Krzysztof
Hello Krzysztof and Andreas,
Thanks again for your feedback,
You were right that my series had strict dependencies. Testing again I
found that a
local 'dt_binding_check' -only including this patch- passed, but the
dependencies
(non-existent yaml files in $ref) caused errors during a full 'dtbs_check'.
I managed to fix those dtbs_check warnings/errors thanks to
'additionalProperties: true'
to break the hard dependencies on the other new YAML files, and by
adding optional
definitions for the 'clocks' and 'clock-names' properties, which I
found are used by several
OMAP dts files.
Please let me know what you think of this, and whether I should send the new,
corrected v4 of this MFD (single) patch.
I have already sent the independent v4 patches for the other
subsystems (ASoC, USB, etc.).
in order to reach a much better orthogonality and independence between
the patches.
Thanks again for your guidance.
Best regards,
Jihed
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-08-20 13:15 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-16 2:15 [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 1/6] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x Jihed Chaibi
2025-08-19 8:13 ` Krzysztof Kozlowski
2025-08-19 14:51 ` Jihed Chaibi
2025-08-19 20:31 ` Andreas Kemnade
2025-08-20 5:57 ` Krzysztof Kozlowski
2025-08-20 13:15 ` Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 2/6] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 3/6] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 4/6] ASoC: dt-bindings: omap-twl4030: " Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 5/6] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
2025-08-16 2:15 ` [PATCH v3 6/6] dt-bindings: gpio: ti,twl4030: Correct the schema $id path Jihed Chaibi
2025-08-19 8:11 ` Krzysztof Kozlowski
2025-08-19 8:14 ` [PATCH v3 0/6] dt-bindings: Convert TWL4030/6040 family binding to DT schema Krzysztof Kozlowski
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).