162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci# Copyright (C) 2021 Sebastian Reichel
362306a36Sopenharmony_ci%YAML 1.2
462306a36Sopenharmony_ci---
562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/supply/stericsson,ab8500-charger.yaml#
662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cititle: AB8500 Charger
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Sebastian Reichel <sre@kernel.org>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciallOf:
1462306a36Sopenharmony_ci  - $ref: power-supply.yaml#
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    const: stericsson,ab8500-charger
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci  monitored-battery:
2162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
2262306a36Sopenharmony_ci    description: phandle to battery node
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  battery:
2562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
2662306a36Sopenharmony_ci    deprecated: true
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  vddadc-supply:
2962306a36Sopenharmony_ci    description: Supply for USB and Main charger
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  autopower_cfg:
3262306a36Sopenharmony_ci    type: boolean
3362306a36Sopenharmony_ci    description: automatic poweron after powerloss
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  interrupts:
3662306a36Sopenharmony_ci    maxItems: 14
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  interrupt-names:
3962306a36Sopenharmony_ci    items:
4062306a36Sopenharmony_ci      - const: MAIN_CH_UNPLUG_DET
4162306a36Sopenharmony_ci      - const: MAIN_CHARGE_PLUG_DET
4262306a36Sopenharmony_ci      - const: MAIN_EXT_CH_NOT_OK
4362306a36Sopenharmony_ci      - const: MAIN_CH_TH_PROT_R
4462306a36Sopenharmony_ci      - const: MAIN_CH_TH_PROT_F
4562306a36Sopenharmony_ci      - const: VBUS_DET_F
4662306a36Sopenharmony_ci      - const: VBUS_DET_R
4762306a36Sopenharmony_ci      - const: USB_LINK_STATUS
4862306a36Sopenharmony_ci      - const: USB_CH_TH_PROT_R
4962306a36Sopenharmony_ci      - const: USB_CH_TH_PROT_F
5062306a36Sopenharmony_ci      - const: USB_CHARGER_NOT_OKR
5162306a36Sopenharmony_ci      - const: VBUS_OVV
5262306a36Sopenharmony_ci      - const: CH_WD_EXP
5362306a36Sopenharmony_ci      - const: VBUS_CH_DROP_END
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  io-channels:
5662306a36Sopenharmony_ci    minItems: 2
5762306a36Sopenharmony_ci    maxItems: 4
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  io-channel-names:
6062306a36Sopenharmony_ci    oneOf:
6162306a36Sopenharmony_ci      - items:
6262306a36Sopenharmony_ci          - const: main_charger_v
6362306a36Sopenharmony_ci          - const: main_charger_c
6462306a36Sopenharmony_ci          - const: vbus_v
6562306a36Sopenharmony_ci          - const: usb_charger_c
6662306a36Sopenharmony_ci      - items:
6762306a36Sopenharmony_ci          - const: vbus_v
6862306a36Sopenharmony_ci          - const: usb_charger_c
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_cirequired:
7262306a36Sopenharmony_ci  - compatible
7362306a36Sopenharmony_ci  - monitored-battery
7462306a36Sopenharmony_ci  - vddadc-supply
7562306a36Sopenharmony_ci  - interrupts
7662306a36Sopenharmony_ci  - interrupt-names
7762306a36Sopenharmony_ci  - io-channels
7862306a36Sopenharmony_ci  - io-channel-names
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciadditionalProperties: false
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciexamples:
8362306a36Sopenharmony_ci  - |
8462306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
8562306a36Sopenharmony_ci    pmic {
8662306a36Sopenharmony_ci      charger {
8762306a36Sopenharmony_ci        compatible = "stericsson,ab8500-charger";
8862306a36Sopenharmony_ci        monitored-battery = <&battery>;
8962306a36Sopenharmony_ci        vddadc-supply = <&ab8500_ldo_tvout_reg>;
9062306a36Sopenharmony_ci        interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
9162306a36Sopenharmony_ci                     <11 IRQ_TYPE_LEVEL_HIGH>,
9262306a36Sopenharmony_ci                     <0 IRQ_TYPE_LEVEL_HIGH>,
9362306a36Sopenharmony_ci                     <107 IRQ_TYPE_LEVEL_HIGH>,
9462306a36Sopenharmony_ci                     <106 IRQ_TYPE_LEVEL_HIGH>,
9562306a36Sopenharmony_ci                     <14 IRQ_TYPE_LEVEL_HIGH>,
9662306a36Sopenharmony_ci                     <15 IRQ_TYPE_LEVEL_HIGH>,
9762306a36Sopenharmony_ci                     <79 IRQ_TYPE_LEVEL_HIGH>,
9862306a36Sopenharmony_ci                     <105 IRQ_TYPE_LEVEL_HIGH>,
9962306a36Sopenharmony_ci                     <104 IRQ_TYPE_LEVEL_HIGH>,
10062306a36Sopenharmony_ci                     <89 IRQ_TYPE_LEVEL_HIGH>,
10162306a36Sopenharmony_ci                     <22 IRQ_TYPE_LEVEL_HIGH>,
10262306a36Sopenharmony_ci                     <21 IRQ_TYPE_LEVEL_HIGH>,
10362306a36Sopenharmony_ci                     <16 IRQ_TYPE_LEVEL_HIGH>;
10462306a36Sopenharmony_ci        interrupt-names = "MAIN_CH_UNPLUG_DET",
10562306a36Sopenharmony_ci                          "MAIN_CHARGE_PLUG_DET",
10662306a36Sopenharmony_ci                          "MAIN_EXT_CH_NOT_OK",
10762306a36Sopenharmony_ci                          "MAIN_CH_TH_PROT_R",
10862306a36Sopenharmony_ci                          "MAIN_CH_TH_PROT_F",
10962306a36Sopenharmony_ci                          "VBUS_DET_F",
11062306a36Sopenharmony_ci                          "VBUS_DET_R",
11162306a36Sopenharmony_ci                          "USB_LINK_STATUS",
11262306a36Sopenharmony_ci                          "USB_CH_TH_PROT_R",
11362306a36Sopenharmony_ci                          "USB_CH_TH_PROT_F",
11462306a36Sopenharmony_ci                          "USB_CHARGER_NOT_OKR",
11562306a36Sopenharmony_ci                          "VBUS_OVV",
11662306a36Sopenharmony_ci                          "CH_WD_EXP",
11762306a36Sopenharmony_ci                          "VBUS_CH_DROP_END";
11862306a36Sopenharmony_ci        io-channels = <&gpadc 0x03>,
11962306a36Sopenharmony_ci                      <&gpadc 0x0a>,
12062306a36Sopenharmony_ci                      <&gpadc 0x09>,
12162306a36Sopenharmony_ci                      <&gpadc 0x0b>;
12262306a36Sopenharmony_ci        io-channel-names = "main_charger_v",
12362306a36Sopenharmony_ci                           "main_charger_c",
12462306a36Sopenharmony_ci                           "vbus_v",
12562306a36Sopenharmony_ci                           "usb_charger_c";
12662306a36Sopenharmony_ci      };
12762306a36Sopenharmony_ci    };
128