Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | Texas Instruments TWL6040 family |
| 2 | |
| 3 | The TWL6040s are 8-channel high quality low-power audio codecs providing audio, |
| 4 | vibra and GPO functionality on OMAP4+ platforms. |
| 5 | They are connected ot the host processor via i2c for commands, McPDM for audio |
| 6 | data and commands. |
| 7 | |
| 8 | Required properties: |
| 9 | - compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041 |
| 10 | - reg: must be 0x4b for i2c address |
| 11 | - interrupts: twl6040 has one interrupt line connecteded to the main SoC |
| 12 | - gpio-controller: |
| 13 | - #gpio-cells = <1>: twl6040 provides GPO lines. |
| 14 | - #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM |
| 15 | - twl6040,audpwron-gpio: Power on GPIO line for the twl6040 |
| 16 | |
| 17 | - vio-supply: Regulator for the twl6040 VIO supply |
| 18 | - v2v1-supply: Regulator for the twl6040 V2V1 supply |
| 19 | |
| 20 | Optional properties, nodes: |
| 21 | - enable-active-high: To power on the twl6040 during boot. |
| 22 | - clocks: phandle to the clk32k and/or to mclk clock provider |
| 23 | - clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK. |
| 24 | |
| 25 | Vibra functionality |
| 26 | Required properties: |
| 27 | - vddvibl-supply: Regulator for the left vibra motor |
| 28 | - vddvibr-supply: Regulator for the right vibra motor |
| 29 | - vibra { }: Configuration section for vibra parameters containing the following |
| 30 | properties: |
| 31 | - ti,vibldrv-res: Resistance parameter for left driver |
| 32 | - ti,vibrdrv-res: Resistance parameter for right driver |
| 33 | - ti,viblmotor-res: Resistance parameter for left motor |
| 34 | - ti,viblmotor-res: Resistance parameter for right motor |
| 35 | |
| 36 | Optional properties within vibra { } section: |
| 37 | - vddvibl_uV: If the vddvibl default voltage need to be changed |
| 38 | - vddvibr_uV: If the vddvibr default voltage need to be changed |
| 39 | |
| 40 | Example: |
| 41 | &i2c1 { |
| 42 | twl6040: twl@4b { |
| 43 | compatible = "ti,twl6040"; |
| 44 | |
| 45 | interrupts = <0 119 4>; |
| 46 | interrupt-parent = <&gic>; |
| 47 | twl6040,audpwron-gpio = <&gpio4 31 0>; |
| 48 | |
| 49 | vio-supply = <&v1v8>; |
| 50 | v2v1-supply = <&v2v1>; |
| 51 | enable-active-high; |
| 52 | |
| 53 | /* regulators for vibra motor */ |
| 54 | vddvibl-supply = <&vbat>; |
| 55 | vddvibr-supply = <&vbat>; |
| 56 | |
| 57 | vibra { |
| 58 | /* Vibra driver, motor resistance parameters */ |
| 59 | ti,vibldrv-res = <8>; |
| 60 | ti,vibrdrv-res = <3>; |
| 61 | ti,viblmotor-res = <10>; |
| 62 | ti,vibrmotor-res = <10>; |
| 63 | }; |
| 64 | }; |
| 65 | }; |
| 66 | |
| 67 | /include/ "twl6040.dtsi" |