brintos

brintos / linux-shallow public Read only

0
0
Text · 5.1 KiB · 2d552be Raw
183 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/power/supply/summit,smb347-charger.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Battery charger driver for SMB345, SMB347 and SMB3588 9maintainers:10  - David Heidelberg <david@ixit.cz>11  - Dmitry Osipenko <digetx@gmail.com>12 13properties:14  compatible:15    enum:16      - summit,smb34517      - summit,smb34718      - summit,smb35819 20  reg:21    maxItems: 122 23  interrupts:24    maxItems: 125 26  monitored-battery:27    description: phandle to the battery node28    $ref: /schemas/types.yaml#/definitions/phandle29 30  summit,enable-usb-charging:31    type: boolean32    description: Enable charging through USB.33 34  summit,enable-otg-charging:35    type: boolean36    description: Provide power for USB OTG37 38  summit,enable-mains-charging:39    type: boolean40    description: Enable charging through mains41 42  summit,enable-charge-control:43    description: Enable charging control44    $ref: /schemas/types.yaml#/definitions/uint3245    enum:46      - 0 # SMB3XX_CHG_ENABLE_SW SW (I2C interface)47      - 1 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW Pin control (Active Low)48      - 2 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH Pin control (Active High)49 50  summit,fast-voltage-threshold-microvolt:51    description: Voltage threshold to transit to fast charge mode (in uV)52    minimum: 240000053    maximum: 300000054 55  summit,mains-current-limit-microamp:56    description: Maximum input current from AC/DC input (in uA)57 58  summit,usb-current-limit-microamp:59    description: Maximum input current from USB input (in uA)60 61  summit,charge-current-compensation-microamp:62    description: Charge current compensation (in uA)63 64  summit,chip-temperature-threshold-celsius:65    description: Chip temperature for thermal regulation in °C.66    enum: [100, 110, 120, 130]67 68  summit,soft-compensation-method:69    description: Soft temperature limit compensation method70    $ref: /schemas/types.yaml#/definitions/uint3271    enum:72      - 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none73      - 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation74      - 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation75 76  summit,inok-polarity:77    description: |78      Polarity of INOK signal indicating presence of external power supply.79    $ref: /schemas/types.yaml#/definitions/uint3280    enum:81      - 0 # SMB3XX_SYSOK_INOK_ACTIVE_LOW82      - 1 # SMB3XX_SYSOK_INOK_ACTIVE_HIGH83 84  usb-vbus:85    $ref: /schemas/regulator/regulator.yaml#86    type: object87 88    properties:89      summit,needs-inok-toggle:90        type: boolean91        description: INOK signal is fixed and polarity needs to be toggled92                     in order to enable/disable output mode.93 94    unevaluatedProperties: false95 96allOf:97  - if:98      properties:99        compatible:100          enum:101            - summit,smb345102            - summit,smb358103 104    then:105      properties:106        summit,mains-current-limit-microamp:107          enum: [ 300000, 500000, 700000, 1000000,108                  1500000, 1800000, 2000000]109 110        summit,usb-current-limit-microamp:111          enum: [ 300000, 500000, 700000, 1000000,112                  1500000, 1800000, 2000000]113 114        summit,charge-current-compensation-microamp:115          enum: [200000, 450000, 600000, 900000]116 117    else:118      properties:119        summit,mains-current-limit-microamp:120          enum: [ 300000, 500000, 700000, 900000, 1200000,121                  1500000, 1800000, 2000000, 2200000, 2500000]122 123        summit,usb-current-limit-microamp:124          enum: [ 300000, 500000, 700000, 900000, 1200000,125                  1500000, 1800000, 2000000, 2200000, 2500000]126 127        summit,charge-current-compensation-microamp:128          enum: [250000, 700000, 900000, 1200000]129 130required:131  - compatible132  - reg133 134anyOf:135  - required:136      - summit,enable-usb-charging137  - required:138      - summit,enable-otg-charging139  - required:140      - summit,enable-mains-charging141 142additionalProperties: false143 144examples:145  - |146    #include <dt-bindings/power/summit,smb347-charger.h>147 148    i2c {149        #address-cells = <1>;150        #size-cells = <0>;151 152        charger@7f {153            compatible = "summit,smb347";154            reg = <0x7f>;155 156            summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH>;157            summit,inok-polarity = <SMB3XX_SYSOK_INOK_ACTIVE_LOW>;158            summit,chip-temperature-threshold-celsius = <110>;159            summit,mains-current-limit-microamp = <2000000>;160            summit,usb-current-limit-microamp = <500000>;161            summit,enable-usb-charging;162            summit,enable-mains-charging;163 164            monitored-battery = <&battery>;165 166            usb-vbus {167                regulator-name = "usb_vbus";168                regulator-min-microvolt = <5000000>;169                regulator-max-microvolt = <5000000>;170                regulator-min-microamp = <750000>;171                regulator-max-microamp = <750000>;172                summit,needs-inok-toggle;173            };174        };175    };176 177    battery: battery-cell {178        compatible = "simple-battery";179        constant-charge-current-max-microamp = <1800000>;180        operating-range-celsius = <0 45>;181        alert-celsius = <3 42>;182    };183