cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

summit,smb347-charger.yaml (5262B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2%YAML 1.2
      3---
      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 SMB358
      8
      9maintainers:
     10  - David Heidelberg <david@ixit.cz>
     11  - Dmitry Osipenko <digetx@gmail.com>
     12
     13properties:
     14  compatible:
     15    enum:
     16      - summit,smb345
     17      - summit,smb347
     18      - summit,smb358
     19
     20  reg:
     21    maxItems: 1
     22
     23  interrupts:
     24    maxItems: 1
     25
     26  monitored-battery:
     27    description: phandle to the battery node
     28    $ref: /schemas/types.yaml#/definitions/phandle
     29
     30  summit,enable-usb-charging:
     31    type: boolean
     32    description: Enable charging through USB.
     33
     34  summit,enable-otg-charging:
     35    type: boolean
     36    description: Provide power for USB OTG
     37
     38  summit,enable-mains-charging:
     39    type: boolean
     40    description: Enable charging through mains
     41
     42  summit,enable-charge-control:
     43    description: Enable charging control
     44    $ref: /schemas/types.yaml#/definitions/uint32
     45    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: 2400000
     53    maximum: 3000000
     54
     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 method
     70    $ref: /schemas/types.yaml#/definitions/uint32
     71    enum:
     72      - 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none
     73      - 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation
     74      - 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation
     75
     76  summit,inok-polarity:
     77    description: |
     78      Polarity of INOK signal indicating presence of external power supply.
     79    $ref: /schemas/types.yaml#/definitions/uint32
     80    enum:
     81      - 0 # SMB3XX_SYSOK_INOK_ACTIVE_LOW
     82      - 1 # SMB3XX_SYSOK_INOK_ACTIVE_HIGH
     83
     84  usb-vbus:
     85    $ref: "../../regulator/regulator.yaml#"
     86    type: object
     87
     88    properties:
     89      summit,needs-inok-toggle:
     90        type: boolean
     91        description: INOK signal is fixed and polarity needs to be toggled
     92                     in order to enable/disable output mode.
     93
     94    unevaluatedProperties: false
     95
     96allOf:
     97  - if:
     98      properties:
     99        compatible:
    100          enum:
    101            - summit,smb345
    102            - summit,smb358
    103
    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  - compatible
    132  - reg
    133
    134anyOf:
    135  - required:
    136      - summit,enable-usb-charging
    137  - required:
    138      - summit,enable-otg-charging
    139  - required:
    140      - summit,enable-mains-charging
    141
    142additionalProperties: false
    143
    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    };