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