linux-sound.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema
@ 2025-08-11 22:47 Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Hello,

This series modernizes the Device Tree bindings for the Texas
Instruments TWL4030/TWL6040 family by converting all remaining
legacy TXT bindings to the structured YAML DT schema format.

This improves the bindings by adding formal type checking, clear property
definitions, and machine-readable examples, which allows for automated
validation and better documentation for developers.

The following eight patches are included in this series, covering the
audio, keypad, power, PWM, and USB sub-modules.

Thank you,

Jihed Chaibi (8):
  mfd: dt-bindings: ti,twl4030-audio: convert to DT schema
  mfd: dt-bindings: ti,twl6040: convert to DT schema
  input: dt-bindings: ti,twl4030-keypad: convert to DT schema
  mfd: dt-bindings: ti,twl4030-power: convert to DT schema
  pwm: dt-bindings: ti,twl-pwm: convert to DT schema
  pwm: dt-bindings: ti,twl-pwmled: convert to DT schema
  sound: dt-bindings: ti,omap-twl4030: convert to DT schema
  usb: dt-bindings: ti,twlxxxx-usb: convert to DT schema

 .../bindings/input/ti,twl4030-keypad.yaml     |  44 +++++
 .../bindings/input/twl4030-keypad.txt         |  27 ---
 .../bindings/mfd/ti,twl4030-audio.yaml        |  91 ++++++++++
 .../bindings/mfd/ti,twl4030-power.yaml        |  69 ++++++++
 .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
 .../devicetree/bindings/mfd/twl4030-audio.txt |  46 ------
 .../devicetree/bindings/mfd/twl4030-power.txt |  48 ------
 .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
 .../devicetree/bindings/pwm/ti,twl-pwm.txt    |  17 --
 .../devicetree/bindings/pwm/ti,twl-pwm.yaml   |  46 ++++++
 .../devicetree/bindings/pwm/ti,twl-pwmled.txt |  17 --
 .../bindings/pwm/ti,twl-pwmled.yaml           |  46 ++++++
 .../bindings/sound/omap-twl4030.txt           |  62 -------
 .../bindings/sound/ti,omap-twl4030.yaml       | 101 ++++++++++++
 .../bindings/usb/ti,twlxxxx-usb.yaml          | 121 ++++++++++++++
 .../devicetree/bindings/usb/twlxxxx-usb.txt   |  43 -----
 16 files changed, 673 insertions(+), 327 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/twl4030-keypad.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-power.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
 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/mfd/twl6040.txt
 delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
 delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.yaml
 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/usb/ti,twlxxxx-usb.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/twlxxxx-usb.txt

-- 
2.39.5


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-12 14:58   ` Rob Herring
  2025-08-11 22:47 ` [PATCH 2/8] mfd: dt-bindings: ti,twl6040: " Jihed Chaibi
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Convert the legacy TXT binding for the TWL4030 audio module
to the modern YAML DT schema format. This adds formal validation
and improves documentation.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../bindings/mfd/ti,twl4030-audio.yaml        | 91 +++++++++++++++++++
 .../devicetree/bindings/mfd/twl4030-audio.txt | 46 ----------
 2 files changed, 91 insertions(+), 46 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt

diff --git a/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
new file mode 100644
index 000000000..16ddcf007
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/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
+    description: |
+      Set to 1 to enable the vibra functionality, if missing
+      or it is 0, the vibra functionality is disabled.
+
+additionalProperties: false
+
+required:
+  - compatible
+
+examples:
+  - |
+    i2c {
+
+      clock-frequency = <2600000>;
+      #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>;
+          };
+
+        };
+      };
+    };
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>;
-			};
-
-		};
-	};
-};
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/8] mfd: dt-bindings: ti,twl6040: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-12  1:24   ` Rob Herring (Arm)
  2025-08-11 22:47 ` [PATCH 3/8] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Convert the legacy TXT binding for the TWL6040 MFD
to the modern YAML DT schema format. This adds formal validation
and improves documentation.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
 .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
 2 files changed, 155 insertions(+), 67 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt

diff --git a/Documentation/devicetree/bindings/mfd/ti,twl6040.yaml b/Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
new file mode 100644
index 000000000..305dc1676
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
@@ -0,0 +1,155 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,twl6040.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL6040/TWL6041 Audio Codec
+
+maintainers:
+  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+  The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
+  vibra and GPO functionality on OMAP4+ platforms.
+  They are connected to the host processor via i2c for commands, McPDM for audio
+  data and commands.
+
+properties:
+  compatible:
+    enum:
+      - ti,twl6040
+      - ti,twl6041
+
+  reg:
+    const: 0x4b
+
+  interrupts:
+    maxItems: 1
+
+  gpio-controller: true
+
+  '#gpio-cells':
+    const: 1
+
+  '#clock-cells':
+    description: TWL6040 is a provider of PDMCLK which is used by McPDM.
+    const: 0
+
+  twl6040,audpwron-gpio:
+    description: The GPIO specifier for the audio power-on line.
+    maxItems: 1
+
+  vio-supply:
+    description: Regulator for the VIO supply.
+
+  v2v1-supply:
+    description: Regulator for the V2V1 supply.
+
+  enable-active-high:
+    type: boolean
+    description: If present, powers on the device during boot.
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      enum: [clk32k, mclk]
+
+  # Vibra functionality :
+
+  vddvibl-supply:
+    description: Regulator for the left vibra motor supply.
+
+  vddvibr-supply:
+    description: Regulator for the right vibra motor supply.
+
+  vibra:
+    type: object
+    description: Node for vibra motor configuration parameters.
+    properties:
+      ti,vibldrv-res:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Resistance parameter for the left driver.
+
+      ti,vibrdrv-res:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Resistance parameter for the right driver.
+
+      ti,viblmotor-res:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Resistance parameter for the left motor.
+
+      ti,vibrmotor-res:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Resistance parameter for the right motor.
+
+      vddvibl_uV:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Optional override for the VDDVIBL default voltage in microvolts.
+
+      vddvibr_uV:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: Optional override for the VDDVIBR default voltage in microvolts.
+    required:
+      - ti,vibldrv-res
+      - ti,vibrdrv-res
+      - ti,viblmotor-res
+      - ti,vibrmotor-res
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - gpio-controller
+  - '#gpio-cells'
+  - '#clock-cells'
+  - twl6040,audpwron-gpio
+  - vio-supply
+  - v2v1-supply
+  - vddvibl-supply
+  - vddvibr-supply
+  - vibra
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      twl6040: twl@4b {
+        compatible = "ti,twl6040";
+        reg = <0x4b>;
+
+        interrupts = <0 119 4>;
+        interrupt-parent = <&gic>;
+
+        gpio-controller;
+        #gpio-cells = <1>;
+        #clock-cells = <0>;
+        twl6040,audpwron-gpio = <&gpio4 31 0>;
+
+        vio-supply = <&v1v8>;
+        v2v1-supply = <&v2v1>;
+        enable-active-high;
+
+        /* regulators for vibra motor */
+        vddvibl-supply = <&vbat>;
+        vddvibr-supply = <&vbat>;
+
+        vibra {
+          /* Vibra driver, motor resistance parameters */
+          ti,vibldrv-res = <8>;
+          ti,vibrdrv-res = <3>;
+          ti,viblmotor-res = <10>;
+          ti,vibrmotor-res = <10>;
+        };
+      };
+    };
diff --git a/Documentation/devicetree/bindings/mfd/twl6040.txt b/Documentation/devicetree/bindings/mfd/twl6040.txt
deleted file mode 100644
index dfd8683ed..000000000
--- a/Documentation/devicetree/bindings/mfd/twl6040.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-Texas Instruments TWL6040 family
-
-The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
-vibra and GPO functionality on OMAP4+ platforms.
-They are connected to the host processor via i2c for commands, McPDM for audio
-data and commands.
-
-Required properties:
-- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
-- reg: must be 0x4b for i2c address
-- interrupts: twl6040 has one interrupt line connecteded to the main SoC
-- gpio-controller:
-- #gpio-cells = <1>: twl6040 provides GPO lines.
-- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
-- twl6040,audpwron-gpio: Power on GPIO line for the twl6040
-
-- vio-supply: Regulator for the twl6040 VIO supply
-- v2v1-supply: Regulator for the twl6040 V2V1 supply
-
-Optional properties, nodes:
-- enable-active-high: To power on the twl6040 during boot.
-- clocks: phandle to the clk32k and/or to mclk clock provider
-- clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK.
-
-Vibra functionality
-Required properties:
-- vddvibl-supply: Regulator for the left vibra motor
-- vddvibr-supply: Regulator for the right vibra motor
-- vibra { }: Configuration section for vibra parameters containing the following
-	     properties:
-- ti,vibldrv-res: Resistance parameter for left driver
-- ti,vibrdrv-res: Resistance parameter for right driver
-- ti,viblmotor-res: Resistance parameter for left motor
-- ti,viblmotor-res: Resistance parameter for right motor
-
-Optional properties within vibra { } section:
-- vddvibl_uV: If the vddvibl default voltage need to be changed
-- vddvibr_uV: If the vddvibr default voltage need to be changed
-
-Example:
-&i2c1 {
-	twl6040: twl@4b {
-		compatible = "ti,twl6040";
-
-		interrupts = <0 119 4>;
-		interrupt-parent = <&gic>;
-		twl6040,audpwron-gpio = <&gpio4 31 0>;
-
-		vio-supply = <&v1v8>;
-		v2v1-supply = <&v2v1>;
-		enable-active-high;
-
-		/* regulators for vibra motor */
-		vddvibl-supply = <&vbat>;
-		vddvibr-supply = <&vbat>;
-
-		vibra {
-			/* Vibra driver, motor resistance parameters */
-			ti,vibldrv-res = <8>;
-			ti,vibrdrv-res = <3>;
-			ti,viblmotor-res = <10>;
-			ti,vibrmotor-res = <10>;
-		};
-	};
-};
-
-/include/ "twl6040.dtsi"
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 3/8] input: dt-bindings: ti,twl4030-keypad: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 2/8] mfd: dt-bindings: ti,twl6040: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 4/8] mfd: dt-bindings: ti,twl4030-power: " Jihed Chaibi
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, 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>
---
 .../bindings/input/ti,twl4030-keypad.yaml     | 44 +++++++++++++++++++
 .../bindings/input/twl4030-keypad.txt         | 27 ------------
 2 files changed, 44 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..a7c4916b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,twl4030-keypad.yaml
@@ -0,0 +1,44 @@
+# 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
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    keypad {
+        compatible = "ti,twl4030-keypad";
+        interrupts = <1>;
+        keypad,num-rows = <8>;
+        keypad,num-columns = <8>;
+    };
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] 19+ messages in thread

* [PATCH 4/8] mfd: dt-bindings: ti,twl4030-power: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (2 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 3/8] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: " Jihed Chaibi
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Convert the legacy TXT binding for the TWL4030 power module
to the modern YAML DT schema format. This adds formal validation
and improves documentation.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../bindings/mfd/ti,twl4030-power.yaml        | 69 +++++++++++++++++++
 .../devicetree/bindings/mfd/twl4030-power.txt | 48 -------------
 2 files changed, 69 insertions(+), 48 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-power.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-power.txt

diff --git a/Documentation/devicetree/bindings/mfd/ti,twl4030-power.yaml b/Documentation/devicetree/bindings/mfd/ti,twl4030-power.yaml
new file mode 100644
index 000000000..c95b3f705
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,twl4030-power.yaml
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,twl4030-power.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030-family Power Management Module
+
+maintainers:
+  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+  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.
+
+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
+    description:
+      Indicates that the TWL4030 is the power supply master of the system,
+      allowing it to initiate system power-off.
+
+  ti,use_poweroff:
+    type: boolean
+    description: Deprecated name for ti,system-power-controller.
+    deprecated: true
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+      clock-frequency = <2600000>;
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      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/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;
-		};
-	};
-};
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (3 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 4/8] mfd: dt-bindings: ti,twl4030-power: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-19  6:08   ` Uwe Kleine-König
  2025-08-11 22:47 ` [PATCH 6/8] pwm: dt-bindings: ti,twl-pwmled: " Jihed Chaibi
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Convert the legacy TXT binding for the TWL-family PWM controller
to the modern YAML DT schema format. This adds formal validation
and improves documentation by inheriting from the base pwm schema.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../devicetree/bindings/pwm/ti,twl-pwm.txt    | 17 -------
 .../devicetree/bindings/pwm/ti,twl-pwm.yaml   | 46 +++++++++++++++++++
 2 files changed, 46 insertions(+), 17 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml

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-pwm.yaml b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
new file mode 100644
index 000000000..5bbbdc13a
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/ti,twl-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030/TWL6030 family PWM controller
+
+maintainers:
+  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+  Bindings for the following PWM controllers :
+    TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
+    TWL6030 series: LED PWM (mainly used as charging indicator LED)
+
+allOf:
+  - $ref: /schemas/pwm/pwm.yaml#
+
+properties:
+  compatible:
+    enum:
+      - ti,twl4030-pwm
+      - ti,twl6030-pwm
+
+  '#pwm-cells':
+    const: 2
+
+required:
+  - compatible
+  - '#pwm-cells'
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    pwm {
+        compatible = "ti,twl4030-pwm";
+        #pwm-cells = <2>;
+    };
+
+  - |
+    pwm {
+        compatible = "ti,twl6030-pwm";
+        #pwm-cells = <2>;
+    };
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 6/8] pwm: dt-bindings: ti,twl-pwmled: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (4 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah, jihed.chaibi.dev

Convert the legacy TXT binding for the TWL-family PWMLED controller
to the modern YAML DT schema format. This adds formal validation
and improves documentation by inheriting from the base pwm schema.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../devicetree/bindings/pwm/ti,twl-pwmled.txt | 17 -------
 .../bindings/pwm/ti,twl-pwmled.yaml           | 46 +++++++++++++++++++
 2 files changed, 46 insertions(+), 17 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.yaml

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>;
-};
diff --git a/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.yaml b/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.yaml
new file mode 100644
index 000000000..411cc4c8c
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/ti,twl-pwmled.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030/TWL6030 family PWM LED controller
+
+maintainers:
+  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+  Bindings for the following PWM controllers :
+    TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
+    TWL6030 series: LED PWM (mainly used as charging indicator LED)
+
+allOf:
+  - $ref: /schemas/pwm/pwm.yaml#
+
+properties:
+  compatible:
+    enum:
+      - ti,twl4030-pwmled
+      - ti,twl6030-pwmled
+
+  '#pwm-cells':
+    const: 2
+
+required:
+  - compatible
+  - '#pwm-cells'
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    pwm {
+        compatible = "ti,twl4030-pwmled";
+        #pwm-cells = <2>;
+    };
+
+  - |
+    pwm {
+        compatible = "ti,twl6030-pwmled";
+        #pwm-cells = <2>;
+    };
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (5 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 6/8] pwm: dt-bindings: ti,twl-pwmled: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-13 20:29   ` Mark Brown
  2025-08-18 18:03   ` Rob Herring
  2025-08-11 22:47 ` [PATCH 8/8] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
  2025-08-19  6:09 ` [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding " Uwe Kleine-König
  8 siblings, 2 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, 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.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
 .../bindings/sound/omap-twl4030.txt           |  62 -----------
 .../bindings/sound/ti,omap-twl4030.yaml       | 101 ++++++++++++++++++
 2 files changed, 101 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..3124320d6
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
@@ -0,0 +1,101 @@
+# 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] 19+ messages in thread

* [PATCH 8/8] usb: dt-bindings: ti,twlxxxx-usb: convert to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (6 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
@ 2025-08-11 22:47 ` Jihed Chaibi
  2025-08-19  6:09 ` [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding " Uwe Kleine-König
  8 siblings, 0 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-11 22:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: peter.ujfalusi, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, ukleinek, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, 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>
---
 .../bindings/usb/ti,twlxxxx-usb.yaml          | 121 ++++++++++++++++++
 .../devicetree/bindings/usb/twlxxxx-usb.txt   |  43 -------
 2 files changed, 121 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..029865ad2
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
@@ -0,0 +1,121 @@
+# 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]
+
+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: usb-phy {
+                compatible = "ti,twl4030-usb";
+                interrupts = <10 4>;  // Single interrupt: OTG (ID and VBUS events)
+                interrupt-parent = <&gic>;
+                usb1v5-supply = <&reg_vusb1v5>;
+                usb1v8-supply = <&reg_vusb1v8>;
+                usb3v1-supply  = <&reg_vusb3v1>;
+                usb_mode = <1>;
+            };
+        };
+    };
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        twl@48 {
+            reg = <0x48>;
+
+            usb_comp: usb-phy {
+                compatible = "ti,twl6030-usb";
+                interrupts = <4 4>, <10 4>;  // Two interrupts: OTG (ID events), USB (VBUS events)
+                interrupt-parent = <&gic>;
+                usb-supply = <&reg_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] 19+ messages in thread

* Re: [PATCH 2/8] mfd: dt-bindings: ti,twl6040: convert to DT schema
  2025-08-11 22:47 ` [PATCH 2/8] mfd: dt-bindings: ti,twl6040: " Jihed Chaibi
@ 2025-08-12  1:24   ` Rob Herring (Arm)
  2025-08-12 14:54     ` Rob Herring
  0 siblings, 1 reply; 19+ messages in thread
From: Rob Herring (Arm) @ 2025-08-12  1:24 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: tiwai, devicetree, linux-usb, gregkh, ukleinek, krzk+dt,
	dmitry.torokhov, broonie, linux-pwm, lee, linux-sound, lgirdwood,
	peter.ujfalusi, linux-kernel, linux-input, shuah, conor+dt


On Tue, 12 Aug 2025 00:47:33 +0200, Jihed Chaibi wrote:
> Convert the legacy TXT binding for the TWL6040 MFD
> to the modern YAML DT schema format. This adds formal validation
> and improves documentation.
> 
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> ---
>  .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
>  .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
>  2 files changed, 155 insertions(+), 67 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,twl6040.example.dtb: twl@4b (ti,twl6040): 'twl6040,audpwron-gpio' does not match any of the regexes: '^#.*', '^(at25|bm|devbus|dmacap|dsa|exynos|fsi[ab]|gpio-fan|gpio-key|gpio|gpmc|hdmi|i2c-gpio),.*', '^(keypad|m25p|max8952|max8997|max8998|mpmc),.*', '^(pciclass|pinctrl-single|#pinctrl-single|PowerPC),.*', '^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*', '^(simple-audio-card|st-plgpio|st-spics|ts),.*', '^100ask,.*', '^70mai,.*', '^8dev,.*', '^GEFanuc,.*', '^IBM,.*', '^ORCL,.*', '^SUNW,.*', '^[a-zA-Z0-9#_][a-zA-Z0-9+\\-._@]{0,63}$', '^[a-zA-Z0-9+\\-._]*@[0-9a-zA-Z,]*$', '^abb,.*', '^abilis,.*', '^abracon,.*', '^abt,.*', '^acbel,.*', '^acelink,.*', '^acer,.*', '^acme,.*', '^actions,.*', '^active-semi,.*', '^ad,.*', '^adafruit,.*', '^adapteva,.*', '^adaptrum,.*', '^adh,.*', '^adi,.*', '^adieng,.*', '^admatec,.*', '^advantech,.*', '^aeroflexgaisler,.*', '^aesop,.*', '^airoha,.*', '^al,.*', '^alcatel,.*', '^aldec,.*', '^alfa-network,.*', '^allegro,.*', '^allegromicro,.*', '^alliedvision,.*', '^allo,.*', '^allwinner,.*', '^alphascale,.*', '^alps,.*', '^alt,.*', '^altr,.*', '^amarula,.*', '^amazon,.*', '^amcc,.*', '^amd,.*', '^amediatech,.*', '^amlogic,.*', '^ampere,.*', '^amphenol,.*', '^ampire,.*', '^ams,.*', '^amstaos,.*', '^analogix,.*', '^anbernic,.*', '^andestech,.*', '^anvo,.*', '^aoly,.*', '^aosong,.*', '^apm,.*', '^apple,.*', '^aptina,.*', '^arasan,.*', '^archermind,.*', '^arcom,.*', '^arctic,.*', '^arcx,.*', '^argon40,.*', '^ariaboard,.*', '^aries,.*', '^arm,.*', '^armadeus,.*', '^armsom,.*', '^arrow,.*', '^artesyn,.*', '^asahi-kasei,.*', '^asc,.*', '^asix,.*', '^aspeed,.*', '^asrock,.*', '^asteralabs,.*', '^asus,.*', '^atheros,.*', '^atlas,.*', '^atmel,.*', '^auo,.*', '^auvidea,.*', '^avago,.*', '^avia,.*', '^avic,.*', '^avnet,.*', '^awinic,.*', '^axentia,.*', '^axiado,.*', '^axis,.*', '^azoteq,.*', '^azw,.*', '^baikal,.*', '^bananapi,.*', '^beacon,.*', '^beagle,.*', '^belling,.*', '^bhf,.*', '^bigtreetech,.*', '^bitmain,.*', '^blaize,.*', '^blutek,.*', '^boe,.*', '^bosch,.*', '^boundary,.*', '^brcm,.*', '^broadmobi,.*', '^bsh,.*', '^bticino,.*', '^buffalo,.*', '^bur,.*', '^bytedance,.*', '^calamp,.*', '^calao,.*', '^calaosystems,.*', '^calxeda,.*', '^cameo,.*', '^canaan,.*', '^caninos,.*', '^capella,.*', '^cascoda,.*', '^catalyst,.*', '^cavium,.*', '^cct,.*', '^cdns,.*', '^cdtech,.*', '^cellwise,.*', '^ceva,.*', '^chargebyte,.*', '^checkpoint,.*', '^chefree,.*', '^chipidea,.*', '^chipone,.*', '^chipspark,.*', '^chongzhou,.*', '^chrontel,.*', '^chrp,.*', '^chunghwa,.*', '^chuwi,.*', '^ciaa,.*', '^cirrus,.*', '^cisco,.*', '^cix,.*', '^clockwork,.*', '^cloos,.*', '^cloudengines,.*', '^cnm,.*', '^cnxt,.*', '^colorfly,.*', '^compulab,.*', '^comvetia,.*', '^congatec,.*', '^coolpi,.*', '^coreriver,.*', '^corpro,.*', '^cortina,.*', '^cosmic,.*', '^crane,.*', '^creative,.*', '^crystalfontz,.*', '^csky,.*', '^csot,.*', '^csq,.*', '^ctera,.*', '^ctu,.*', '^cubietech,.*', '^cudy,.*', '^cui,.*', '^cypress,.*', '^cyx,.*', '^cznic,.*', '^dallas,.*', '^dataimage,.*', '^davicom,.*', '^deepcomputing,.*', '^dell,.*', '^delta,.*', '^densitron,.*', '^denx,.*', '^devantech,.*', '^dfi,.*', '^dfrobot,.*', '^dh,.*', '^difrnce,.*', '^digi,.*', '^digilent,.*', '^dimonoff,.*', '^diodes,.*', '^dioo,.*', '^djn,.*', '^dlc,.*', '^dlg,.*', '^dlink,.*', '^dmo,.*', '^domintech,.*', '^dongwoon,.*', '^dptechnics,.*', '^dragino,.*', '^dream,.*', '^ds,.*', '^dserve,.*', '^dynaimage,.*', '^ea,.*', '^ebang,.*', '^ebbg,.*', '^ebs-systart,.*', '^ebv,.*', '^eckelmann,.*', '^econet,.*', '^edgeble,.*', '^edimax,.*', '^edt,.*', '^ees,.*', '^eeti,.*', '^einfochips,.*', '^eink,.*', '^elan,.*', '^element14,.*', '^elgin,.*', '^elida,.*', '^elimo,.*', '^elpida,.*', '^embedfire,.*', '^embest,.*', '^emcraft,.*', '^emlid,.*', '^emmicro,.*', '^empire-electronix,.*', '^emtrion,.*', '^enclustra,.*', '^endless,.*', '^ene,.*', '^energymicro,.*', '^engicam,.*', '^engleder,.*', '^epcos,.*', '^epfl,.*', '^epson,.*', '^esp,.*', '^est,.*', '^ettus,.*', '^eukrea,.*', '^everest,.*', '^everspin,.*', '^evervision,.*', '^exar,.*', '^excito,.*', '^exegin,.*', '^ezchip,.*', '^facebook,.*', '^fairchild,.*', '^fairphone,.*', '^faraday,.*', '^fascontek,.*', '^fastrax,.*', '^fcs,.*', '^feixin,.*', '^feiyang,.*', '^fii,.*', '^firefly,.*', '^focaltech,.*', '^forlinx,.*', '^freebox,.*', '^freecom,.*', '^frida,.*', '^friendlyarm,.*', '^fsl,.*', '^fujitsu,.*', '^fxtec,.*', '^galaxycore,.*', '^gameforce,.*', '^gardena,.*', '^gateway,.*', '^gateworks,.*', '^gcw,.*', '^ge,.*', '^geekbuying,.*', '^gef,.*', '^gehc,.*', '^gemei,.*', '^gemtek,.*', '^genesys,.*', '^genexis,.*', '^geniatech,.*', '^giantec,.*', '^giantplus,.*', '^glinet,.*', '^globalscale,.*', '^globaltop,.*', '^gmt,.*', '^gocontroll,.*', '^goldelico,.*', '^goodix,.*', '^google,.*', '^goramo,.*', '^gplus,.*', '^grinn,.*', '^grmn,.*', '^gumstix,.*', '^gw,.*', '^hannstar,.*', '^haochuangyi,.*', '^haoyu,.*', '^hardkernel,.*', '^hechuang,.*', '^hideep,.*', '^himax,.*', '^hirschmann,.*', '^hisi,.*', '^hisilicon,.*', '^hit,.*', '^hitex,.*', '^holt,.*', '^holtek,.*', '^honestar,.*', '^honeywell,.*', '^hoperf,.*', '^hoperun,.*', '^hp,.*', '^hpe,.*', '^hsg,.*', '^htc,.*', '^huawei,.*', '^hugsun,.*', '^huiling,.*', '^hwacom,.*', '^hxt,.*', '^hycon,.*', '^hydis,.*', '^hynitron,.*', '^hynix,.*', '^hyundai,.*', '^i2se,.*', '^ibm,.*', '^icplus,.*', '^idt,.*', '^iei,.*', '^ifi,.*', '^ilitek,.*', '^imagis,.*', '^img,.*', '^imi,.*', '^inanbo,.*', '^incircuit,.*', '^indiedroid,.*', '^inet-tek,.*', '^infineon,.*', '^inforce,.*', '^ingenic,.*', '^ingrasys,.*', '^injoinic,.*', '^innocomm,.*', '^innolux,.*', '^inside-secure,.*', '^insignal,.*', '^inspur,.*', '^intel,.*', '^intercontrol,.*', '^invensense,.*', '^inventec,.*', '^inversepath,.*', '^iom,.*', '^irondevice,.*', '^isee,.*', '^isil,.*', '^issi,.*', '^ite,.*', '^itead,.*', '^itian,.*', '^ivo,.*', '^iwave,.*', '^jadard,.*', '^jasonic,.*', '^jdi,.*', '^jedec,.*', '^jenson,.*', '^jesurun,.*', '^jethome,.*', '^jianda,.*', '^jide,.*', '^joz,.*', '^jty,.*', '^kam,.*', '^karo,.*', '^keithkoep,.*', '^keymile,.*', '^khadas,.*', '^kiebackpeter,.*', '^kinetic,.*', '^kingdisplay,.*', '^kingnovel,.*', '^kionix,.*', '^kobo,.*', '^kobol,.*', '^koe,.*', '^kontron,.*', '^kosagi,.*', '^kvg,.*', '^kyo,.*', '^lacie,.*', '^laird,.*', '^lamobo,.*', '^lantiq,.*', '^lattice,.*', '^lckfb,.*', '^lctech,.*', '^leadtek,.*', '^leez,.*', '^lego,.*', '^lemaker,.*', '^lenovo,.*', '^lg,.*', '^lgphilips,.*', '^libretech,.*', '^licheepi,.*', '^linaro,.*', '^lincolntech,.*', '^lineartechnology,.*', '^linksprite,.*', '^linksys,.*', '^linutronix,.*', '^linux,.*', '^linx,.*', '^liontron,.*', '^liteon,.*', '^litex,.*', '^lltc,.*', '^logicpd,.*', '^logictechno,.*', '^longcheer,.*', '^lontium,.*', '^loongmasses,.*', '^loongson,.*', '^lsi,.*', '^luckfox,.*', '^lunzn,.*', '^luxul,.*', '^lwn,.*', '^lxa,.*', '^m5stack,.*', '^macnica,.*', '^mantix,.*', '^mapleboard,.*', '^marantec,.*', '^marvell,.*', '^maxbotix,.*', '^maxim,.*', '^maxlinear,.*', '^mbvl,.*', '^mcube,.*', '^meas,.*', '^mecer,.*', '^mediatek,.*', '^megachips,.*', '^mele,.*', '^melexis,.*', '^melfas,.*', '^mellanox,.*', '^memsensing,.*', '^memsic,.*', '^menlo,.*', '^mentor,.*', '^meraki,.*', '^merrii,.*', '^methode,.*', '^micrel,.*', '^microchip,.*', '^microcrystal,.*', '^micron,.*', '^microsoft,.*', '^microsys,.*', '^microtips,.*', '^mikroe,.*', '^mikrotik,.*', '^milkv,.*', '^miniand,.*', '^minix,.*', '^mips,.*', '^miramems,.*', '^mitsubishi,.*', '^mitsumi,.*', '^mixel,.*', '^miyoo,.*', '^mntre,.*', '^mobileye,.*', '^modtronix,.*', '^moortec,.*', '^mosaixtech,.*', '^motorcomm,.*', '^motorola,.*', '^moxa,.*', '^mpl,.*', '^mps,.*', '^mqmaker,.*', '^mrvl,.*', '^mscc,.*', '^msi,.*', '^mstar,.*', '^mti,.*', '^multi-inno,.*', '^mundoreader,.*', '^murata,.*', '^mxic,.*', '^mxicy,.*', '^myir,.*', '^national,.*', '^neardi,.*', '^nec,.*', '^neofidelity,.*', '^neonode,.*', '^netcube,.*', '^netgear,.*', '^netlogic,.*', '^netron-dy,.*', '^netronix,.*', '^netxeon,.*', '^neweast,.*', '^newhaven,.*', '^newvision,.*', '^nexbox,.*', '^nextthing,.*', '^ni,.*', '^nicera,.*', '^nintendo,.*', '^nlt,.*', '^nokia,.*', '^nordic,.*', '^nothing,.*', '^novatek,.*', '^novtech,.*', '^numonyx,.*', '^nutsboard,.*', '^nuvoton,.*', '^nvd,.*', '^nvidia,.*', '^nxp,.*', '^oceanic,.*', '^ocs,.*', '^oct,.*', '^okaya,.*', '^oki,.*', '^olimex,.*', '^olpc,.*', '^oneplus,.*', '^onie,.*', '^onion,.*', '^onnn,.*', '^ontat,.*', '^opalkelly,.*', '^openailab,.*', '^opencores,.*', '^openembed,.*', '^openpandora,.*', '^openrisc,.*', '^openwrt,.*', '^option,.*', '^oranth,.*', '^orisetech,.*', '^ortustech,.*', '^osddisplays,.*', '^osmc,.*', '^ouya,.*', '^overkiz,.*', '^ovti,.*', '^oxsemi,.*', '^ozzmaker,.*', '^panasonic,.*', '^parade,.*', '^parallax,.*', '^pda,.*', '^pegatron,.*', '^pericom,.*', '^pervasive,.*', '^phicomm,.*', '^phytec,.*', '^picochip,.*', '^pinctrl-[0-9]+$', '^pine64,.*', '^pineriver,.*', '^pixcir,.*', '^plantower,.*', '^plathome,.*', '^plda,.*', '^plx,.*', '^ply,.*', '^pni,.*', '^pocketbook,.*', '^polaroid,.*', '^polyhex,.*', '^pool[0-3],.*', '^portwell,.*', '^poslab,.*', '^pov,.*', '^powertip,.*', '^powervr,.*', '^powkiddy,.*', '^pri,.*', '^primeview,.*', '^primux,.*', '^probox2,.*', '^prt,.*', '^pulsedlight,.*', '^purism,.*', '^puya,.*', '^qca,.*', '^qcom,.*', '^qemu,.*', '^qi,.*', '^qiaodian,.*', '^qihua,.*', '^qishenglong,.*', '^qnap,.*', '^quanta,.*', '^radxa,.*', '^raidsonic,.*', '^ralink,.*', '^ramtron,.*', '^raspberrypi,.*', '^raydium,.*', '^rda,.*', '^realtek,.*', '^relfor,.*', '^remarkable,.*', '^renesas,.*', '^rervision,.*', '^retronix,.*', '^revotics,.*', '^rex,.*', '^richtek,.*', '^ricoh,.*', '^rikomagic,.*', '^riot,.*', '^riscv,.*', '^rockchip,.*', '^rocktech,.*', '^rohm,.*', '^ronbo,.*', '^roofull,.*', '^roseapplepi,.*', '^rve,.*', '^saef,.*', '^sakurapi,.*', '^samsung,.*', '^samtec,.*', '^sancloud,.*', '^sandisk,.*', '^satoz,.*', '^sbs,.*', '^schindler,.*', '^schneider,.*', '^sciosense,.*', '^seagate,.*', '^seeed,.*', '^seirobotics,.*', '^semtech,.*', '^senseair,.*', '^sensirion,.*', '^sensortek,.*', '^sercomm,.*', '^sff,.*', '^sgd,.*', '^sgmicro,.*', '^sgx,.*', '^sharp,.*', '^shift,.*', '^shimafuji,.*', '^shineworld,.*', '^shiratech,.*', '^si-en,.*', '^si-linux,.*', '^siemens,.*', '^sifive,.*', '^siflower,.*', '^sigma,.*', '^sii,.*', '^sil,.*', '^silabs,.*', '^silan,.*', '^silead,.*', '^silergy,.*', '^silex-insight,.*', '^siliconfile,.*', '^siliconmitus,.*', '^silvaco,.*', '^simtek,.*', '^sinlinx,.*', '^sinovoip,.*', '^sinowealth,.*', '^sipeed,.*', '^sirf,.*', '^sis,.*', '^sitronix,.*', '^skov,.*', '^skyworks,.*', '^smartfiber,.*', '^smartlabs,.*', '^smartrg,.*', '^smi,.*', '^smsc,.*', '^snps,.*', '^sochip,.*', '^socionext,.*', '^solidrun,.*', '^solomon,.*', '^sony,.*', '^sophgo,.*', '^sourceparts,.*', '^spacemit,.*', '^spansion,.*', '^sparkfun,.*', '^spinalhdl,.*', '^sprd,.*', '^square,.*', '^ssi,.*', '^sst,.*', '^sstar,.*', '^st,.*', '^st-ericsson,.*', '^starfive,.*', '^starry,.*', '^startek,.*', '^starterkit,.*', '^ste,.*', '^stericsson,.*', '^storlink,.*', '^storm,.*', '^storopack,.*', '^summit,.*', '^sunchip,.*', '^sundance,.*', '^sunplus,.*', '^supermicro,.*', '^swir,.*', '^syna,.*', '^synology,.*', '^synopsys,.*', '^tbs,.*', '^tbs-biometrics,.*', '^tcg,.*', '^tcl,.*', '^tcs,.*', '^tcu,.*', '^tdo,.*', '^team-source-display,.*', '^technexion,.*', '^technologic,.*', '^techstar,.*', '^techwell,.*', '^teejet,.*', '^teltonika,.*', '^tempo,.*', '^terasic,.*', '^tesla,.*', '^test,.*', '^tfc,.*', '^thead,.*', '^thine,.*', '^thingyjp,.*', '^thundercomm,.*', '^thwc,.*', '^ti,.*', '^tianma,.*', '^tlm,.*', '^tmt,.*', '^topeet,.*', '^topic,.*', '^topland,.*', '^toppoly,.*', '^topwise,.*', '^toradex,.*', '^toshiba,.*', '^toumaz,.*', '^tpk,.*', '^tplink,.*', '^tpo,.*', '^tq,.*', '^transpeed,.*', '^traverse,.*', '^tronfy,.*', '^tronsmart,.*', '^truly,.*', '^tsd,.*', '^turing,.*', '^tyan,.*', '^tyhx,.*', '^u-blox,.*', '^u-boot,.*', '^ubnt,.*', '^ucrobotics,.*', '^udoo,.*', '^ufispace,.*', '^ugoos,.*', '^ultratronik,.*', '^uni-t,.*', '^uniwest,.*', '^upisemi,.*', '^urt,.*', '^usi,.*', '^usr,.*', '^utoo,.*', '^v3,.*', '^vaisala,.*', '^vamrs,.*', '^variscite,.*', '^vdl,.*', '^vertexcom,.*', '^via,.*', '^vialab,.*', '^vicor,.*', '^videostrong,.*', '^virtio,.*', '^virtual,.*', '^vishay,.*', '^visionox,.*', '^vitesse,.*', '^vivante,.*', '^vivax,.*', '^vocore,.*', '^voipac,.*', '^voltafield,.*', '^vot,.*', '^vscom,.*', '^vxt,.*', '^wacom,.*', '^wanchanglong,.*', '^wand,.*', '^waveshare,.*', '^wd,.*', '^we,.*', '^welltech,.*', '^wetek,.*', '^wexler,.*', '^whwave,.*', '^wi2wi,.*', '^widora,.*', '^wiligear,.*', '^willsemi,.*', '^winbond,.*', '^wingtech,.*', '^winlink,.*', '^winsen,.*', '^winstar,.*', '^wirelesstag,.*', '^wits,.*', '^wlf,.*', '^wm,.*', '^wobo,.*', '^wolfvision,.*', '^x-powers,.*', '^xen,.*', '^xes,.*', '^xiaomi,.*', '^xillybus,.*', '^xingbangda,.*', '^xinpeng,.*', '^xiphera,.*', '^xlnx,.*', '^xnano,.*', '^xunlong,.*', '^xylon,.*', '^yadro,.*', '^yamaha,.*', '^yes-optoelectronics,.*', '^yic,.*', '^yiming,.*', '^ylm,.*', '^yna,.*', '^yones-toptech,.*', '^ys,.*', '^ysoft,.*', '^yuridenki,.*', '^yuzukihd,.*', '^zarlink,.*', '^zealz,.*', '^zeitec,.*', '^zidoo,.*', '^zii,.*', '^zinitix,.*', '^zkmagic,.*', '^zte,.*', '^zyxel,.*'
	from schema $id: http://devicetree.org/schemas/vendor-prefixes.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250811224739.53869-3-jihed.chaibi.dev@gmail.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/8] mfd: dt-bindings: ti,twl6040: convert to DT schema
  2025-08-12  1:24   ` Rob Herring (Arm)
@ 2025-08-12 14:54     ` Rob Herring
  2025-08-12 16:06       ` Jihed Chaibi
  0 siblings, 1 reply; 19+ messages in thread
From: Rob Herring @ 2025-08-12 14:54 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: tiwai, devicetree, linux-usb, gregkh, ukleinek, krzk+dt,
	dmitry.torokhov, broonie, linux-pwm, lee, linux-sound, lgirdwood,
	peter.ujfalusi, linux-kernel, linux-input, shuah, conor+dt

On Mon, Aug 11, 2025 at 08:24:43PM -0500, Rob Herring (Arm) wrote:
> 
> On Tue, 12 Aug 2025 00:47:33 +0200, Jihed Chaibi wrote:
> > Convert the legacy TXT binding for the TWL6040 MFD
> > to the modern YAML DT schema format. This adds formal validation
> > and improves documentation.
> > 
> > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> > ---
> >  .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
> >  .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
> >  2 files changed, 155 insertions(+), 67 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt
> > 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,twl6040.example.dtb: 
> twl@4b (ti,twl6040): 'twl6040,audpwron-gpio' does not match any of 
> the regexes: '^#.*', 
> '^(at25|bm|devbus|dmacap|dsa|exynos|fsi[ab]|gpio-fan|gpio-key|gpio|gpmc|hdmi|i2c-gpio),.*', 
> '^(keypad|m25p|max8952|max8997|max8998|mpmc),.*', 
> '^(pciclass|pinctrl-single|#pinctrl-single|PowerPC),.*', 
> '^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*', 
> '^(simple-audio-card|st-plgpio|st-spics|ts),.*',

You will need to add 'twl6040' to this list of exceptions in 
vendor-prefixes.yaml.

Rob

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert to DT schema
  2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
@ 2025-08-12 14:58   ` Rob Herring
  0 siblings, 0 replies; 19+ messages in thread
From: Rob Herring @ 2025-08-12 14:58 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: linux-kernel, peter.ujfalusi, dmitry.torokhov, krzk+dt, lgirdwood,
	tiwai, conor+dt, lee, ukleinek, broonie, gregkh, linux-input,
	devicetree, linux-pwm, linux-sound, linux-usb, shuah

On Tue, Aug 12, 2025 at 12:47:32AM +0200, Jihed Chaibi wrote:
> Convert the legacy TXT binding for the TWL4030 audio module
> to the modern YAML DT schema format. This adds formal validation
> and improves documentation.
> 
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> ---
>  .../bindings/mfd/ti,twl4030-audio.yaml        | 91 +++++++++++++++++++
>  .../devicetree/bindings/mfd/twl4030-audio.txt | 46 ----------

Shouldn't this move to bindings/sound/?

>  2 files changed, 91 insertions(+), 46 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt
> 
> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
> new file mode 100644
> index 000000000..16ddcf007
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/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: |

Don't need '|' if no formatting to preserve.

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

       additionalProperties: false

and a blank line here.

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

Constraints for any of these properties?

> +
> +    # 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
> +    description: |
> +      Set to 1 to enable the vibra functionality, if missing
> +      or it is 0, the vibra functionality is disabled.

Sounds like constraints. Don't write constraints in prose.

> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +
> +examples:
> +  - |
> +    i2c {
> +
> +      clock-frequency = <2600000>;

Drop. Not relevant to this binding.

> +      #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>;
> +          };
> +
> +        };
> +      };
> +    };

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/8] mfd: dt-bindings: ti,twl6040: convert to DT schema
  2025-08-12 14:54     ` Rob Herring
@ 2025-08-12 16:06       ` Jihed Chaibi
  2025-08-14 21:24         ` Rob Herring
  0 siblings, 1 reply; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-12 16:06 UTC (permalink / raw)
  To: Rob Herring
  Cc: tiwai, devicetree, linux-usb, gregkh, ukleinek, krzk+dt,
	dmitry.torokhov, broonie, linux-pwm, lee, linux-sound, lgirdwood,
	peter.ujfalusi, linux-kernel, linux-input, shuah, conor+dt

On Tue, Aug 12, 2025 at 4:54 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Aug 11, 2025 at 08:24:43PM -0500, Rob Herring (Arm) wrote:
> >
> > On Tue, 12 Aug 2025 00:47:33 +0200, Jihed Chaibi wrote:
> > > Convert the legacy TXT binding for the TWL6040 MFD
> > > to the modern YAML DT schema format. This adds formal validation
> > > and improves documentation.
> > >
> > > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> > > ---
> > >  .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
> > >  .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
> > >  2 files changed, 155 insertions(+), 67 deletions(-)
> > >  create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
> > >  delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt
> > >
> >
> > My bot found errors running 'make dt_binding_check' on your patch:
> >
> > yamllint warnings/errors:
> >
> > dtschema/dtc warnings/errors:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,twl6040.example.dtb:
> > twl@4b (ti,twl6040): 'twl6040,audpwron-gpio' does not match any of
> > the regexes: '^#.*',
> > '^(at25|bm|devbus|dmacap|dsa|exynos|fsi[ab]|gpio-fan|gpio-key|gpio|gpmc|hdmi|i2c-gpio),.*',
> > '^(keypad|m25p|max8952|max8997|max8998|mpmc),.*',
> > '^(pciclass|pinctrl-single|#pinctrl-single|PowerPC),.*',
> > '^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*',
> > '^(simple-audio-card|st-plgpio|st-spics|ts),.*',
>
> You will need to add 'twl6040' to this list of exceptions in
> vendor-prefixes.yaml.
>
> Rob

Hi Rob, thanks for the feedback.

Wouldn't it be simpler if we put 'ti' (the actual vendor) instead of 'twl6040'?
No other file is using the current name, so there would be no need for
additional editing.

Cheers,

(CCing everyone, sorry for emailing twice)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: convert to DT schema
  2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
@ 2025-08-13 20:29   ` Mark Brown
  2025-08-18 18:03   ` Rob Herring
  1 sibling, 0 replies; 19+ messages in thread
From: Mark Brown @ 2025-08-13 20:29 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: linux-kernel, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
	lgirdwood, tiwai, conor+dt, lee, ukleinek, gregkh, linux-input,
	devicetree, linux-pwm, linux-sound, linux-usb, shuah

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]

On Tue, Aug 12, 2025 at 12:47:38AM +0200, Jihed Chaibi wrote:

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

Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/8] mfd: dt-bindings: ti,twl6040: convert to DT schema
  2025-08-12 16:06       ` Jihed Chaibi
@ 2025-08-14 21:24         ` Rob Herring
  0 siblings, 0 replies; 19+ messages in thread
From: Rob Herring @ 2025-08-14 21:24 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: tiwai, devicetree, linux-usb, gregkh, ukleinek, krzk+dt,
	dmitry.torokhov, broonie, linux-pwm, lee, linux-sound, lgirdwood,
	peter.ujfalusi, linux-kernel, linux-input, shuah, conor+dt

On Tue, Aug 12, 2025 at 06:06:53PM +0200, Jihed Chaibi wrote:
> On Tue, Aug 12, 2025 at 4:54 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Mon, Aug 11, 2025 at 08:24:43PM -0500, Rob Herring (Arm) wrote:
> > >
> > > On Tue, 12 Aug 2025 00:47:33 +0200, Jihed Chaibi wrote:
> > > > Convert the legacy TXT binding for the TWL6040 MFD
> > > > to the modern YAML DT schema format. This adds formal validation
> > > > and improves documentation.
> > > >
> > > > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> > > > ---
> > > >  .../devicetree/bindings/mfd/ti,twl6040.yaml   | 155 ++++++++++++++++++
> > > >  .../devicetree/bindings/mfd/twl6040.txt       |  67 --------
> > > >  2 files changed, 155 insertions(+), 67 deletions(-)
> > > >  create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml
> > > >  delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt
> > > >
> > >
> > > My bot found errors running 'make dt_binding_check' on your patch:
> > >
> > > yamllint warnings/errors:
> > >
> > > dtschema/dtc warnings/errors:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,twl6040.example.dtb:
> > > twl@4b (ti,twl6040): 'twl6040,audpwron-gpio' does not match any of
> > > the regexes: '^#.*',
> > > '^(at25|bm|devbus|dmacap|dsa|exynos|fsi[ab]|gpio-fan|gpio-key|gpio|gpmc|hdmi|i2c-gpio),.*',
> > > '^(keypad|m25p|max8952|max8997|max8998|mpmc),.*',
> > > '^(pciclass|pinctrl-single|#pinctrl-single|PowerPC),.*',
> > > '^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*',
> > > '^(simple-audio-card|st-plgpio|st-spics|ts),.*',
> >
> > You will need to add 'twl6040' to this list of exceptions in
> > vendor-prefixes.yaml.
> >
> > Rob
> 
> Hi Rob, thanks for the feedback.
> 
> Wouldn't it be simpler if we put 'ti' (the actual vendor) instead of 'twl6040'?
> No other file is using the current name, so there would be no need for
> additional editing.

Indeed. Actually, just drop the property because the driver doesn't use 
it either. Just note the change in the commit msg.

Rob

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: convert to DT schema
  2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
  2025-08-13 20:29   ` Mark Brown
@ 2025-08-18 18:03   ` Rob Herring
  1 sibling, 0 replies; 19+ messages in thread
From: Rob Herring @ 2025-08-18 18:03 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: linux-kernel, peter.ujfalusi, dmitry.torokhov, krzk+dt, lgirdwood,
	tiwai, conor+dt, lee, ukleinek, broonie, gregkh, linux-input,
	devicetree, linux-pwm, linux-sound, linux-usb, shuah

On Tue, Aug 12, 2025 at 12:47:38AM +0200, Jihed Chaibi wrote:
> 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.
> 
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> ---
>  .../bindings/sound/omap-twl4030.txt           |  62 -----------
>  .../bindings/sound/ti,omap-twl4030.yaml       | 101 ++++++++++++++++++
>  2 files changed, 101 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..3124320d6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,omap-twl4030.yaml
> @@ -0,0 +1,101 @@
> +# 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.

Wrap lines at 80. Drop 'Bindings for'.

> +
> +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"

Is this list supposed to match the below 'CODEC Pins'? If so, then don't 
duplicate it here. If not, then I'm confused.

> +    $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	[flat|nested] 19+ messages in thread

* Re: [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: convert to DT schema
  2025-08-11 22:47 ` [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: " Jihed Chaibi
@ 2025-08-19  6:08   ` Uwe Kleine-König
  0 siblings, 0 replies; 19+ messages in thread
From: Uwe Kleine-König @ 2025-08-19  6:08 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: linux-kernel, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
	lgirdwood, tiwai, conor+dt, lee, broonie, gregkh, linux-input,
	devicetree, linux-pwm, linux-sound, linux-usb, shuah

[-- Attachment #1: Type: text/plain, Size: 3240 bytes --]

On Tue, Aug 12, 2025 at 12:47:36AM +0200, Jihed Chaibi wrote:
> Convert the legacy TXT binding for the TWL-family PWM controller
> to the modern YAML DT schema format. This adds formal validation
> and improves documentation by inheriting from the base pwm schema.
> 
> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
> ---
>  .../devicetree/bindings/pwm/ti,twl-pwm.txt    | 17 -------
>  .../devicetree/bindings/pwm/ti,twl-pwm.yaml   | 46 +++++++++++++++++++
>  2 files changed, 46 insertions(+), 17 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
>  create mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
> 
> 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-pwm.yaml b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
> new file mode 100644
> index 000000000..5bbbdc13a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/ti,twl-pwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TWL4030/TWL6030 family PWM controller
> +
> +maintainers:
> +  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
> +
> +description: |
> +  Bindings for the following PWM controllers :
> +    TWL4030 series: PWMA and PWMB (connected to LEDA and LEDB terminals)
> +    TWL6030 series: LED PWM (mainly used as charging indicator LED)
> +
> +allOf:
> +  - $ref: /schemas/pwm/pwm.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ti,twl4030-pwm
> +      - ti,twl6030-pwm
> +
> +  '#pwm-cells':
> +    const: 2
> +
> +required:
> +  - compatible
> +  - '#pwm-cells'
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    pwm {
> +        compatible = "ti,twl4030-pwm";
> +        #pwm-cells = <2>;
> +    };
> +
> +  - |
> +    pwm {
> +        compatible = "ti,twl6030-pwm";
> +        #pwm-cells = <2>;
> +    };

Without having asked dt_binding_check it looks ok formally. I guess you
added Peter Ujfalusi as maintainer from the driver file. I'd like to see
a confirmation from him this is fine.

The 2nd example isn't very helpful. Unless I'm missing some detail that
makes it have a value I suggest to drop it. (But no need to resend just
for that, I don't feel that strong and can keep it or fixup when
applying.)

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema
  2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
                   ` (7 preceding siblings ...)
  2025-08-11 22:47 ` [PATCH 8/8] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
@ 2025-08-19  6:09 ` Uwe Kleine-König
  2025-08-19 13:19   ` Jihed Chaibi
  8 siblings, 1 reply; 19+ messages in thread
From: Uwe Kleine-König @ 2025-08-19  6:09 UTC (permalink / raw)
  To: Jihed Chaibi
  Cc: linux-kernel, peter.ujfalusi, dmitry.torokhov, robh, krzk+dt,
	lgirdwood, tiwai, conor+dt, lee, broonie, gregkh, linux-input,
	devicetree, linux-pwm, linux-sound, linux-usb, shuah

[-- Attachment #1: Type: text/plain, Size: 794 bytes --]

Hello,

On Tue, Aug 12, 2025 at 12:47:31AM +0200, Jihed Chaibi wrote:
> This series modernizes the Device Tree bindings for the Texas
> Instruments TWL4030/TWL6040 family by converting all remaining
> legacy TXT bindings to the structured YAML DT schema format.
> 
> This improves the bindings by adding formal type checking, clear property
> definitions, and machine-readable examples, which allows for automated
> validation and better documentation for developers.
> 
> The following eight patches are included in this series, covering the
> audio, keypad, power, PWM, and USB sub-modules.

Thanks for doing that.

I think the patches are all orthogonal and can/should be applied by the
respective subsystem maintainers once they are considered ready?

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema
  2025-08-19  6:09 ` [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding " Uwe Kleine-König
@ 2025-08-19 13:19   ` Jihed Chaibi
  0 siblings, 0 replies; 19+ messages in thread
From: Jihed Chaibi @ 2025-08-19 13:19 UTC (permalink / raw)
  To: Uwe Kleine-König, peter.ujfalusi
  Cc: linux-kernel, dmitry.torokhov, robh, krzk+dt, lgirdwood, tiwai,
	conor+dt, lee, broonie, gregkh, linux-input, devicetree,
	linux-pwm, linux-sound, linux-usb, shuah

> > The following eight patches are included in this series, covering the
> > audio, keypad, power, PWM, and USB sub-modules.
>
> Thanks for doing that.
>
> I think the patches are all orthogonal and can/should be applied by the
> respective subsystem maintainers once they are considered ready?
>

Hello Uwe, Peter, and everyone,

Thank you for the feedback, I am now working on a new v4 patch series
for each subsystem with few improvements and will make sure of their
orthogonality.

While working on this, I had a question about the 'maintainers:' property for
the new YAML bindings. I see from the MAINTAINERS file that Peter Ujfalusi
is the maintainer for the TWL4030 codec driver. I initially marked him as
maintainer for every new twl4030 related binding.

For those new YAML binding files I am creating, should I list only the driver
maintainer (Peter, once he confirms this), or should I add myself as
a co-maintainer since I am authoring these new binding files?

Pinging Peter for his thoughts on this as well.

Thanks again for your guidance.
Jihed

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-08-19 13:19 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
2025-08-12 14:58   ` Rob Herring
2025-08-11 22:47 ` [PATCH 2/8] mfd: dt-bindings: ti,twl6040: " Jihed Chaibi
2025-08-12  1:24   ` Rob Herring (Arm)
2025-08-12 14:54     ` Rob Herring
2025-08-12 16:06       ` Jihed Chaibi
2025-08-14 21:24         ` Rob Herring
2025-08-11 22:47 ` [PATCH 3/8] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 4/8] mfd: dt-bindings: ti,twl4030-power: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: " Jihed Chaibi
2025-08-19  6:08   ` Uwe Kleine-König
2025-08-11 22:47 ` [PATCH 6/8] pwm: dt-bindings: ti,twl-pwmled: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
2025-08-13 20:29   ` Mark Brown
2025-08-18 18:03   ` Rob Herring
2025-08-11 22:47 ` [PATCH 8/8] usb: dt-bindings: ti,twlxxxx-usb: " Jihed Chaibi
2025-08-19  6:09 ` [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding " Uwe Kleine-König
2025-08-19 13:19   ` Jihed Chaibi

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