xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/twl-family.txt (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
150bbd62cSJonathan NeuschäferTexas Instruments TWL family
250bbd62cSJonathan Neuschäfer
350bbd62cSJonathan NeuschäferThe TWLs are Integrated Power Management Chips.
450bbd62cSJonathan NeuschäferSome version might contain much more analog function like
550bbd62cSJonathan NeuschäferUSB transceiver or Audio amplifier.
650bbd62cSJonathan NeuschäferThese chips are connected to an i2c bus.
750bbd62cSJonathan Neuschäfer
850bbd62cSJonathan Neuschäfer
950bbd62cSJonathan NeuschäferRequired properties:
1050bbd62cSJonathan Neuschäfer- compatible : Must be "ti,twl4030";
1150bbd62cSJonathan Neuschäfer  For Integrated power-management/audio CODEC device used in OMAP3
1250bbd62cSJonathan Neuschäfer  based boards
1350bbd62cSJonathan Neuschäfer- compatible : Must be "ti,twl6030";
1450bbd62cSJonathan Neuschäfer  For Integrated power-management used in OMAP4 based boards
1550bbd62cSJonathan Neuschäfer- interrupts : This i2c device has an IRQ line connected to the main SoC
1650bbd62cSJonathan Neuschäfer- interrupt-controller : Since the twl support several interrupts internally,
1750bbd62cSJonathan Neuschäfer  it is considered as an interrupt controller cascaded to the SoC one.
1850bbd62cSJonathan Neuschäfer- #interrupt-cells = <1>;
1950bbd62cSJonathan Neuschäfer
2050bbd62cSJonathan NeuschäferOptional node:
2150bbd62cSJonathan Neuschäfer- Child nodes contain in the twl. The twl family is made of several variants
2250bbd62cSJonathan Neuschäfer  that support a different number of features.
2350bbd62cSJonathan Neuschäfer  The children nodes will thus depend of the capability of the variant.
2450bbd62cSJonathan Neuschäfer
2550bbd62cSJonathan Neuschäfer
2650bbd62cSJonathan NeuschäferExample:
2750bbd62cSJonathan Neuschäfer/*
2850bbd62cSJonathan Neuschäfer * Integrated Power Management Chip
29*4f4ed454SAlexander A. Klimov * https://www.ti.com/lit/ds/symlink/twl6030.pdf
3050bbd62cSJonathan Neuschäfer */
3150bbd62cSJonathan Neuschäfertwl@48 {
3250bbd62cSJonathan Neuschäfer    compatible = "ti,twl6030";
3350bbd62cSJonathan Neuschäfer    reg = <0x48>;
3450bbd62cSJonathan Neuschäfer    interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
3550bbd62cSJonathan Neuschäfer    interrupt-controller;
3650bbd62cSJonathan Neuschäfer    #interrupt-cells = <1>;
3750bbd62cSJonathan Neuschäfer    interrupt-parent = <&gic>;
3850bbd62cSJonathan Neuschäfer    #address-cells = <1>;
3950bbd62cSJonathan Neuschäfer    #size-cells = <0>;
4050bbd62cSJonathan Neuschäfer
4150bbd62cSJonathan Neuschäfer    twl_rtc {
4250bbd62cSJonathan Neuschäfer        compatible = "ti,twl_rtc";
4350bbd62cSJonathan Neuschäfer        interrupts = <11>;
4450bbd62cSJonathan Neuschäfer        reg = <0>;
4550bbd62cSJonathan Neuschäfer    };
4650bbd62cSJonathan Neuschäfer};
47