[PATCH 1/8] dt-bindings: power: supply: Add DT schema for Qualcomm SMBCHG
From: Yassine Oudjana
Date: Mon Aug 08 2022 - 03:35:57 EST
From: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
Add DT schema for the switch-mode battery charger found on Qualcomm
PMICs such as PMI8994. Due to lack of documentation, some interrupt
descriptions might be inaccurate.
Signed-off-by: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
---
.../bindings/power/supply/qcom,smbchg.yaml | 205 ++++++++++++++++++
MAINTAINERS | 8 +
2 files changed, 213 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/supply/qcom,smbchg.yaml
diff --git a/Documentation/devicetree/bindings/power/supply/qcom,smbchg.yaml b/Documentation/devicetree/bindings/power/supply/qcom,smbchg.yaml
new file mode 100644
index 000000000000..d825a9c10b3e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/qcom,smbchg.yaml
@@ -0,0 +1,205 @@
+# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/qcom,smbchg.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PMIC Switch-Mode Battery Charger
+
+maintainers:
+ - Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
+ - Alejandro Tafalla <atafalla@xxxxxxxxx>
+
+properties:
+ compatible:
+ enum:
+ - qcom,pmi8994-smbchg
+ - qcom,pmi8996-smbchg
+
+ reg:
+ maxItems: 1
+
+ monitored-battery:
+ description: |
+ phandle of battery characteristics node.
+ The charger uses the following properties:
+ - charge-term-current-microamp
+ - constant-charge-current-max-microamp
+ - voltage-max-design-microvolt
+ The constant-charge-current-max-microamp and voltage-max-design-microvolt
+ properties must be set.
+ See Documentation/devicetree/bindings/power/supply/battery.yaml
+
+ interrupts:
+ items:
+ - description: Charger error
+ - description: Charger inhibited
+ - description: Charger precharge safety timer timeout
+ - description: Charger charge safety timer timeout
+ - description: Charger pre to fast charging switch threshold reached
+ - description: Charger recharge threshold reached
+ - description: Charger taper threshold reached
+ - description: Charger charge termination threshold reached
+ - description: Battery hot
+ - description: Battery warm
+ - description: Battery cold
+ - description: Battery cool
+ - description: Battery overvoltage
+ - description: Battery low
+ - description: Battery missing
+ - description: Battery thermistor missing # unconfirmed
+ - description: USB input undervolt
+ - description: USB input overvolt
+ - description: USB input source detected
+ - description: OTG regulator failure
+ - description: OTG regulator overcurrent
+ - description: Automatic input current limiting done
+ - description: USB ID pin changed
+ - description: DC input undervolt
+ - description: DC input overvolt
+ - description: Power OK
+ - description: Temperature shutdown
+ - description: Watchdog timeout
+ - description: Flash failure
+ - description: OTST2 # unknown
+ - description: OTST3 # unknown
+
+ interrupt-names:
+ items:
+ - const: chg-error
+ - const: chg-inhibit
+ - const: chg-prechg-sft
+ - const: chg-complete-chg-sft
+ - const: chg-p2f-thr
+ - const: chg-rechg-thr
+ - const: chg-taper-thr
+ - const: chg-tcc-thr
+ - const: batt-hot
+ - const: batt-warm
+ - const: batt-cold
+ - const: batt-cool
+ - const: batt-ov
+ - const: batt-low
+ - const: batt-missing
+ - const: batt-term-missing
+ - const: usbin-uv
+ - const: usbin-ov
+ - const: usbin-src-det
+ - const: otg-fail
+ - const: otg-oc
+ - const: aicl-done
+ - const: usbid-change
+ - const: dcin-uv
+ - const: dcin-ov
+ - const: power-ok
+ - const: temp-shutdown
+ - const: wdog-timeout
+ - const: flash-fail
+ - const: otst2
+ - const: otst3
+
+ otg-vbus:
+ type: object
+
+ description:
+ OTG regulator subnode.
+
+required:
+ - compatible
+ - reg
+ - monitored-battery
+ - interrupts
+ - interrupt-names
+ - otg-vbus
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ battery: battery {
+ compatible = "simple-battery";
+
+ charge-full-design-microamp-hours = <4070000>;
+ charge-term-current-microamp = <100000>;
+ voltage-min-design-microvolt = <3400000>;
+ voltage-max-design-microvolt = <4400000>;
+ };
+
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ charger@1000 {
+ compatible = "qcom,pmi8996-smbchg";
+ reg = <0x1000>;
+
+ interrupts = <0x2 0x10 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x6 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x7 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x12 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x7 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x4 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x13 0x5 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x13 0x6 IRQ_TYPE_EDGE_FALLING>,
+ <0x2 0x14 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x5 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "chg-error",
+ "chg-inhibit",
+ "chg-prechg-sft",
+ "chg-complete-chg-sft",
+ "chg-p2f-thr",
+ "chg-rechg-thr",
+ "chg-taper-thr",
+ "chg-tcc-thr",
+ "batt-hot",
+ "batt-warm",
+ "batt-cold",
+ "batt-cool",
+ "batt-ov",
+ "batt-low",
+ "batt-missing",
+ "batt-term-missing",
+ "usbin-uv",
+ "usbin-ov",
+ "usbin-src-det",
+ "otg-fail",
+ "otg-oc",
+ "aicl-done",
+ "usbid-change",
+ "dcin-uv",
+ "dcin-ov",
+ "power-ok",
+ "temp-shutdown",
+ "wdog-timeout",
+ "flash-fail",
+ "otst2",
+ "otst3";
+
+ monitored-battery = <&battery>;
+
+ otg-vbus { };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 3796fd700727..7e9f5893c0eb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16951,6 +16951,14 @@ F: Documentation/networking/device_drivers/cellular/qualcomm/rmnet.rst
F: drivers/net/ethernet/qualcomm/rmnet/
F: include/linux/if_rmnet.h
+QUALCOMM SMBCHG DRIVER
+M: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
+M: Alejandro Tafalla <atafalla@xxxxxxxxx>
+L: linux-pm@xxxxxxxxxxxxxxx
+L: linux-arm-msm@xxxxxxxxxxxxxxx
+S: Maintained
+F: Documentation/devicetree/bindings/power/supply/qcom,smbchg.yaml
+
QUALCOMM TSENS THERMAL DRIVER
M: Amit Kucheria <amitk@xxxxxxxxxx>
M: Thara Gopinath <thara.gopinath@xxxxxxxxx>
--
2.37.1