diff mbox series

[3/6] arm64: dts: qcom: pmi8998: add charger node

Message ID 20230524-pmi8998-charger-dts-v1-3-f9334afc4505@linaro.org (mailing list archive)
State Superseded
Headers show
Series Enable PMI8998 charger on supported devices | expand

Commit Message

Caleb Connolly May 24, 2023, 5:38 p.m. UTC
Add a node for the smb2 charger hardware found on the pmi8998 pmic
following the DT bindings.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Konrad Dybcio May 26, 2023, 7:46 p.m. UTC | #1
On 24.05.2023 19:38, Caleb Connolly wrote:
> Add a node for the smb2 charger hardware found on the pmi8998 pmic
> following the DT bindings.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> index be6f60bfc26c..73f51451d21d 100644
> --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
>  
> +		pmi8998_charger: charger@1000 {
> +			compatible = "qcom,pmi8998-charger";
> +			reg = <0x1000>;
> +
> +			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
> +				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
> +				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
> +				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "usb-plugin",
> +					  "bat-ov",
> +					  "wdog-bark",
> +					  "usbin-icl-change";
> +
> +			io-channels = <&pmi8998_rradc 3>,
> +				      <&pmi8998_rradc 4>;
> +			io-channel-names = "usbin_i", "usbin_v";
Are these hard-wired internally?

Konrad
> +
> +			status = "disabled";
> +		};
> +
>  		pmi8998_gpios: gpio@c000 {
>  			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
>  			reg = <0xc000>;
>
Caleb Connolly May 26, 2023, 9:39 p.m. UTC | #2
On 26/05/2023 20:46, Konrad Dybcio wrote:
> 
> 
> On 24.05.2023 19:38, Caleb Connolly wrote:
>> Add a node for the smb2 charger hardware found on the pmi8998 pmic
>> following the DT bindings.
>>
>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>> ---
>>  arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>> index be6f60bfc26c..73f51451d21d 100644
>> --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>> @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 {
>>  		#address-cells = <1>;
>>  		#size-cells = <0>;
>>  
>> +		pmi8998_charger: charger@1000 {
>> +			compatible = "qcom,pmi8998-charger";
>> +			reg = <0x1000>;
>> +
>> +			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
>> +				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
>> +				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
>> +				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
>> +			interrupt-names = "usb-plugin",
>> +					  "bat-ov",
>> +					  "wdog-bark",
>> +					  "usbin-icl-change";
>> +
>> +			io-channels = <&pmi8998_rradc 3>,
>> +				      <&pmi8998_rradc 4>;
>> +			io-channel-names = "usbin_i", "usbin_v";
> Are these hard-wired internally?

Yes, features like AICL (automatic input current limiting - where the
device pulls more and more current until the input voltage drops) are
run autonomously and dont rely on the driver to tell the charger block
what the readings are.

This is only used to expose the voltage/current values to userspace via
the standard psy interface.
> 
> Konrad
>> +
>> +			status = "disabled";
>> +		};
>> +
>>  		pmi8998_gpios: gpio@c000 {
>>  			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
>>  			reg = <0xc000>;
>>
Konrad Dybcio May 26, 2023, 9:41 p.m. UTC | #3
On 26.05.2023 23:39, Caleb Connolly wrote:
> 
> 
> On 26/05/2023 20:46, Konrad Dybcio wrote:
>>
>>
>> On 24.05.2023 19:38, Caleb Connolly wrote:
>>> Add a node for the smb2 charger hardware found on the pmi8998 pmic
>>> following the DT bindings.
>>>
>>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>>> ---
>>>  arch/arm64/boot/dts/qcom/pmi8998.dtsi | 20 ++++++++++++++++++++
>>>  1 file changed, 20 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>>> index be6f60bfc26c..73f51451d21d 100644
>>> --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
>>> @@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 {
>>>  		#address-cells = <1>;
>>>  		#size-cells = <0>;
>>>  
>>> +		pmi8998_charger: charger@1000 {
>>> +			compatible = "qcom,pmi8998-charger";
>>> +			reg = <0x1000>;
>>> +
>>> +			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
>>> +				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
>>> +				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
>>> +				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
>>> +			interrupt-names = "usb-plugin",
>>> +					  "bat-ov",
>>> +					  "wdog-bark",
>>> +					  "usbin-icl-change";
>>> +
>>> +			io-channels = <&pmi8998_rradc 3>,
>>> +				      <&pmi8998_rradc 4>;
>>> +			io-channel-names = "usbin_i", "usbin_v";
>> Are these hard-wired internally?
> 
> Yes, features like AICL (automatic input current limiting - where the
> device pulls more and more current until the input voltage drops) are
> run autonomously and dont rely on the driver to tell the charger block
> what the readings are.
> 
> This is only used to expose the voltage/current values to userspace via
> the standard psy interface.
OK cool 

Konrad
>>
>> Konrad
>>> +
>>> +			status = "disabled";
>>> +		};
>>> +
>>>  		pmi8998_gpios: gpio@c000 {
>>>  			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
>>>  			reg = <0xc000>;
>>>
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
index be6f60bfc26c..73f51451d21d 100644
--- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
@@ -9,6 +9,26 @@  pmi8998_lsid0: pmic@2 {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		pmi8998_charger: charger@1000 {
+			compatible = "qcom,pmi8998-charger";
+			reg = <0x1000>;
+
+			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
+				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
+				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "usb-plugin",
+					  "bat-ov",
+					  "wdog-bark",
+					  "usbin-icl-change";
+
+			io-channels = <&pmi8998_rradc 3>,
+				      <&pmi8998_rradc 4>;
+			io-channel-names = "usbin_i", "usbin_v";
+
+			status = "disabled";
+		};
+
 		pmi8998_gpios: gpio@c000 {
 			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
 			reg = <0xc000>;