|
| 1 | +Qualcomm Technologies, Inc. SMB1398 Charger Specific Bindings |
| 2 | + |
| 3 | +SMB1398 combo charge chip can be working in different modes: |
| 4 | +(1) DIV2 charge pump mode to work as a companion charger that can be paired |
| 5 | + with Qualcomm Technologies, Inc. family of standalone chargers; |
| 6 | +(2) DIV2 and 3-level buck combo mode to regulate output power from wireless |
| 7 | + charger receiver and provide input power for downstream chargers. |
| 8 | + |
| 9 | +======================= |
| 10 | +Required Node Structure |
| 11 | +======================= |
| 12 | + |
| 13 | +SMB1398 Charger must be described in two levels of device nodes. |
| 14 | + |
| 15 | +================================== |
| 16 | +First Level Node - SMB1398 Charger |
| 17 | +================================== |
| 18 | + |
| 19 | +Charger specific properties: |
| 20 | +- compatible |
| 21 | + Usage: required |
| 22 | + Value type: <string> |
| 23 | + Definition: "qcom,smb1396-div2-cp-master" for SMB1396 working in DIV2 |
| 24 | + mode as a companion master charger. |
| 25 | + "qcom,smb1396-div2-cp-slave" for SMB1396 working in DIV2 |
| 26 | + mode as a companion slave charger. |
| 27 | + "qcom,smb1398-pre-regulator" for SMB1398 working in combo |
| 28 | + mode (auto transition between DIV2 CP and 3-level buck) as a |
| 29 | + pre-regulator stand between wireless receiver and downstream |
| 30 | + chargers. |
| 31 | + |
| 32 | +- interrupts |
| 33 | + Usage: optional |
| 34 | + Value type: <prop-encoded-array> |
| 35 | + Definition: Peripheral interrupt specifier. This is required when SMB1396 |
| 36 | + working as a DIV2 CP master. |
| 37 | + |
| 38 | +- interrupt-names |
| 39 | + Usage: optional |
| 40 | + Value type: <stringlist> |
| 41 | + Definition: Interrupt names. This list must match up 1-to-1 with the |
| 42 | + interrupts specified in the 'interrupts' property. This is |
| 43 | + required when SMB1396 working as a DIV2 CP master. |
| 44 | + |
| 45 | +- io-channels |
| 46 | +- io-channel-names |
| 47 | + Usage: optional |
| 48 | + Value type: <phandle> |
| 49 | + Definition: The IIO channel for measuring SMB1398 die temperature, |
| 50 | + io-channel-names should be "die-temp". For other details about |
| 51 | + IIO bindings see: |
| 52 | + Documentation/devicetree/bindings/iio/iio-bindings.txt |
| 53 | + These properties are required when SMB1396 working as a DIV2 CP |
| 54 | + master. |
| 55 | + |
| 56 | +- qcom,div2-cp-min-ilim-ua |
| 57 | + Usage: optional |
| 58 | + Value type: <u32> |
| 59 | + Definition: The minimum ILIM settings to enable SMB1398 working in DIV2 mode. |
| 60 | + The switcher is disabled when ILIM is below this value. |
| 61 | + If this values is not specified, the default minimum ILIM is 1A. |
| 62 | + This is only applicable when SMB1396 working as a DIV2 CP master. |
| 63 | + |
| 64 | +- qcom,max-cutoff-soc |
| 65 | + Usage: optional |
| 66 | + Value type: <u32> |
| 67 | + Definition: SOC beyond which SMB1398 is kept disabled. |
| 68 | + If this value is not specified then default value is 85%. |
| 69 | + This is only applicable when SMB1396 working as a DIV2 CP master. |
| 70 | + |
| 71 | +- qcom,ilim-ua-disable-slave |
| 72 | + Usage: optional |
| 73 | + Value type: <u32> |
| 74 | + Definition: The minimum ILIM setting to disable slave CP after hitting taper. |
| 75 | + If this value is not specified, the default value is 3 times of |
| 76 | + "qcom,div2-cp-min-ilim-ua". This is only applicable when both |
| 77 | + SMB1396 DIV2 CP master and slave are present. |
| 78 | + |
| 79 | +Peripheral specific properties: |
| 80 | +======= |
| 81 | +Example |
| 82 | +======= |
| 83 | + |
| 84 | +smb1398_charger: qcom,combo_charger { |
| 85 | + compatible = "qcom,smb1396-div2-cp-master"; |
| 86 | + interrupt-parent = <&smb1398>; |
| 87 | + status = "disabled"; |
| 88 | + |
| 89 | + io-channels = <&pm8150b_vadc ADC_AMUX_THM2>; |
| 90 | + io-channel-names = "die_temp"; |
| 91 | + |
| 92 | + interrupts = <0x26 0x1 IRQ_TYPE_EDGE_RISING>, |
| 93 | + <0x26 0x3 IRQ_TYPE_EDGE_RISING>, |
| 94 | + <0x26 0x5 IRQ_TYPE_EDGE_RISING>, |
| 95 | + <0x26 0x7 IRQ_TYPE_EDGE_RISING>, |
| 96 | + <0x27 0x5 IRQ_TYPE_EDGE_RISING>, |
| 97 | + <0x27 0x6 IRQ_TYPE_EDGE_RISING>, |
| 98 | + <0x27 0x7 IRQ_TYPE_EDGE_RISING>; |
| 99 | + interrupt-names = "temp-shdwn", |
| 100 | + "div2-irev", |
| 101 | + "usbin-uv", |
| 102 | + "usbin-ov", |
| 103 | + "div2-ilim", |
| 104 | + "div2-win-uv", |
| 105 | + "div2-win-ov"; |
| 106 | +}; |
0 commit comments