xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/twl6040.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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