blob: e94b0fd7af0f85cf8de0439e11bfcdd4f98f798a [file] [log] [blame]
# 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 version might contain much more analog function 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:
madc:
type: object
$ref: /schemas/iio/adc/ti,twl4030-madc.yaml
unevaluatedProperties: false
bci:
type: object
$ref: /schemas/power/supply/twl4030-charger.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
- 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:
gpadc:
type: object
properties:
compatible:
const: ti,twl6030-gpadc
- 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:
gpadc:
type: object
properties:
compatible:
const: ti,twl6032-gpadc
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
rtc:
type: object
additionalProperties: false
properties:
compatible:
const: ti,twl4030-rtc
interrupts:
maxItems: 1
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>;
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;
};
};
};
- |
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>;
bci {
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";
};
};
};
...