Rtwo/kernel/motorola/sm8550-devicetrees/bindings/power/supply/qcom/smb1398-charger.txt
2025-09-30 19:22:48 -05:00

117 lines
4.1 KiB
Text

Qualcomm Technologies, Inc. SMB1398 Charger Specific Bindings
SMB1398 combo charge chip can be working in different modes:
(1) DIV2 charge pump mode to work as a companion charger that can be paired
with Qualcomm Technologies, Inc. family of standalone chargers;
(2) DIV2 and 3-level buck combo mode to regulate output power from wireless
charger receiver and provide input power for downstream chargers.
=======================
Required Node Structure
=======================
SMB1398 Charger must be described in two levels of device nodes.
==================================
First Level Node - SMB1398 Charger
==================================
Charger specific properties:
- compatible
Usage: required
Value type: <string>
Definition: "qcom,smb1396-div2-cp-master" for SMB1396 working in DIV2
mode as a companion master charger.
"qcom,smb1396-div2-cp-slave" for SMB1396 working in DIV2
mode as a companion slave charger.
"qcom,smb1398-pre-regulator" for SMB1398 working in combo
mode (auto transition between DIV2 CP and 3-level buck) as a
pre-regulator stand between wireless receiver and downstream
chargers.
"qcom,smb1394-div2-cp-primary" for SMB1394 working in DIV2 mode as
a primary companion charger.
"qcom,smb1394-div2-cp-secondary" for SMB1394 working in DIV2 mode as
a secondary companion charger.
- interrupts
Usage: optional
Value type: <prop-encoded-array>
Definition: Peripheral interrupt specifier. This is required when SMB1396
working as a DIV2 CP master.
- interrupt-names
Usage: optional
Value type: <stringlist>
Definition: Interrupt names. This list must match up 1-to-1 with the
interrupts specified in the 'interrupts' property. This is
required when SMB1396 working as a DIV2 CP master.
- io-channels
Usage: optional
Value type: <phandle-array>
Definition: IIO channel specifiers for each name in io-channel-names.
For other details about IIO bindings see:
Documentation/devicetree/bindings/iio/iio-bindings.txt
These properties are required when SMB1396 working as a DIV2 CP
master.
- io-channel-names
Usage: optional
Value type: <string-array>
Definition: Names of the IIO channels that are used by CP master.
- qcom,div2-cp-min-ilim-ua
Usage: optional
Value type: <u32>
Definition: The minimum ILIM settings to enable SMB1398 working in DIV2 mode.
The switcher is disabled when ILIM is below this value.
If this values is not specified, the default minimum ILIM is 1A.
This is only applicable when SMB1396 working as a DIV2 CP master.
- qcom,max-cutoff-soc
Usage: optional
Value type: <u32>
Definition: SOC beyond which SMB1398 is kept disabled.
If this value is not specified then default value is 85%.
This is only applicable when SMB1396 working as a DIV2 CP master.
- qcom,ilim-ua-disable-slave
Usage: optional
Value type: <u32>
Definition: The minimum ILIM setting to disable slave CP after hitting taper.
If this value is not specified, the default value is 3 times of
"qcom,div2-cp-min-ilim-ua". This is only applicable when both
SMB1396 DIV2 CP master and slave are present.
Peripheral specific properties:
=======
Example
=======
smb1398_charger: qcom,combo_charger {
compatible = "qcom,smb1396-div2-cp-master";
interrupt-parent = <&smb1398>;
status = "disabled";
io-channels = <&smb1396_div2_cp_slave PSY_IIO_CURRENT_CAPABILITY>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_vadc ADC5_AMUX_THM2>;
io-channel-names = "current_capability",
"real_type",
"die_temp";
interrupts = <0x26 0x1 IRQ_TYPE_EDGE_RISING>,
<0x26 0x3 IRQ_TYPE_EDGE_RISING>,
<0x26 0x5 IRQ_TYPE_EDGE_RISING>,
<0x26 0x7 IRQ_TYPE_EDGE_RISING>,
<0x27 0x5 IRQ_TYPE_EDGE_RISING>,
<0x27 0x6 IRQ_TYPE_EDGE_RISING>,
<0x27 0x7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "temp-shdwn",
"div2-irev",
"usbin-uv",
"usbin-ov",
"div2-ilim",
"div2-win-uv",
"div2-win-ov";
};