From 7168a26e207379c193ceab1c1238d39cc9b288af Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:28:16 +0530 Subject: [PATCH 1/6] dt-bindings: leds: snapshot of DT binding for leds-aw2016 device Add DT binding documentation for leds-aw2016 device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: I0da87973623ec671e41202141eb9e9e0de7214a8 --- NOTICE | 40 ++++++++++ bindings/leds/leds-aw2016.txt | 136 ++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 NOTICE create mode 100644 bindings/leds/leds-aw2016.txt diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..43a9c2f1 --- /dev/null +++ b/NOTICE @@ -0,0 +1,40 @@ +This NOTICE file contains certain notices of software components included +with the software that Qualcomm Technologies, Inc. ("Qualcomm Technologies") is required to +provide you. Notwithstanding anything in the notices in this file, your use +of these software components together with the Qualcomm Technologies software (Qualcomm Technologies +software hereinafter referred to as "Software") is subject to the terms of +your license from Qualcomm Technologies. Compliance with all copyright laws and software +license agreements included in the notice section of this file are the +responsibility of the user. Except as may be granted by separate express +written agreement, this file provides no license to any patents, +trademarks, copyrights, or other intellectual property. + +Copyright (c) 2022 Qualcomm Technologies, Inc. All rights reserved. +Qualcomm is a registered trademark and registered service mark of +QUALCOMM Incorporated. All other trademarks and service marks are the +property of their respective owners. +________________________________________ +NOTICES +________________________________________ +/* + * Copyright (C) 2008 Shanghai awinic technology co.,ltd. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS + * IN THE SOFTWARE. + */ diff --git a/bindings/leds/leds-aw2016.txt b/bindings/leds/leds-aw2016.txt new file mode 100644 index 00000000..de2c921c --- /dev/null +++ b/bindings/leds/leds-aw2016.txt @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2008 Shanghai awinic technology co.,ltd. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS + * IN THE SOFTWARE. + */ + +Awinic. AW2016 LED + +AW2016 LED device supports 3 LED channels and the driver +register each channel as a single LED class device and +exports interfaces to update brightness, set timer trigger +and enable HW based blink functionalities. + +- compatible + Usage: required + Value type: + Definition: Must be "awinic,aw2016_led" + +- reg + Usage: required + Value type: + Definition: The 7-bit I2C address for AW2016 chip. + +Properties for child properties: +- awinic,name + Usage: required + Value type: + Definition: Name of the LED which will be register as the LED class + device name. + +- awinic,id + Usage: required + Value type: + Definition: It represents the LED hardware channel index. The valid + values are: 0, 1, 2. + +- awinic,imax + Usage: required + Value type: + Definition: The setting of the maximum current for the given LED channel, + the valid values are: 0, 1, 2, 3, and the corresponding current + setting are: 15mA, 30mA, 5mA, 10mA. + +- awinic,led-current + Usage: required + Value type: + Definition: The setting of the current when the LED channel is enabled. + +- awinic,max-brightness + Usage: required + Value type: + Definition: The maximum brightness value for the LED class device. + +- awinic,rise-time-ms + Usage: required + Value type + Definition: The duration of the led ramping from 0 to maximum brightness + when breath function is enabled. + +- awinic,hold-time-ms + Usage: required + Value type: + Definition: The duration of the led staying at the maximum brightness + when breath function is enabled. + +- awinic,fall-time-ms + Usage: required + Value type: + Definition: The duration of the led ramping down from maximum brightness + to 0 when breath function is enabled. + +- awinic,off-time-ms + Usage: required + Value type: + Definition: The duration of the led staying at 0 brightness when breath + function is enabled. + +Example: + awinic@64 { + compatible = "awinic,aw2016_led"; + reg = <0x64>; + + awinic,red { + awinic,name = "red"; + awinic,id = <0>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,green { + awinic,name = "green"; + awinic,id = <1>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,blue { + awinic,name = "blue"; + awinic,id = <2>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + }; + From 68d9159cbd87d5210136d5c4f6040baf8dd41ed6 Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:30:30 +0530 Subject: [PATCH 2/6] dt-bindings: leds: Snapshot of DT binding for leds-qpnp-vibrator-ldo device Add DT binding documentation for leds-qpnp-vibrator-ldo device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: Ia827f3341d091f82b22942521082648c7e9c7af6 --- bindings/leds/leds-qpnp-vibrator-ldo.txt | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bindings/leds/leds-qpnp-vibrator-ldo.txt diff --git a/bindings/leds/leds-qpnp-vibrator-ldo.txt b/bindings/leds/leds-qpnp-vibrator-ldo.txt new file mode 100644 index 00000000..2865019b --- /dev/null +++ b/bindings/leds/leds-qpnp-vibrator-ldo.txt @@ -0,0 +1,50 @@ +Qualcomm Technologies, Inc. Vibrator-LDO + +QPNP (Qualcomm Technologies, Inc. Plug N Play) Vibrator-LDO is a peripheral +on some QTI PMICs. It can be interfaced with the host processor via SPMI. + +Vibrator-LDO peripheral supports Eccentric Rotation Mass (ERM) vibrator. + +Properties: + +- compatible + Usage: required + Value type: + Definition: "qcom,qpnp-vibrator-ldo". + +- reg + Usage: required + Value type: + Definition: Base address of vibrator-ldo peripheral. + +- qcom,vib-ldo-volt-uv + Usage: required + Value type: + Definition: The optimal voltage requirement of the vibrator motor for + a normal vibration. Value is specified in microvolts. + +- qcom,disable-overdrive + Usage: optional + Value type: + Definition: Do not apply overdrive voltage. + +- qcom,vib-overdrive-volt-uv + Usage: optional and not required if qcom,disable-overdrive present + Value type: + Definition: The voltage in microvolts used as overdrive factor for + improving motor reactivity at the start of vibration. + If this property not specified, a default value of + 2 times the value specified in qcom,vib-ldo-volt-uv + property is used. + +======= +Example +======= + +pmi632_vib: qcom,vibrator@5700 { + compatible = "qcom,qpnp-vibrator-ldo"; + reg = <0x5700 0x100>; + qcom,vib-ldo-volt-uv = <1504000>; + qcom,disable-overdrive; + qcom,vib-overdrive-volt-uv = <3544000>; +}; From d9cbaf8e51cab05fbd1fba8d8330ed8eaabea3db Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:32:29 +0530 Subject: [PATCH 3/6] dt-bindings: qpnp-smb5: Snapshot of dt-bindings for qpnp-smb5 device Add DT binding documentation for qpnp-smb5 charger device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: I90e28e4a684909f3cb76dd8a1198c462e1e9e0a0 --- bindings/power/supply/qcom/qpnp-smb5.txt | 579 +++++++++++++++++++++++ 1 file changed, 579 insertions(+) create mode 100644 bindings/power/supply/qcom/qpnp-smb5.txt diff --git a/bindings/power/supply/qcom/qpnp-smb5.txt b/bindings/power/supply/qcom/qpnp-smb5.txt new file mode 100644 index 00000000..2ac6f198 --- /dev/null +++ b/bindings/power/supply/qcom/qpnp-smb5.txt @@ -0,0 +1,579 @@ +Qualcomm Technologies, Inc. SMB5 Charger Specific Bindings + +SMB5 Charger is an efficient programmable battery charger capable of charging a +high-capacity lithium-ion battery over micro-USB or USB Type-C ultrafast with +Quick Charge 2.0, Quick Charge 3.0, and USB Power Delivery support. Wireless +charging features full A4WP Rezence 1.2, WPC 1.2, and PMA support. + +======================= +Required Node Structure +======================= + +SMB5 Charger must be described in two levels of devices nodes. + +=============================== +First Level Node - SMB5 Charger +=============================== + +Charger specific properties: +- compatible + Usage: required + Value type: + Definition: "qcom,pm8150-smb5" for SMB5 on PM8150. + "qcom,pm7250b-smb5" for SMB5 on PM7250B. + "qcom,pm6150-smb5" for SMB5 on PM6150. + "qcom,pmi632-smb5" for SMB5 on PMI632. + +- #io-channel-cells: + Usage: required + Value type: + Definition: Number of cells in an IIO specifier. + Needed to indicate other clients can query charger for + IIO channels. + For details about IIO bindings see: + Documentation/devicetree/bindings/iio/iio-bindings.txt + +- qcom,sec-charger-config + Usage: optional + Value type: + Definition: Specify how the secondary chargers are configured. + 0 - No secondary charger. + 1 - Charge Pump SMB1390. + 2 - SMB1355 parallel charger. + 3 - Both Charge Pump and SMB1355. + If the value is not present, 0 is used as default. + +- io-channels +- io-channel-names + Usage: optional + Value type: + Definition: For details about IIO bindings see: + Documentation/devicetree/bindings/iio/iio-bindings.txt + +- qcom,batteryless-platform + Usage: optional + Value type: + Definition: Boolean flag which indicates that the platform does not have a + battery, and therefore charging should be disabled. In + addition battery properties will be faked such that the device + assumes normal operation. + +- qcom,charger-temp-max + Usage: optional + Value type: + Definition: Specifies the charger temp REG_H_THRESHOLD for PM8150B in deciDegC. + If the value is not present, use the setting read from the device. + +- qcom,smb-temp-max + Usage: optional + Value type: + Definition: Specifies the charger temp REG_H_THRESHOLD for SMB1355 in deciDegC. + If the value is not present, use the setting read from the device. + +- qcom,fcc-max-ua + Usage: optional + Value type: + Definition: Specifies the maximum fast charge current in micro-amps. + If the value is not present, 1Amp is used as default. + +- qcom,fv-max-uv + Usage: optional + Value type: + Definition: Specifies the maximum float voltage in micro-volts. + If the value is not present, 4.35V is used as default. + +- qcom,usb-icl-ua + Usage: optional + Value type: + Definition: Specifies the USB input current limit in micro-amps. + If the value is not present, 1.5Amps is used as default. + +- qcom,usb-ocl-ua + Usage: optional + Value type: + Definition: Specifies the OTG output current limit in micro-amps. + If the value is not present, 1.5Amps is used as default. + +- qcom,dc-icl-ua + Usage: optional + Value type: + Definition: Specifies the DC input current limit in micro-amps. + +- qcom,boost-threshold-ua + Usage: optional + Value type: + Definition: Specifies the boost current threshold in micro-amps. + If the value is not present, 100mA is used as default. + +- qcom,thermal-mitigation + Usage: optional + Value type: Array of + Definition: Array of fast charge current limit values for + different system thermal mitigation levels. + This should be a flat array that denotes the + maximum charge current in mA for each thermal + level. + +- qcom,float-option + Usage: optional + Value type: + Definition: Configures how the charger behaves when a float charger is + detected by APSD. + 1 - Treat as a DCP. + 2 - Treat as a SDP. + 3 - Disable charging. + 4 - Suspend USB input. + +- qcom,hvdcp-disable + Usage: optional + Value type: + Definition: Specifies if hvdcp charging is to be enabled or not. + If this property is not specified hvdcp will be enabled. + If this property is specified, hvdcp 2.0 detection will still + happen but the adapter won't be asked to switch to a higher + voltage point. + +- qcom,chg-inhibit-threshold-mv + Usage: optional + Value type: + Definition: Charge inhibit threshold in milli-volts. Charging will be + inhibited when the battery voltage is within this threshold + from Vfloat at charger insertion. If this is not specified + then charge inhibit will be disabled by default. + Allowed values are: 50, 100, 200, 300. + +- qcom,chg-term-src + Usage: optional + Value type: + Definition: Specify either the ADC or analog comparators to be used in order + to set threshold values for charge termination current. + 0 - Unspecified + 1 - Select ADC comparator + 2 - Select ANALOG comparator + +- qcom,chg-term-current-ma + Usage: optional + Value type: + Definition: When ADC comparator is selected as qcom,chg-term-src, this + parameter should be set to the desired upper threshold. + +- qcom,chg-term-base-current-ma + Usage: optional + Value type: + Definition: When ADC comparator is selected as qcom,chg-term-src, this + parameter should be set to the desired lower threshold. + +- qcom,auto-recharge-soc + Usage: optional + Value type: + Definition: Specifies the SOC threshold at which the charger will + restart charging after termination. The value specified + ranges from 0 - 100. The feature is enabled if this + property is specified with a valid SOC value. + +- qcom,auto-recharge-vbat-mv + Usage: optional + Value type: + Definition: Specifies the battery voltage threshold at which the charger + will restart charging after termination. The value specified + is in milli-volts. + +- qcom,suspend-input-on-debug-batt + Usage: optional + Value type: + Definition: Boolean flag which when present enables input suspend for + debug battery. + +- qcom,fake-chg-status-on-debug-batt + Usage: optional + Value type: + Definition: Boolean flag which when present shows charging status as + unknown for debug battery. This needs to be specified only if + the device needs to be kept powered on always with + "svc power stayon true". + +- qcom,min-freq-khz + Usage: optional + Value type: + Definition: Specifies the minimum charger buck/boost switching frequency + in KHz. It overrides the min frequency defined for the charger. + +- qcom,max-freq-khz + Usage: optional + Value type: + Definition: Specifies the maximum charger buck/boost switching frequency in + KHz. It overrides the max frequency defined for the charger. + +- qcom,otg-deglitch-time-ms + Usage: optional + Value type: + Definition: Specifies the deglitch interval for OTG detection. + If the value is not present, 50 msec is used as default. + +- qcom,step-charging-enable + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables step-charging. + +- qcom,typec-legacy-rp-icl + Usage: optional + Value type: bool + Definition: Boolean property to enable setting ICL based on Rp for + Type-C non-compliant legacy cables. + +- qcom,wd-bark-time-secs + Usage: optional + Value type: + Definition: WD bark-timeout in seconds. The possible values are + 16, 32, 64, 128. If not defined it defaults to 64. + +- qcom,sw-jeita-enable + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables sw compensation for + jeita. + +- qcom,battery-data + Usage: optional + Value type: + Definition: Specifies the phandle of the node which contains the battery + profiles supported on the device. + +- qcom,flash-derating-soc + Usage: optional + Value type: + Definition: SOC threshold in percentage below which hardware will start + derating flash. This is only applicable to certain PMICs like + PMI632 which has SCHGM_FLASH peripheral. + +- qcom,flash-disable-soc + Usage: optional + Value type: + Definition: SOC threshold in percentage below which hardware will disable + flash. This is only applicable to certain PMICs like PMI632 + which has SCHGM_FLASH peripheral. + +- qcom,headroom-mode + Usage: optional + Value type: + Definition: Specifies flash hardware headroom management policy. The + possible values are: + <0>: Fixed mode, constant 5V at flash input. + <1>: Adaptive mode allows charger output voltage to be + dynamically controlled by the flash module based on the + required flash headroom. + This is only applicable to certain PMICs like PMI632 which + has SCHGM_FLASH peripheral. + +- qcom,fcc-stepping-enable + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables stepwise change in FCC. + The default stepping rate is 100mA/sec. + +- qcom,disable-suspend-on-collapse + Usage: optional + Value type: bool + Definition: Boolean flag which when present disables suspend on collapse + feature of charger hardware. + +- qcom,uusb-moisture-protection-enable + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables mositure protection + feature for uUSB connector type. + +- qcom,hvdcp-autonomous-enable + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables hardware-controlled + operation of HVDCP. + +- qcom,usb-pd-disable + Usage: optional + Value type: bool + Definition: Boolean flag which when present disables USB-PD operation. + +- qcom,lpd-disable + Usage: optional + Value type: bool + Definition: Boolean flag which when present disables liquid presence + detection. + +- qcom,hw-die-temp-mitigation + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables h/w based thermal + mitigation. + +- qcom,hw-connector-mitigation + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables h/w based + connector temperature mitigation. + +- qcom,hw-skin-temp-mitigation + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables h/w based skin + temperature mitigation. + +- qcom,en-skin-therm-mitigation + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables skin + thermal mitigation. + +- qcom,connector-internal-pull-kohm + Usage: optional + Value type: + Definition: Specifies internal pull-up configuration to be applied to + connector THERM. The only valid values are (0/30/100/400). + If not specified 100K is used as default pull-up. + +- qcom,smb-internal-pull-kohm + Usage: optional + Value type: + Definition: Specifies internal pull-up configuration to be applied to + connector THERM, only valid values are (0/30/100/400). + If not specified 100K is used as default pull-up. + +- qcom,wd-snarl-time-config + Usage: optional + Value type: + Definition: WDOG snarl timeout configuration value. The possible values are + 0 to 7, where 0 = 62.5ms, 1 = 125ms, 2 = 250ms, 3 = 500ms, + 4 = 1s, 5 = 2s, 6 = 4s and 7 = 8s. If not defined, wdog-snarl + irq is disabled by default. + +- qcom,adc-based-aicl + Usage: optional + Value type: bool + Definition: Boolean flag which when present enables ADC based AICL. + +- qcom,wls-current-max-ua + Usage: optional + Value type: + Definition: Upper limit of charging current supplied by the wireless charger. + If left unspecified, the HW min value of 1.5 A is applied by + default. + +- qcom,fcc-step-delay-ms + Usage: optional + Value type: + Definition: Specifies the delay between each step of FCC stepper algorithm. + If left unspecified, the default value is 1 Sec. + +- qcom,fcc-step-size-ua + Usage: optional + Value type: + Definition: Specifies the step size of each step of FCC stepper algorithm. + If left unspecified, the default value is 100mA. + +- qcom,hvdcp2-max-icl-ua + Usage: optional + Value type: + Definition: Specifies the maximum input current limit that can be configured + for HVDCP2 adapter. + If left unspecified, the default value is 3000mA. + +- qcom,hvdcp3-max-icl-ua + Usage: optional + Value type: + Definition: Specifies the maximum input current limit that can be configured + for HVDCP3 adapter. + If left unspecified, the default value is 3000mA. + +- qcom,hvdcp3-standalone-config + Usage: optional + Value type: bool + Definition: Boolean flag which when present indicates that the charging is + only done by the main charger (standalone, no CP) with a QC 3.0 + adapter. + +- qcom,disable-fcc-restriction + Usage: optional + Value type: bool + Definition: Boolean flag which when present disables FCC restriction. + +- qcom,jeita-arb-enable + Usage: optional + Value type: bool + Definition: Boolean flag which indicates if JETIA ARB handling when + Vjeita > Vbatt is enabled. + +============================================= +Second Level Nodes - SMB5 Charger Peripherals +============================================= + +Peripheral specific properties: +- reg + Usage: required + Value type: + Definition: Address and size of the peripheral's register block. + +- interrupts + Usage: required + Value type: + Definition: Peripheral interrupt specifier. + +- interrupt-names + Usage: required + Value type: + Definition: Interrupt names. This list must match up 1-to-1 with the + interrupts specified in the 'interrupts' property. + +======= +Example +======= + +pm8150b_charger: qcom,qpnp-smb5 { + compatible = "qcom,qpnp-smb5"; + #address-cells = <1>; + #size-cells = <1>; + #io-channel-cells = <1>; + + dpdm-supply = <&qusb_phy0>; + + qcom,sec-charger-config = <1>; + + io-channels = <&pm8150b_vadc ADC_USB_IN_V_16>, + <&pm8150b_vadc ADC_USB_IN_I>, + <&pm8150b_vadc ADC_CHG_TEMP>, + <&pm7250b_qg PSY_IIO_RESISTANCE_ID>, + <&pm7250b_qg PSY_IIO_CHARGE_COUNTER>, + <&pm7250b_qg PSY_IIO_CHARGE_FULL>; + io-channel-names = "usb_in_voltage", + "usb_in_current", + "chg_temp", + "resistance_id", + "charge_counter", + "charge_full"; + + qcom,chgr@1000 { + reg = <0x1000 0x100>; + interrupts = <0x2 0x10 0x0 IRQ_TYPE_NONE>, + <0x2 0x10 0x1 IRQ_TYPE_NONE>, + <0x2 0x10 0x2 IRQ_TYPE_NONE>, + <0x2 0x10 0x3 IRQ_TYPE_NONE>, + <0x2 0x10 0x4 IRQ_TYPE_NONE>; + + interrupt-names = "chg-error", + "chg-state-change", + "step-chg-state-change", + "step-chg-soc-update-fail", + "step-chg-soc-update-request"; + }; + + qcom,otg@1100 { + reg = <0x1100 0x100>; + interrupts = <0x2 0x11 0x0 IRQ_TYPE_NONE>, + <0x2 0x11 0x1 IRQ_TYPE_NONE>, + <0x2 0x11 0x2 IRQ_TYPE_NONE>, + <0x2 0x11 0x3 IRQ_TYPE_NONE>; + + interrupt-names = "otg-fail", + "otg-overcurrent", + "otg-oc-dis-sw-sts", + "testmode-change-detect"; + }; + + qcom,bat-if@1200 { + reg = <0x1200 0x100>; + interrupts = <0x2 0x12 0x0 IRQ_TYPE_NONE>, + <0x2 0x12 0x1 IRQ_TYPE_NONE>, + <0x2 0x12 0x2 IRQ_TYPE_NONE>, + <0x2 0x12 0x3 IRQ_TYPE_NONE>, + <0x2 0x12 0x4 IRQ_TYPE_NONE>, + <0x2 0x12 0x5 IRQ_TYPE_NONE>; + + interrupt-names = "bat-temp", + "bat-ocp", + "bat-ov", + "bat-low", + "bat-therm-or-id-missing", + "bat-terminal-missing"; + }; + + qcom,usb-chgpth@1300 { + reg = <0x1300 0x100>; + interrupts = <0x2 0x13 0x0 IRQ_TYPE_NONE>, + <0x2 0x13 0x1 IRQ_TYPE_NONE>, + <0x2 0x13 0x2 IRQ_TYPE_NONE>, + <0x2 0x13 0x3 IRQ_TYPE_NONE>, + <0x2 0x13 0x4 IRQ_TYPE_NONE>, + <0x2 0x13 0x5 IRQ_TYPE_NONE>, + <0x2 0x13 0x6 IRQ_TYPE_NONE>, + <0x2 0x13 0x7 IRQ_TYPE_NONE>; + + interrupt-names = "usbin-collapse", + "usbin-lt-3p6v", + "usbin-uv", + "usbin-ov", + "usbin-plugin", + "usbin-src-change", + "usbin-icl-change", + "type-c-change"; + }; + + qcom,dc-chgpth@1400 { + reg = <0x1400 0x100>; + interrupts = <0x2 0x14 0x0 IRQ_TYPE_NONE>, + <0x2 0x14 0x1 IRQ_TYPE_NONE>, + <0x2 0x14 0x2 IRQ_TYPE_NONE>, + <0x2 0x14 0x3 IRQ_TYPE_NONE>, + <0x2 0x14 0x4 IRQ_TYPE_NONE>, + <0x2 0x14 0x5 IRQ_TYPE_NONE>, + <0x2 0x14 0x6 IRQ_TYPE_NONE>; + + interrupt-names = "dcin-collapse", + "dcin-lt-3p6v", + "dcin-uv", + "dcin-ov", + "dcin-plugin", + "div2-en-dg", + "dcin-icl-change"; + }; + + qcom,chgr-misc@1600 { + reg = <0x1600 0x100>; + interrupts = <0x2 0x16 0x0 IRQ_TYPE_NONE>, + <0x2 0x16 0x1 IRQ_TYPE_NONE>, + <0x2 0x16 0x2 IRQ_TYPE_NONE>, + <0x2 0x16 0x3 IRQ_TYPE_NONE>, + <0x2 0x16 0x4 IRQ_TYPE_NONE>, + <0x2 0x16 0x5 IRQ_TYPE_NONE>, + <0x2 0x16 0x6 IRQ_TYPE_NONE>, + <0x2 0x16 0x7 IRQ_TYPE_NONE>; + + interrupt-names = "wdog-snarl", + "wdog-bark", + "aicl-fail", + "aicl-done", + "high-duty-cycle", + "input-current-limiting", + "temperature-change", + "switcher-power-ok"; + }; + + qcom,schgm-flash@a600 { + reg = <0xa600 0x100>; + interrupts = <0x2 0xa6 0x0 IRQ_TYPE_NONE>, + <0x2 0xa6 0x1 IRQ_TYPE_NONE>, + <0x2 0xa6 0x2 IRQ_TYPE_NONE>, + <0x2 0xa6 0x3 IRQ_TYPE_NONE>, + <0x2 0xa6 0x4 IRQ_TYPE_NONE>, + <0x2 0xa6 0x5 IRQ_TYPE_NONE>, + <0x2 0xa6 0x6 IRQ_TYPE_NONE>, + <0x2 0xa6 0x7 IRQ_TYPE_NONE>; + + interrupt-names = "flash-en", + "torch-req", + "flash-state-change", + "vout-up", + "vout-down", + "ilim1-s1", + "ilim2-s2", + "vreg-ok"; + }; +}; From c69616089a1666572a962d5ed212736f46b68573 Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:38:33 +0530 Subject: [PATCH 4/6] dt-bindings: qpnp-qg: Snapshot of DT binding for qpnp-qg device Add DT binding documentation for qpnp-qg Qguage device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: I7406953f2f0b4bfe27bc4f54b04739a18d9ca9ab --- bindings/power/supply/qcom/qpnp-qg.txt | 517 +++++++++++++++++++++++++ 1 file changed, 517 insertions(+) create mode 100644 bindings/power/supply/qcom/qpnp-qg.txt diff --git a/bindings/power/supply/qcom/qpnp-qg.txt b/bindings/power/supply/qcom/qpnp-qg.txt new file mode 100644 index 00000000..0466114b --- /dev/null +++ b/bindings/power/supply/qcom/qpnp-qg.txt @@ -0,0 +1,517 @@ +Qualcomm Technologies, Inc. QPNP PMIC QGAUGE (QG) Device + +QPNP PMIC QGAUGE device provides the ability to gauge the State-of-Charge +of the battery. It provides an interface to the clients to read various +battery related parameters. + +======================= +Required Node Structure +======================= + +Qgauge device must be described in two level of nodes. The first level +describes the properties of the Qgauge device and the second level +describes the peripherals managed/used of the module. + +==================================== +First Level Node - QGAUGE device +==================================== + +- compatible + Usage: required + Value type: + Definition: Should be "qcom,qpnp-qg-lite" for PM2250. + Should be "qcom,pm6150-qg" for PM6150. + Should be "qcom,pmi632-qg" for PMI632. + Should be "qcom,pm7250b-qg" for PM7250B. + +- io-channels + Usage: required + Value type: + Definition: IIO channel specifiers for each name in io-channel-names. + +- io-channel-names + Usage: required + Value type: + Definition: Names of the IIO channels that are used by QG device. + +- qcom,qg-vadc + Usage: required + Value type: + Definition: Phandle for the VADC node, it is used for BATT_ID and + BATT_THERM readings. + +- qcom,vbatt-empty-mv + Usage: optional + Value type: + Definition: The battery voltage threshold (in mV) at which the + vbatt-empty interrupt fires. The SOC is forced to 0 + when this interrupt fires. If not specified, the + default value is 3200 mV. + +- qcom,vbatt-empty-cold-mv + Usage: optional + Value type: + Definition: The battery voltage threshold (in mV) at which the + vbatt-empty interrupt fires. This threshold is only + applied at cold temperature specified by + 'qcom,cold-temp-threshold'. The SOC is forced to 0 + when this interrupt fires. If not specified, the + default value is 3000 mV. + +- qcom,vbatt-cutoff-mv + Usage: optional + Value type: + Definition: The battery voltage threshold (in mV) at which the + the Qgauge algorithm converges to 0 SOC. If not specified + the default value is 3400 mV. + +- qcom,vbatt-low-mv + Usage: optional + Value type: + Definition: The battery voltage threshold (in mV) at which the + the VBAT_LOW interrupt fires. Software can take necessary + the action when this interrupt fires. If not specified + the default value is 3500 mV. + +- qcom,vbatt-low-cold-mv + Usage: optional + Value type: + Definition: The battery voltage threshold (in mV) at which the + the VBAT_LOW interrupt fires. The threshold is only + applied at cold temperature specified by + 'qcom,cold-temp-threshold'. Software can take necessary + the action when this interrupt fires. If not specified + the default value is 3800 mV. + +- qcom,qg-iterm-ma + Usage: optional + Value type: + Definition: The battery current (in mA) at which the QG algorithm + converges the SOC to 100% during charging and can be used to + terminate charging. If not specified, the default value is + 100mA. + +- qcom,delta-soc + Usage: optional + Value type: + Definition: The SOC percentage increase at which the SOC is + periodically reported to the userspace. If not specified, + the value defaults to 1%. + +- qcom,s2-fifo-length + Usage: optional + Value type: + Definition: The total number if FIFO samples which need to be filled up + in S2 state of QG to fire the FIFO DONE interrupt. + Minimum value = 1 Maximum Value = 8. If not specified, + the default value is 5. + +- qcom,s2-acc-length + Usage: optional + Value type: + Definition: The number of distinct V & I samples to be accumulated + in each FIFO in the S2 state of QG. + Minimum Value = 0 Maximum Value = 256. If not specified, + the default value is 128. + +- qcom,s2-acc-interval-ms + Usage: optional + Value type: + Definition: The time (in ms) between each of the V & I samples being + accumulated in FIFO. + Minimum Value = 0 ms Maximum Value = 2550 ms. If not + specified the default value is 100 ms. + +- qcom,ocv-timer-expiry-min + Usage: optional + Value type: + Definition: The maximum time (in minutes) for the QG to transition from + S3 to S2 state. + Minimum Value = 2 min Maximum Value = 30 min. If not + specified the hardware default is set to 14 min. + +- qcom,ocv-tol-threshold-uv + Usage: optional + Value type: + Definition: The OCV detection error tolerance (in uV). The maximum + voltage allowed between 2 VBATT readings in the S3 state + to qualify for a valid OCV. + Minimum Value = 0 uV Maximum Value = 12262 uV Step = 195 uV + +- qcom,s3-entry-fifo-length + Usage: optional + Value type: + Definition: The minimum number if FIFO samples which have to qualify the + S3 IBAT entry threshold (qcom,s3-entry-ibat-ua) for QG + to enter into S3 state. + Minimum Value = 1 Maximum Value = 8. The hardware default + is configured to 3. + +- qcom,s3-entry-ibat-ua + Usage: optional + Value type: + Definition: The battery current (in uA) for the QG to enter into the S3 + state. The QG algorithm enters into S3 if the battery + current is lower than this threshold consecutive for + the FIFO length specified in 'qcom,s3-entry-fifo-length'. + Minimum Value = 0 uA Maximum Value = 155550 uA + Step = 610 uA. + +- qcom,s3-exit-ibat-ua + Usage: optional + Value type: + Definition: The battery current (in uA) for the QG to exit S3 state. + If the battery current is higher than this threshold QG + exists S3 state. + Minimum Value = 0 uA Maximum Value = 155550 uA + Step = 610 uA. + +- qcom,rbat-conn-mohm + Usage: optional + Value type: + Definition: Resistance of the battery connectors in mOhms. + +- qcom,ignore-shutdown-soc-secs + Usage: optional + Value type: + Definition: Time in seconds beyond which shutdown SOC is ignored. + If not specified the default value is 360 secs. + +- qcom,hold-soc-while-full + Usage: optional + Value type: + Definition: A boolean property that when defined holds SOC at 100% when + the battery is full until recharge starts. + +- qcom,linearize-soc + Usage: optional + Value type: + Definition: A boolean property that when defined linearizes SOC when + the SOC drops after charge termination monotonically to + improve the user experience. This is applicable only if + "qcom,hold-soc-while-full" is specified. + +- qcom,cold-temp-threshold + Usage: optional + Value type: + Definition: Temperature threshold in decidegree at which the low + temperature specific configuration as applied. If not + specified, the default value is 0 degree centigrade. + +- qcom,cl-disable + Usage: optional + Value type: + Definition: A boolean property to disable the battery capacity + learning when charging. + +- qcom,cl-feedback-on + Usage: optional + Value type: + Definition: A boolean property to feedback the learned capacity into + the capacity lerning algorithm. This has to be used only if the + property "qcom,cl-disable" is not specified. + +- qcom,cl-max-start-soc + Usage: optional + Value type: + Definition: Battery SOC has to be below or equal to this value at the + start of a charge cycle to start the capacity learning. + If this is not specified, then the default value used + will be 15. Unit is in percentage. + +- qcom,cl-min-start-soc + Usage: optional + Value type: + Definition: Battery SOC has to be above or equal to this value at the + start of a charge cycle to start the capacity learning. + If this is not specified, then the default value used + will be 10. Unit is in percentage. + +- qcom,cl-min-temp + Usage: optional + Value type: + Definition: Lower limit of battery temperature to start the capacity + learning. If this is not specified, then the default value + used will be 150 (15 C). Unit is in decidegC. + +- qcom,cl-max-temp + Usage: optional + Value type: + Definition: Upper limit of battery temperature to start the capacity + learning. If this is not specified, then the default value + used will be 500 (50 C). Unit is in decidegC. + +- qcom,cl-max-increment + Usage: optional + Value type: + Definition: Maximum capacity increment allowed per capacity learning + cycle. If this is not specified, then the default value + used will be 5 (0.5%). Unit is in decipercentage. + +- qcom,cl-max-decrement + Usage: optional + Value type: + Definition: Maximum capacity decrement allowed per capacity learning + cycle. If this is not specified, then the default value + used will be 100 (10%). Unit is in decipercentage. + +- qcom,cl-min-limit + Usage: optional + Value type: + Definition: Minimum limit that the capacity cannot go below in a + capacity learning cycle. If this is not specified, then + the default value is 0. Unit is in decipercentage. + +- qcom,cl-max-limit + Usage: optional + Value type: + Definition: Maximum limit that the capacity cannot go above in a + capacity learning cycle. If this is not specified, then + the default value is 0. Unit is in decipercentage. + +- qcom,cl-min-delta-batt-soc + Usage: optional + Value type: + Definition: Minimum change in battery SOC to qualify for capacity + learning. If this is not specified, then the default + value is 10. Unit is in percentage. + +- qcom,cl-wt-enable + Usage: optional + Value type: + Definition: A boolean property to enable weighted capacity learning + based on change in battery SOC during a charging cycle. + If this is specified, then "qcom,cl-min-start-soc" and + "qcom,cl-max-start-soc" is not used. + +- qcom,esr-disable + Usage: optional + Value type: + Definition: Boolean property to disable ESR estimation. If not defined + ESR estimation stays enabled for charge-cycles. + +- qcom,esr-discharge-enable + Usage: optional + Value type: + Definition: Boolean property to enable ESR estimation during discharge. + Only valid if 'qcom,esr-disable' is not defined. + +- qcom,esr-qual-current-ua + Usage: optional + Value type: + Definition: Minimum current differential in uA to qualify an ESR + reading as valid. If not defined the value defaults + to 130mA. + +- qcom,esr-qual-vbatt-uv + Usage: optional + Value type: + Definition: Minimum vbatt differential in uV to qualify an ESR + reading as valid. If not defined the value defaults + to 7mV. + +- qcom,esr-disable-soc + Usage: optional + Value type: + Definition: Minimum battery SOC below which ESR will not be + attempted by QG. If not defined the value defaults + to 10%. + +- qcom,esr-chg-min-ibat-ua + Usage: optional + Value type: + Definition: Minimun charge current (IBAT) in uA at which ESR will + be attempted. If not specified the default value is + in -450mA. + +- qcom,qg-ext-sns + Usage: optional + Value type: + Definition: Boolean property to support external-rsense based + configuration. + +- qcom,shutdown-temp-diff + Usage: optional + Value type: + Definition: The allowed battery temperature in deci-degree difference + between shutdown and power-on to continue with the shutdown + SOC. If not specified the default value is 6 degrees C (60). + +- qcom,shutdown-soc-threshold + Usage: optional + Value type: + Definition: The SOC difference allowed between PON and SHUTDOWN SOC + for the shutdown SOC to be used. If the difference is + beyond this value the PON SOC is used. + +- qcom,qg-use-s7-ocv + Usage: optional + Value type: + Definition: Boolean property to use S7 for PON OCV. + +- qcom,min-sleep-time-secs + Usage: optional + Value type: + Definition: The minimum sleep time in secs to allow a SOC + jump if there has been a GOOD_OCV. + +- qcom,qg-sys-min-voltage + Usage: optional + Value type: + Definition: The voltage threshold (in mV) which describes the system + minimum voltage as per the hardware recommendation. This + is not used for any configuration but only for calculating + the available power. If this property is not specified, + then the default value used is 2800 mV. + +- qcom,qg-sleep-config + Usage: optional + Value type: bool + Definition: Enables sleep-state configurtion for QG. This + allows configuring the FIFO length, accumulator + interval and the accumulator length when system + enters sleep. + +- qcom,sleep-s2-fifo-length + Usage: optional + Value type: + Definition: The FIFO length to be applied when system enters sleep + while discharging. Takes effect only if + 'qcom,qg-sleep-config' is enabled. the default value + if not specified is 8. + +- qcom,sleep-s2-acc-length + Usage: optional + Value type: + Definition: The accululator length to be applied when system + enters sleep while discharging. Takes effect only if + 'qcom,qg-sleep-config' is enabled. the default value + if not specified is 256. + +- qcom,sleep-s2-acc-intvl-ms + Usage: optional + Value type: + Definition: The accululator count to be applied when system + enters sleep while discharging. Takes effect only if + 'qcom,qg-sleep-config' is enabled. the default value + if not specified is 200ms. + +- qcom,qg-fast-chg-config + Usage: optional + Value type: bool + Definition: Enables fast-charge configurtion for QG. This + allows configuring the FIFO length during + fast charge. + +- qcom,fast-chg-s2-fifo-length + Usage: optional + Value type: + Definition: The FIFO length to be applied when system enters + fast-chargging. Takes effect only if + 'qcom,qg-fast-chg-config' is enabled. The + default value if not specified is 1. + +- qcom,fvss-enable + Usage: optional + Value type: bool + Definition: Enable Filtered Voltage based SOC scaling. + This logic enables SOC scaling to report + 0 at the cutoff voltage. + +- qcom,fvss-vbatt-mv + Usage: optional + Value type: + Definition: Battery voltage threshold at which FVSS is + enabled. Applicable only if 'qcom,fvss-enable' + is set. + +- qcom,multi-profile-load + Usage: optional + Value type: + Definition: A boolean property that when specified indicates that + multiple profile loading needs to be enabled. This requires + multiple battery profiles to be specified for a battery for + proper functionality. + +- qcom,tcss-enable + Usage: optional + Value type: bool + Definition: Enable Termination current based SOC scaling. + This logic enables SOC scaling to report + 100% at the QG termination current defined by + qcom,qg-iterm-ma. + +- qcom,tcss-entry-soc + Usage: optional + Value type: + Definition: SOC threshold at which TCSS starts. The default + value is 90%. This property is valid only if + qcom,tcss-enable is defined. + +- qcom,bass-enable + Usage: optional + Value type: bool + Definition: Enable Battery SOC based SOC scaling. This logic + allows monotonic-SOC scaling at low-temperatures + when there is variation in system-SOC due to + changes in the load. + +========================================================== +Second Level Nodes - Peripherals managed by QGAUGE driver +========================================================== +- reg + Usage: required + Value type: + Definition: Addresses and sizes for the specified peripheral + +- interrupts + Usage: optional + Value type: + Definition: Interrupt mapping as per the interrupt encoding + +- interrupt-names + Usage: optional + Value type: + Definition: Interrupt names. This list must match up 1-to-1 with the + interrupts specified in the 'interrupts' property. + +======== +Example +======== + +pmi632_qg: qpnp,qg { + compatible = "qcom,pm7250b-qg"; + qcom,qg-vadc = <&pmi632_vadc>; + qcom,vbatt-empty-mv = <3200>; + qcom,vbatt-low-mv = <3500>; + qcom,vbatt-cutoff-mv = <3400>; + qcom,qg-iterm-ma = <100>; + #io-channel-cells = <1>; + io-channels = <&pm7250b_charger PSY_IIO_RECHARGE_SOC>, + <&pm7250b_charger PSY_IIO_CHARGE_DONE>; + io-channel-names = "recharge_soc", + "charge_done"; + + qcom,qgauge@4800 { + status = "okay"; + reg = <0x4800 0x100>; + interrupts = <0x2 0x48 0x0 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x48 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x48 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x48 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x48 0x5 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x48 0x6 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "qg-batt-missing", + "qg-vbat-low", + "qg-vbat-empty", + "qg-fifo-done", + "qg-good-ocv", + "qg-fsm-state-chg", + "qg-event"; + }; + + qcom,qg-sdam@b000 { + status = "okay"; + reg = <0xb000 0x100>; + }; +}; From 28d4f37066adf8d0783bc4d773f1b57c221ae1e0 Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:41:50 +0530 Subject: [PATCH 5/6] dt-bindings: smb1355: Snapshot of dt binding for smb1355-charger device Add DT binding documentation for smb1355 slave charger device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: Ia068582f250c137045bbf5bf97166aceff719b5b --- .../power/supply/qcom/smb1355-charger.txt | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 bindings/power/supply/qcom/smb1355-charger.txt diff --git a/bindings/power/supply/qcom/smb1355-charger.txt b/bindings/power/supply/qcom/smb1355-charger.txt new file mode 100644 index 00000000..528c285a --- /dev/null +++ b/bindings/power/supply/qcom/smb1355-charger.txt @@ -0,0 +1,107 @@ +Qualcomm Technologies, Inc. SMB1355 Charger Specific Bindings + +SMB1355 slave charger is paired with QTI family of standalone chargers to +enable a high current, low profile Li+ battery charging system. + +The device provides 28V DC withstand, wide operating input range of 3.8 to +14.2V for standard 5V USB inputs as well as a wide variety of HVDCP Travel +Adapters and is compatible with QTI's Quick Charge technology. + +======================= +Required Node Structure +======================= + +SMB1355 Charger must be described in two levels of device nodes. + +================================== +First Level Node - SMB1355 Charger +================================== + +Charger specific properties: +- compatible + Usage: required + Value type: + Definition: "qcom,smb1355". + +- qcom,pmic-revid + Usage: required + Value type: phandle + Definition: Should specify the phandle of SMB's revid module. This is used + to identify the SMB subtype. + +- qcom,disable-ctm + Usage: optional + Value type: + Definition: boolean flag. Usually a thermistor near usb/typeC connector is + connected to AUX. Set this flag to indicate the thermistor + doesn't exist. + +- qcom,parallel-mode + Usage: optional + Value type: + Definition: Specifies parallel charging mode. If not specified, MID-MID + option is selected by default. + +- qcom,stacked-batfet + Usage: optional + Value type: + Definition: boolean flag. Specifies if parallel charger has stacked BATFET + configuration. + In stacked batfet the main and parallel charger's batfet are + stacked one after the other and thus all the charge current + (FCC) flows through main. In a non-stacked configuration each + charger controls the charge current (FCC) separately. + +- qcom,die-temp-threshold-degc + Usage: optional + Value type: + Definition: Specifies DIE temp threshold beyond which h/w starts mitigation. + If not sepcified, 90 degrees centigrade is used. + +- qcom,hw-die-temp-mitigation + Usage: optional + Value type: bool + Definition: Boolean property to enable h/w controlled die temp mitigation. + +================================================ +Second Level Nodes - SMB1355 Charger Peripherals +================================================ + +Peripheral specific properties: +- reg + Usage: required + Value type: + Definition: Address and size of the peripheral's register block. + +- interrupts + Usage: required + Value type: + Definition: Peripheral interrupt specifier. + +- interrupt-names + Usage: required + Value type: + Definition: Interrupt names. This list must match up 1-to-1 with the + interrupts specified in the 'interrupts' property. + +======= +Example +======= + +smb1355_charger: qcom,smb1355-charger { + compatible = "qcom,smb1355"; + #address-cells = <1>; + #size-cells = <1>; + + qcom,chgr@1000 { + reg = <0x1000 0x100>; + interrupts = <0x10 0x1 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "chg-state-change"; + }; + + qcom,chgr-misc@1600 { + reg = <0x1600 0x100>; + interrupts = <0x16 0x1 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "wdog-bark"; + }; +}; From a30248e43a3146be7c358b4ba88799b7883ed871 Mon Sep 17 00:00:00 2001 From: Shilpa Suresh Date: Wed, 18 May 2022 21:44:52 +0530 Subject: [PATCH 6/6] dt-bindings: smb1398: Snapshot of dt binding for smb1398-charger device Add DT binding documentation for smb1398-charger device. This snapshot is taken as of msm-5.4 'commit 7d890ddbff34 ("Merge "dt-bindings: subsystem_sleep_stats: reg is optional property"")'. Change-Id: I993682faed3f82b547d2a458ab97e96810cf06b6 --- .../power/supply/qcom/smb1398-charger.txt | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 bindings/power/supply/qcom/smb1398-charger.txt diff --git a/bindings/power/supply/qcom/smb1398-charger.txt b/bindings/power/supply/qcom/smb1398-charger.txt new file mode 100644 index 00000000..a2ff8a0c --- /dev/null +++ b/bindings/power/supply/qcom/smb1398-charger.txt @@ -0,0 +1,117 @@ +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: + 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: + Definition: Peripheral interrupt specifier. This is required when SMB1396 + working as a DIV2 CP master. + +- interrupt-names + Usage: optional + Value type: + 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: + 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: + Definition: Names of the IIO channels that are used by CP master. + +- qcom,div2-cp-min-ilim-ua + Usage: optional + Value type: + 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: + 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: + 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"; +};