mfd: dt-bindings: ti,twl6040: convert to DT schema
Subsystems (2)
PATCH v4 1/1 mfd: dt-bindings: ti,twl6040: convert to DT schema
Convert the legacy TXT binding for the TWL6040 MFD to the modern YAML DT schema format. This adds formal validation and improves documentation for the TWL6040/TWL6041 audio codec, which provides audio, vibra, and GPO functionality on OMAP4+ platforms.
Key changes:
- Dropped usage of the 'twl6040,audpwron-gpio' property from the schema as it is not used by the driver.
- Retained 'clocks' and 'clock-names' as flexible (1-2 items) to match the original binding's "and/or" phrasing, which allows clk32k, mclk, or both.
- Updated node name to 'audio-codec@4b' to follow generic naming conventions per the Device Tree specification.
- Replaced raw interrupt values with standard defines for clarity.
--- .../devicetree/bindings/mfd/ti,twl6040.yaml | 154 ++++++++++++++++++ .../devicetree/bindings/mfd/twl6040.txt | 67 -------- 2 files changed, 154 insertions(+), 67 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl6040.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/twl6040.txt
Documentation/devicetree/bindings/mfd/ti,twl6040.yaml new file +154 -0
@@ -0,0 +1,154 @@ +# 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 <[email protected]> + +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 + + 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 + description: Phandle to the clk32k and/or mclk clock providers. + + 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 uV). + + vddvibr_uV: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Optional override for the VDDVIBR default voltage (in uV). + 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' + - vio-supply + - v2v1-supply + - vddvibl-supply + - vddvibr-supply + - vibra + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + audio-codec@4b { + compatible = "ti,twl6040"; + reg = <0x4b>; + + interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; + + gpio-controller; + #gpio-cells = <1>; + #clock-cells = <0>; + + vio-supply = <&v1v8>; + v2v1-supply = <&v2v1>; + enable-active-high; + + clocks = <&clk32k>; + clock-names = "clk32k"; + + /* 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>; + }; + }; + };
Documentation/devicetree/bindings/mfd/twl6040.txt deleted +0 -67
67 lines not on this page · raw message
Signature · 1 line
2.39.5