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