xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/twl6040.txt (revision 3eb66e91a25497065c5322b1268cbc3953642227)
137e13cecSPeter UjfalusiTexas Instruments TWL6040 family
237e13cecSPeter Ujfalusi
35cbe786aSPeter UjfalusiThe TWL6040s are 8-channel high quality low-power audio codecs providing audio,
45cbe786aSPeter Ujfalusivibra and GPO functionality on OMAP4+ platforms.
537e13cecSPeter UjfalusiThey are connected ot the host processor via i2c for commands, McPDM for audio
637e13cecSPeter Ujfalusidata and commands.
737e13cecSPeter Ujfalusi
837e13cecSPeter UjfalusiRequired properties:
91fc74aefSPeter Ujfalusi- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
1037e13cecSPeter Ujfalusi- reg: must be 0x4b for i2c address
1137e13cecSPeter Ujfalusi- interrupts: twl6040 has one interrupt line connecteded to the main SoC
125cbe786aSPeter Ujfalusi- gpio-controller:
135cbe786aSPeter Ujfalusi- #gpio-cells = <1>: twl6040 provides GPO lines.
14*0133d323SPeter Ujfalusi- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
1537e13cecSPeter Ujfalusi- twl6040,audpwron-gpio: Power on GPIO line for the twl6040
1637e13cecSPeter Ujfalusi
1737e13cecSPeter Ujfalusi- vio-supply: Regulator for the twl6040 VIO supply
1837e13cecSPeter Ujfalusi- v2v1-supply: Regulator for the twl6040 V2V1 supply
1937e13cecSPeter Ujfalusi
2037e13cecSPeter UjfalusiOptional properties, nodes:
2137e13cecSPeter Ujfalusi- enable-active-high: To power on the twl6040 during boot.
220a58da1eSPeter Ujfalusi- clocks: phandle to the clk32k and/or to mclk clock provider
230a58da1eSPeter Ujfalusi- clock-names: Must be "clk32k" for the 32K clock and "mclk" for the MCLK.
2437e13cecSPeter Ujfalusi
2537e13cecSPeter UjfalusiVibra functionality
2637e13cecSPeter UjfalusiRequired properties:
2737e13cecSPeter Ujfalusi- vddvibl-supply: Regulator for the left vibra motor
2837e13cecSPeter Ujfalusi- vddvibr-supply: Regulator for the right vibra motor
2937e13cecSPeter Ujfalusi- vibra { }: Configuration section for vibra parameters containing the following
3037e13cecSPeter Ujfalusi	     properties:
3137e13cecSPeter Ujfalusi- ti,vibldrv-res: Resistance parameter for left driver
3237e13cecSPeter Ujfalusi- ti,vibrdrv-res: Resistance parameter for right driver
3337e13cecSPeter Ujfalusi- ti,viblmotor-res: Resistance parameter for left motor
3437e13cecSPeter Ujfalusi- ti,viblmotor-res: Resistance parameter for right motor
3537e13cecSPeter Ujfalusi
3637e13cecSPeter UjfalusiOptional properties within vibra { } section:
3737e13cecSPeter Ujfalusi- vddvibl_uV: If the vddvibl default voltage need to be changed
3837e13cecSPeter Ujfalusi- vddvibr_uV: If the vddvibr default voltage need to be changed
3937e13cecSPeter Ujfalusi
4037e13cecSPeter UjfalusiExample:
4137e13cecSPeter Ujfalusi&i2c1 {
4237e13cecSPeter Ujfalusi	twl6040: twl@4b {
4337e13cecSPeter Ujfalusi		compatible = "ti,twl6040";
4437e13cecSPeter Ujfalusi
4537e13cecSPeter Ujfalusi		interrupts = <0 119 4>;
4637e13cecSPeter Ujfalusi		interrupt-parent = <&gic>;
4737e13cecSPeter Ujfalusi		twl6040,audpwron-gpio = <&gpio4 31 0>;
4837e13cecSPeter Ujfalusi
4937e13cecSPeter Ujfalusi		vio-supply = <&v1v8>;
5037e13cecSPeter Ujfalusi		v2v1-supply = <&v2v1>;
5137e13cecSPeter Ujfalusi		enable-active-high;
5237e13cecSPeter Ujfalusi
5337e13cecSPeter Ujfalusi		/* regulators for vibra motor */
5437e13cecSPeter Ujfalusi		vddvibl-supply = <&vbat>;
5537e13cecSPeter Ujfalusi		vddvibr-supply = <&vbat>;
5637e13cecSPeter Ujfalusi
5737e13cecSPeter Ujfalusi		vibra {
5837e13cecSPeter Ujfalusi			/* Vibra driver, motor resistance parameters */
5937e13cecSPeter Ujfalusi			ti,vibldrv-res = <8>;
6037e13cecSPeter Ujfalusi			ti,vibrdrv-res = <3>;
6137e13cecSPeter Ujfalusi			ti,viblmotor-res = <10>;
6237e13cecSPeter Ujfalusi			ti,vibrmotor-res = <10>;
6337e13cecSPeter Ujfalusi		};
6437e13cecSPeter Ujfalusi	};
6537e13cecSPeter Ujfalusi};
665cbe786aSPeter Ujfalusi
675cbe786aSPeter Ujfalusi/include/ "twl6040.dtsi"
68