# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/ti,twl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Texas Instruments TWL family maintainers: - Andreas Kemnade description: | The TWLs are Integrated Power Management Chips. Some versions might contain much more analog functions like USB transceiver or Audio amplifier. These chips are connected to an I2C bus. allOf: - if: properties: compatible: contains: const: ti,twl4030 then: patternProperties: "^regulator-": properties: compatible: enum: - ti,twl4030-vaux1 - ti,twl4030-vaux2 - ti,twl4030-vaux3 - ti,twl4030-vaux4 - ti,twl4030-vmmc1 - ti,twl4030-vmmc2 - ti,twl4030-vpll1 - ti,twl4030-vpll2 - ti,twl4030-vsim - ti,twl4030-vdac - ti,twl4030-vintana2 - ti,twl4030-vio - ti,twl4030-vdd1 - ti,twl4030-vdd2 - ti,twl4030-vintana1 - ti,twl4030-vintdig - ti,twl4030-vusb1v5 - ti,twl4030-vusb1v8 - ti,twl4030-vusb3v1 ti,retain-on-reset: false properties: charger: $ref: /schemas/power/supply/twl4030-charger.yaml unevaluatedProperties: false gpadc: false usb-comparator: false - if: properties: compatible: contains: const: ti,twl6030 then: patternProperties: "^regulator-": properties: compatible: enum: - ti,twl6030-vaux1 - ti,twl6030-vaux2 - ti,twl6030-vaux3 - ti,twl6030-vmmc - ti,twl6030-vpp - ti,twl6030-vusim - ti,twl6030-vana - ti,twl6030-vcxio - ti,twl6030-vdac - ti,twl6030-vusb - ti,twl6030-v1v8 - ti,twl6030-v2v1 - ti,twl6030-vdd1 - ti,twl6030-vdd2 - ti,twl6030-vdd3 regulator-initial-mode: false properties: charger: $ref: /schemas/power/supply/ti,twl6030-charger.yaml unevaluatedProperties: false gpadc: properties: compatible: const: ti,twl6030-gpadc pwrbutton: false madc: false watchdog: false audio: false keypad: false twl4030-usb: false gpio: false power: false - if: properties: compatible: contains: const: ti,twl6032 then: patternProperties: "^regulator-": properties: compatible: enum: - ti,twl6032-ldo1 - ti,twl6032-ldo2 - ti,twl6032-ldo3 - ti,twl6032-ldo4 - ti,twl6032-ldo5 - ti,twl6032-ldo6 - ti,twl6032-ldo7 - ti,twl6032-ldoln - ti,twl6032-ldousb - ti,twl6032-smps3 - ti,twl6032-smps4 - ti,twl6032-vio regulator-initial-mode: false properties: charger: $ref: /schemas/power/supply/ti,twl6030-charger.yaml unevaluatedProperties: false gpadc: properties: compatible: const: ti,twl6032-gpadc pwrbutton: false madc: false watchdog: false audio: false keypad: false twl4030-usb: false gpio: false power: false properties: compatible: description: > TWL4030 for integrated power-management/audio CODEC device used in OMAP3 based boards. TWL6030/32 for integrated power-management used in OMAP4 based boards enum: - ti,twl4030 - ti,twl6030 - ti,twl6032 reg: maxItems: 1 interrupts: maxItems: 1 interrupt-controller: true system-power-controller: true "#interrupt-cells": const: 1 "#clock-cells": const: 1 clocks: maxItems: 1 clock-names: const: fck charger: type: object properties: compatible: true required: - compatible rtc: type: object additionalProperties: false properties: compatible: const: ti,twl4030-rtc interrupts: maxItems: 1 madc: type: object $ref: /schemas/iio/adc/ti,twl4030-madc.yaml unevaluatedProperties: false pwrbutton: type: object additionalProperties: false properties: compatible: const: ti,twl4030-pwrbutton interrupts: items: - items: const: 8 watchdog: type: object additionalProperties: false properties: compatible: const: ti,twl4030-wdt audio: type: object additionalProperties: true properties: compatible: const: ti,twl4030-audio required: - compatible keypad: type: object additionalProperties: true properties: compatible: const: ti,twl4030-keypad required: - compatible twl4030-usb: type: object additionalProperties: true properties: compatible: const: ti,twl4030-usb required: - compatible gpio: type: object additionalProperties: true properties: compatible: const: ti,twl4030-gpio required: - compatible power: type: object additionalProperties: false description: > The power management module inside the TWL4030 provides several facilities to control the power resources, including power scripts. For now, the binding only supports the complete shutdown of the system after poweroff. Board-specific compatible strings may be used for platform-specific power configurations. A board-specific compatible string (e.g., ti,twl4030-power-omap3-evm) may be paired with a generic fallback (generally for power saving mode). properties: compatible: oneOf: # Case 1: A single compatible string is provided. - enum: - ti,twl4030-power - ti,twl4030-power-reset - ti,twl4030-power-idle - ti,twl4030-power-idle-osc-off - ti,twl4030-power-omap3-sdp - ti,twl4030-power-omap3-ldp - ti,twl4030-power-omap3-evm # Case 2: The specific, valid fallback for 'idle-osc-off'. - items: - const: ti,twl4030-power-idle-osc-off - const: ti,twl4030-power-idle # Case 3: The specific, valid fallback for 'omap3-evm'. - items: - const: ti,twl4030-power-omap3-evm - const: ti,twl4030-power-idle ti,system-power-controller: type: boolean deprecated: true description: > DEPRECATED. The standard 'system-power-controller' property on the parent node should be used instead. ti,use_poweroff: type: boolean deprecated: true description: DEPRECATED, to be removed. required: - compatible gpadc: type: object $ref: /schemas/iio/adc/ti,twl6030-gpadc.yaml unevaluatedProperties: false properties: compatible: true usb-comparator: type: object additionalProperties: true properties: compatible: const: ti,twl6030-usb required: - compatible pwm: type: object $ref: /schemas/pwm/pwm.yaml# unevaluatedProperties: false description: PWM controllers (PWM1 and PWM2 on TWL4030, PWM0 and PWM1 on TWL6030/32). properties: compatible: enum: - ti,twl4030-pwm - ti,twl6030-pwm '#pwm-cells': const: 2 required: - compatible - '#pwm-cells' pwmled: type: object $ref: /schemas/pwm/pwm.yaml# unevaluatedProperties: false description: > PWM controllers connected to LED terminals (PWMA and PWMB on TWL4030. LED PWM on TWL6030/32, mainly used as charging indicator LED). properties: compatible: enum: - ti,twl4030-pwmled - ti,twl6030-pwmled '#pwm-cells': const: 2 required: - compatible - '#pwm-cells' patternProperties: "^regulator-": type: object unevaluatedProperties: false $ref: /schemas/regulator/regulator.yaml properties: compatible: true regulator-initial-mode: enum: - 0x08 # Sleep mode, the nominal output voltage is maintained # with low power consumption with low load current capability - 0x0e # Active mode, the regulator can deliver its nominal output # voltage with full-load current capability ti,retain-on-reset: description: > Does not turn off the supplies during warm reset. Could be needed for VMMC, as TWL6030 reset sequence for this signal does not comply with the SD specification. type: boolean unevaluatedProperties: false required: - compatible - reg - interrupts - interrupt-controller - "#interrupt-cells" examples: - | i2c { #address-cells = <1>; #size-cells = <0>; pmic@48 { compatible = "ti,twl6030"; reg = <0x48>; interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */ interrupt-parent = <&gic>; interrupt-controller; #interrupt-cells = <1>; charger { compatible = "ti,twl6030-charger"; interrupts = <2>, <5>; io-channels = <&gpadc 10>; io-channel-names = "vusb"; monitored-battery = <&bat>; }; gpadc { compatible = "ti,twl6030-gpadc"; interrupts = <6>; #io-channel-cells = <1>; }; rtc { compatible = "ti,twl4030-rtc"; interrupts = <8>; }; regulator-vaux1 { compatible = "ti,twl6030-vaux1"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; }; regulator-vmmc1 { compatible = "ti,twl6030-vmmc"; ti,retain-on-reset; }; pwm { compatible = "ti,twl6030-pwm"; #pwm-cells = <2>; }; pwmled { compatible = "ti,twl6030-pwmled"; #pwm-cells = <2>; }; }; }; - | i2c { #address-cells = <1>; #size-cells = <0>; pmic@48 { compatible = "ti,twl4030"; reg = <0x48>; interrupts = <7>; /* SYS_NIRQ cascaded to intc */ interrupt-parent = <&intc>; interrupt-controller; #interrupt-cells = <1>; charger { compatible = "ti,twl4030-bci"; interrupts = <9>, <2>; bci3v1-supply = <&vusb3v1>; io-channels = <&twl_madc 11>; io-channel-names = "vac"; }; twl_madc: madc { compatible = "ti,twl4030-madc"; interrupts = <3>; #io-channel-cells = <1>; }; pwrbutton { compatible = "ti,twl4030-pwrbutton"; interrupts = <8>; }; rtc { compatible = "ti,twl4030-rtc"; interrupts = <11>; }; regulator-vaux1 { compatible = "ti,twl4030-vaux1"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; regulator-initial-mode = <0xe>; }; vusb3v1: regulator-vusb3v1 { compatible = "ti,twl4030-vusb3v1"; }; watchdog { compatible = "ti,twl4030-wdt"; }; power { compatible = "ti,twl4030-power"; }; pwm { compatible = "ti,twl4030-pwm"; #pwm-cells = <2>; }; pwmled { compatible = "ti,twl4030-pwmled"; #pwm-cells = <2>; }; }; }; ...