162306a36Sopenharmony_ciTexas Instruments TWL6040 family 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThe TWL6040s are 8-channel high quality low-power audio codecs providing audio, 462306a36Sopenharmony_civibra and GPO functionality on OMAP4+ platforms. 562306a36Sopenharmony_ciThey are connected ot the host processor via i2c for commands, McPDM for audio 662306a36Sopenharmony_cidata and commands. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciRequired properties: 962306a36Sopenharmony_ci- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041 1062306a36Sopenharmony_ci- reg: must be 0x4b for i2c address 1162306a36Sopenharmony_ci- interrupts: twl6040 has one interrupt line connecteded to the main SoC 1262306a36Sopenharmony_ci- gpio-controller: 1362306a36Sopenharmony_ci- #gpio-cells = <1>: twl6040 provides GPO lines. 1462306a36Sopenharmony_ci- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM 1562306a36Sopenharmony_ci- twl6040,audpwron-gpio: Power on GPIO line for the twl6040 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci- vio-supply: Regulator for the twl6040 VIO supply 1862306a36Sopenharmony_ci- v2v1-supply: Regulator for the twl6040 V2V1 supply 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciOptional properties, nodes: 2162306a36Sopenharmony_ci- enable-active-high: To power on the twl6040 during boot. 2262306a36Sopenharmony_ci- clocks: phandle to the clk32k and/or to mclk clock provider 2362306a36Sopenharmony_ci- clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciVibra functionality 2662306a36Sopenharmony_ciRequired properties: 2762306a36Sopenharmony_ci- vddvibl-supply: Regulator for the left vibra motor 2862306a36Sopenharmony_ci- vddvibr-supply: Regulator for the right vibra motor 2962306a36Sopenharmony_ci- vibra { }: Configuration section for vibra parameters containing the following 3062306a36Sopenharmony_ci properties: 3162306a36Sopenharmony_ci- ti,vibldrv-res: Resistance parameter for left driver 3262306a36Sopenharmony_ci- ti,vibrdrv-res: Resistance parameter for right driver 3362306a36Sopenharmony_ci- ti,viblmotor-res: Resistance parameter for left motor 3462306a36Sopenharmony_ci- ti,viblmotor-res: Resistance parameter for right motor 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciOptional properties within vibra { } section: 3762306a36Sopenharmony_ci- vddvibl_uV: If the vddvibl default voltage need to be changed 3862306a36Sopenharmony_ci- vddvibr_uV: If the vddvibr default voltage need to be changed 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciExample: 4162306a36Sopenharmony_ci&i2c1 { 4262306a36Sopenharmony_ci twl6040: twl@4b { 4362306a36Sopenharmony_ci compatible = "ti,twl6040"; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci interrupts = <0 119 4>; 4662306a36Sopenharmony_ci interrupt-parent = <&gic>; 4762306a36Sopenharmony_ci twl6040,audpwron-gpio = <&gpio4 31 0>; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci vio-supply = <&v1v8>; 5062306a36Sopenharmony_ci v2v1-supply = <&v2v1>; 5162306a36Sopenharmony_ci enable-active-high; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci /* regulators for vibra motor */ 5462306a36Sopenharmony_ci vddvibl-supply = <&vbat>; 5562306a36Sopenharmony_ci vddvibr-supply = <&vbat>; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci vibra { 5862306a36Sopenharmony_ci /* Vibra driver, motor resistance parameters */ 5962306a36Sopenharmony_ci ti,vibldrv-res = <8>; 6062306a36Sopenharmony_ci ti,vibrdrv-res = <3>; 6162306a36Sopenharmony_ci ti,viblmotor-res = <10>; 6262306a36Sopenharmony_ci ti,vibrmotor-res = <10>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci}; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci/include/ "twl6040.dtsi" 68