Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: power: supply: Add pm8916 LBC

Qualcomm Linear Battery Charger is a CC/CV charger block in PM8916 PMIC.
Document it's DT binding.

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230915-pm8916-bms-lbc-v3-2-f30881e951a0@trvn.ru
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Nikita Travkin and committed by
Sebastian Reichel
5cee843d 7f590e38

+128
+128
Documentation/devicetree/bindings/power/supply/qcom,pm8916-lbc.yaml
··· 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/qcom,pm8916-lbc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm Linear Battery Charger 8 + 9 + maintainers: 10 + - Nikita Travkin <nikita@trvn.ru> 11 + 12 + description: 13 + Linear Battery Charger hardware block, found in some Qualcomm PMICs 14 + such as pm8916. Implements a simple, autonomous CC/CV charger. 15 + 16 + allOf: 17 + - $ref: power-supply.yaml# 18 + 19 + properties: 20 + compatible: 21 + const: qcom,pm8916-lbc 22 + 23 + reg: 24 + items: 25 + - description: Charger 26 + - description: Battery 27 + - description: USB 28 + - description: MISC 29 + 30 + reg-names: 31 + items: 32 + - const: chgr 33 + - const: bat_if 34 + - const: usb 35 + - const: misc 36 + 37 + interrupts: 38 + items: 39 + - description: Battery detection 40 + - description: Fast charging 41 + - description: Charging failed 42 + - description: Charging done 43 + - description: Battery present 44 + - description: Battery temperature OK 45 + - description: USB coarse detection 46 + - description: USB IN valid 47 + - description: Charger gone 48 + - description: Overtemperature 49 + 50 + interrupt-names: 51 + items: 52 + - const: vbat_det 53 + - const: fast_chg 54 + - const: chg_fail 55 + - const: chg_done 56 + - const: bat_pres 57 + - const: temp_ok 58 + - const: coarse_det 59 + - const: usb_vbus 60 + - const: chg_gone 61 + - const: overtemp 62 + 63 + qcom,fast-charge-safe-voltage: 64 + $ref: /schemas/types.yaml#/definitions/uint32 65 + minimum: 4000000 66 + maximum: 4775000 67 + description: 68 + Maximum safe battery voltage in uV; May be pre-set by bootloader, 69 + in which case, setting this will harmlessly fail. 70 + 71 + qcom,fast-charge-safe-current: 72 + $ref: /schemas/types.yaml#/definitions/uint32 73 + minimum: 90000 74 + maximum: 1440000 75 + description: 76 + Maximum safe battery charge current in uA; May be pre-set by 77 + bootloader, in which case setting this will harmlessly fail. 78 + 79 + monitored-battery: true 80 + 81 + required: 82 + - compatible 83 + - reg 84 + - interrupts 85 + - interrupt-names 86 + - qcom,fast-charge-safe-voltage 87 + - qcom,fast-charge-safe-current 88 + 89 + additionalProperties: false 90 + 91 + examples: 92 + - | 93 + #include <dt-bindings/interrupt-controller/irq.h> 94 + pmic { 95 + #address-cells = <1>; 96 + #size-cells = <0>; 97 + 98 + charger@1000 { 99 + compatible = "qcom,pm8916-lbc"; 100 + reg = <0x1000>, <0x1200>, <0x1300>, <0x1600>; 101 + reg-names = "chgr", "bat_if", "usb", "misc"; 102 + 103 + interrupts = <0x0 0x10 0 IRQ_TYPE_EDGE_BOTH>, 104 + <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>, 105 + <0x0 0x10 6 IRQ_TYPE_EDGE_BOTH>, 106 + <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>, 107 + <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>, 108 + <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>, 109 + <0x0 0x13 0 IRQ_TYPE_EDGE_BOTH>, 110 + <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>, 111 + <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>, 112 + <0x0 0x13 4 IRQ_TYPE_EDGE_BOTH>; 113 + interrupt-names = "vbat_det", 114 + "fast_chg", 115 + "chg_fail", 116 + "chg_done", 117 + "bat_pres", 118 + "temp_ok", 119 + "coarse_det", 120 + "usb_vbus", 121 + "chg_gone", 122 + "overtemp"; 123 + monitored-battery = <&battery>; 124 + 125 + qcom,fast-charge-safe-current = <900000>; 126 + qcom,fast-charge-safe-voltage = <4300000>; 127 + }; 128 + };