| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585 |
- # 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
- pwrbutton:
- properties:
- compatible:
- const: ti,twl4030-pwrbutton
- interrupts:
- items:
- - items:
- const: 8
- 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:
- properties:
- compatible:
- const: ti,twl6030-pwrbutton
- interrupts:
- items:
- - items:
- const: 0
- 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:
- properties:
- compatible:
- const: ti,twl6030-pwrbutton
- interrupts:
- items:
- - items:
- const: 0
- 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:
- enum:
- - ti,twl4030-pwrbutton
- - ti,twl6030-pwrbutton
- interrupts:
- maxItems: 1
- 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>;
- };
- pwrbutton {
- compatible = "ti,twl6030-pwrbutton";
- interrupts = <0>;
- };
- 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>;
- };
- };
- };
- ...
|