18c2ecf20Sopenharmony_ciTexas Instruments TWL6040 family
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe TWL6040s are 8-channel high quality low-power audio codecs providing audio,
48c2ecf20Sopenharmony_civibra and GPO functionality on OMAP4+ platforms.
58c2ecf20Sopenharmony_ciThey are connected ot the host processor via i2c for commands, McPDM for audio
68c2ecf20Sopenharmony_cidata and commands.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciRequired properties:
98c2ecf20Sopenharmony_ci- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
108c2ecf20Sopenharmony_ci- reg: must be 0x4b for i2c address
118c2ecf20Sopenharmony_ci- interrupts: twl6040 has one interrupt line connecteded to the main SoC
128c2ecf20Sopenharmony_ci- gpio-controller:
138c2ecf20Sopenharmony_ci- #gpio-cells = <1>: twl6040 provides GPO lines.
148c2ecf20Sopenharmony_ci- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
158c2ecf20Sopenharmony_ci- twl6040,audpwron-gpio: Power on GPIO line for the twl6040
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci- vio-supply: Regulator for the twl6040 VIO supply
188c2ecf20Sopenharmony_ci- v2v1-supply: Regulator for the twl6040 V2V1 supply
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciOptional properties, nodes:
218c2ecf20Sopenharmony_ci- enable-active-high: To power on the twl6040 during boot.
228c2ecf20Sopenharmony_ci- clocks: phandle to the clk32k and/or to mclk clock provider
238c2ecf20Sopenharmony_ci- clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciVibra functionality
268c2ecf20Sopenharmony_ciRequired properties:
278c2ecf20Sopenharmony_ci- vddvibl-supply: Regulator for the left vibra motor
288c2ecf20Sopenharmony_ci- vddvibr-supply: Regulator for the right vibra motor
298c2ecf20Sopenharmony_ci- vibra { }: Configuration section for vibra parameters containing the following
308c2ecf20Sopenharmony_ci	     properties:
318c2ecf20Sopenharmony_ci- ti,vibldrv-res: Resistance parameter for left driver
328c2ecf20Sopenharmony_ci- ti,vibrdrv-res: Resistance parameter for right driver
338c2ecf20Sopenharmony_ci- ti,viblmotor-res: Resistance parameter for left motor
348c2ecf20Sopenharmony_ci- ti,viblmotor-res: Resistance parameter for right motor
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciOptional properties within vibra { } section:
378c2ecf20Sopenharmony_ci- vddvibl_uV: If the vddvibl default voltage need to be changed
388c2ecf20Sopenharmony_ci- vddvibr_uV: If the vddvibr default voltage need to be changed
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciExample:
418c2ecf20Sopenharmony_ci&i2c1 {
428c2ecf20Sopenharmony_ci	twl6040: twl@4b {
438c2ecf20Sopenharmony_ci		compatible = "ti,twl6040";
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci		interrupts = <0 119 4>;
468c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
478c2ecf20Sopenharmony_ci		twl6040,audpwron-gpio = <&gpio4 31 0>;
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci		vio-supply = <&v1v8>;
508c2ecf20Sopenharmony_ci		v2v1-supply = <&v2v1>;
518c2ecf20Sopenharmony_ci		enable-active-high;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci		/* regulators for vibra motor */
548c2ecf20Sopenharmony_ci		vddvibl-supply = <&vbat>;
558c2ecf20Sopenharmony_ci		vddvibr-supply = <&vbat>;
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci		vibra {
588c2ecf20Sopenharmony_ci			/* Vibra driver, motor resistance parameters */
598c2ecf20Sopenharmony_ci			ti,vibldrv-res = <8>;
608c2ecf20Sopenharmony_ci			ti,vibrdrv-res = <3>;
618c2ecf20Sopenharmony_ci			ti,viblmotor-res = <10>;
628c2ecf20Sopenharmony_ci			ti,vibrmotor-res = <10>;
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci};
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci/include/ "twl6040.dtsi"
68