forked from luck/tmp_suning_uos_patched
dt-bindings: power: supply: Add device-tree binding for Summit SMB3xx
Summit SMB3xx series is a Programmable Switching Li+ Battery Charger. This patch adds device-tree binding for Summit SMB345, SMB347 and SMB358 chargers. Signed-off-by: David Heidelberg <david@ixit.cz> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
b198a6ed02
commit
2312c291f6
|
@ -0,0 +1,152 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/power/supply/summit,smb347-charger.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Battery charger driver for SMB345, SMB347 and SMB358
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- David Heidelberg <david@ixit.cz>
|
||||||
|
- Dmitry Osipenko <digetx@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- summit,smb345
|
||||||
|
- summit,smb347
|
||||||
|
- summit,smb358
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
monitored-battery:
|
||||||
|
description: phandle to the battery node
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
summit,enable-usb-charging:
|
||||||
|
type: boolean
|
||||||
|
description: Enable charging through USB.
|
||||||
|
|
||||||
|
summit,enable-otg-charging:
|
||||||
|
type: boolean
|
||||||
|
description: Provide power for USB OTG
|
||||||
|
|
||||||
|
summit,enable-mains-charging:
|
||||||
|
type: boolean
|
||||||
|
description: Enable charging through mains
|
||||||
|
|
||||||
|
summit,enable-charge-control:
|
||||||
|
description: Enable charging control
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # SMB3XX_CHG_ENABLE_SW SW (I2C interface)
|
||||||
|
- 1 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW Pin control (Active Low)
|
||||||
|
- 2 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH Pin control (Active High)
|
||||||
|
|
||||||
|
summit,fast-voltage-threshold-microvolt:
|
||||||
|
description: Voltage threshold to transit to fast charge mode (in uV)
|
||||||
|
minimum: 2400000
|
||||||
|
maximum: 3000000
|
||||||
|
|
||||||
|
summit,mains-current-limit-microamp:
|
||||||
|
description: Maximum input current from AC/DC input (in uA)
|
||||||
|
|
||||||
|
summit,usb-current-limit-microamp:
|
||||||
|
description: Maximum input current from USB input (in uA)
|
||||||
|
|
||||||
|
summit,charge-current-compensation-microamp:
|
||||||
|
description: Charge current compensation (in uA)
|
||||||
|
|
||||||
|
summit,chip-temperature-threshold-celsius:
|
||||||
|
description: Chip temperature for thermal regulation in °C.
|
||||||
|
enum: [100, 110, 120, 130]
|
||||||
|
|
||||||
|
summit,soft-compensation-method:
|
||||||
|
description: Soft temperature limit compensation method
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none
|
||||||
|
- 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation
|
||||||
|
- 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- summit,smb345
|
||||||
|
- summit,smb358
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
summit,mains-current-limit-microamp:
|
||||||
|
enum: [ 300000, 500000, 700000, 1000000,
|
||||||
|
1500000, 1800000, 2000000]
|
||||||
|
|
||||||
|
summit,usb-current-limit-microamp:
|
||||||
|
enum: [ 300000, 500000, 700000, 1000000,
|
||||||
|
1500000, 1800000, 2000000]
|
||||||
|
|
||||||
|
summit,charge-current-compensation-microamp:
|
||||||
|
enum: [200000, 450000, 600000, 900000]
|
||||||
|
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
summit,mains-current-limit-microamp:
|
||||||
|
enum: [ 300000, 500000, 700000, 900000, 1200000,
|
||||||
|
1500000, 1800000, 2000000, 2200000, 2500000]
|
||||||
|
|
||||||
|
summit,usb-current-limit-microamp:
|
||||||
|
enum: [ 300000, 500000, 700000, 900000, 1200000,
|
||||||
|
1500000, 1800000, 2000000, 2200000, 2500000]
|
||||||
|
|
||||||
|
summit,charge-current-compensation-microamp:
|
||||||
|
enum: [250000, 700000, 900000, 1200000]
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
anyOf:
|
||||||
|
- required:
|
||||||
|
- summit,enable-usb-charging
|
||||||
|
- required:
|
||||||
|
- summit,enable-otg-charging
|
||||||
|
- required:
|
||||||
|
- summit,enable-mains-charging
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/power/summit,smb347-charger.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
charger@7f {
|
||||||
|
compatible = "summit,smb347";
|
||||||
|
reg = <0x7f>;
|
||||||
|
|
||||||
|
summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH>;
|
||||||
|
summit,chip-temperature-threshold-celsius = <110>;
|
||||||
|
summit,mains-current-limit-microamp = <2000000>;
|
||||||
|
summit,usb-current-limit-microamp = <500000>;
|
||||||
|
summit,enable-usb-charging;
|
||||||
|
summit,enable-mains-charging;
|
||||||
|
|
||||||
|
monitored-battery = <&battery>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
battery: battery-cell {
|
||||||
|
compatible = "simple-battery";
|
||||||
|
constant-charge-current-max-microamp = <1800000>;
|
||||||
|
operating-range-celsius = <0 45>;
|
||||||
|
alert-celsius = <3 42>;
|
||||||
|
};
|
19
include/dt-bindings/power/summit,smb347-charger.h
Normal file
19
include/dt-bindings/power/summit,smb347-charger.h
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/* SPDX-License-Identifier: (GPL-2.0-or-later or MIT) */
|
||||||
|
/*
|
||||||
|
* Author: David Heidelberg <david@ixit.cz>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _DT_BINDINGS_SMB347_CHARGER_H
|
||||||
|
#define _DT_BINDINGS_SMB347_CHARGER_H
|
||||||
|
|
||||||
|
/* Charging compensation method */
|
||||||
|
#define SMB3XX_SOFT_TEMP_COMPENSATE_NONE 0
|
||||||
|
#define SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT 1
|
||||||
|
#define SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE 2
|
||||||
|
|
||||||
|
/* Charging enable control */
|
||||||
|
#define SMB3XX_CHG_ENABLE_SW 0
|
||||||
|
#define SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW 1
|
||||||
|
#define SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH 2
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user