117 lines
4.1 KiB
Text
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";
|
|
};
|