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