Texas Instruments TWL family

The TWLs are Integrated Power Management Chips.
Some version might contain much more analog function like
USB transceiver or Audio amplifier.
These chips are connected to an i2c bus.


Required properties:
- compatible : Must be "ti,twl4030";
  For Integrated power-management/audio CODEC device used in OMAP3
  based boards
- compatible : Must be "ti,twl6030";
  For Integrated power-management used in OMAP4 based boards
- interrupts : This i2c device has an IRQ line connected to the main SoC
- interrupt-controller : Since the twl support several interrupts internally,
  it is considered as an interrupt controller cascaded to the SoC one.
- #interrupt-cells = <1>;

Optional node:
- Child nodes contain in the twl. The twl family is made of several variants
  that support a different number of features.
  The children nodes will thus depend of the capability of the variant.


Example:
/*
 * Integrated Power Management Chip
 * https://www.ti.com/lit/ds/symlink/twl6030.pdf
 */
twl@48 {
    compatible = "ti,twl6030";
    reg = <0x48>;
    interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
    interrupt-controller;
    #interrupt-cells = <1>;
    interrupt-parent = <&gic>;
    #address-cells = <1>;
    #size-cells = <0>;

    twl_rtc {
        compatible = "ti,twl_rtc";
        interrupts = <11>;
        reg = <0>;
    };
};
