558 lines
12 KiB
YAML
558 lines
12 KiB
YAML
# 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 <andreas@kemnade.info>
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
...
|