# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/twl4030-charger.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TWL4030 BCI (Battery Charger Interface)

description: |
  The battery charger needs to interact with the USB phy in order to know when
  charging is permissible, and when there is a connection or disconnection.

  The choice of phy cannot be configured at a hardware level, so there is no
  value in explicit configuration in device-tree. Rather if there is a sibling
  of the BCI node which is compatible with "ti,twl4030-usb", then that is used
  to determine when and how use USB power for charging.

maintainers:
  - Sebastian Reichel <sre@kernel.org>

allOf:
  - $ref: power-supply.yaml#

properties:
  compatible:
    const: ti,twl4030-bci

  interrupts:
    minItems: 2
    maxItems: 2

  ti,bb-uvolt:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: microvolts for charging the backup battery

  ti,bb-uamp:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: microamps for charging the backup battery

  io-channels:
    items:
      - description: Accessory Charger Voltage Channel

  io-channel-names:
    items:
      - const: vac

  bci3v1-supply:
    description: 3.1V USB regulator

required:
  - compatible
  - interrupts

additionalProperties: false

examples:
  - |
    pmic {
      charger {
        compatible = "ti,twl4030-bci";
        interrupts = <9>, <2>;
        ti,bb-uvolt = <3200000>;
        ti,bb-uamp = <150>;
        io-channels = <&twl_madc 11>;
        io-channel-names = "vac";
      };
    };