[3/3] arm64: dts: qcom: msm8916-longcheer-l8150: Add battery and charger

Message ID 20230916-pm8916-dtsi-bms-lbc-v1-3-7db0b42f9fb1@trvn.ru
State New
Headers
Series pm8916: Add BMS and charger |

Commit Message

Nikita Travkin Sept. 16, 2023, 1:57 p.m. UTC
  Longcheer L8150 doesn't have any dedicated fuel-gauge or charger,
instead making use of the pmic hardware blocks for those purposes.

Add pm8916 bms and charger, as well as the battery cell description
that those devices rely on.

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts      | 43 +++++++++++++++++++---
 1 file changed, 37 insertions(+), 6 deletions(-)
  

Comments

Konrad Dybcio Sept. 20, 2023, 2:50 p.m. UTC | #1
On 9/16/23 15:57, Nikita Travkin wrote:
> Longcheer L8150 doesn't have any dedicated fuel-gauge or charger,
> instead making use of the pmic hardware blocks for those purposes.
> 
> Add pm8916 bms and charger, as well as the battery cell description
> that those devices rely on.
> 
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
>   .../boot/dts/qcom/msm8916-longcheer-l8150.dts      | 43 +++++++++++++++++++---
>   1 file changed, 37 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index 3892ad4f639a..95dddf3b3880 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -33,6 +33,25 @@ wcnss_mem: wcnss@8b600000 {
>   		};
>   	};
>   
> +	battery: battery {
> +		compatible = "simple-battery";
> +		voltage-min-design-microvolt = <3400000>;
> +		voltage-max-design-microvolt = <4350000>;
> +		energy-full-design-microwatt-hours = <9500000>;
> +		charge-full-design-microamp-hours = <2500000>;
> +
> +		ocv-capacity-celsius = <25>;
> +		ocv-capacity-table-0 = <4330000 100>, <4265000 95>,
> +			<4208000 90>, <4153000 85>, <4100000 80>, <4049000 75>,
> +			<4001000 70>, <3962000 65>, <3919000 60>, <3872000 55>,
> +			<3839000 50>, <3817000 45>, <3798000 40>, <3783000 35>,
> +			<3767000 30>, <3747000 25>, <3729000 20>, <3709000 16>,
> +			<3688000 13>, <3681000 11>, <3680000 10>, <3679000 9>,
> +			<3677000 8>, <3674000 7>, <3666000 6>, <3641000 5>,
> +			<3597000 4>, <3537000 3>, <3457000 2>, <3336000 1>,
> +			<3000000 0>;
> +	};
> +
>   	gpio-keys {
>   		compatible = "gpio-keys";
>   
> @@ -220,6 +239,22 @@ &blsp_uart2 {
>   	status = "okay";
>   };
>   
> +&pm8916_bms {
> +	status = "okay";
status last

Konrad
  
Nikita Travkin Sept. 20, 2023, 3:01 p.m. UTC | #2
Konrad Dybcio писал(а) 20.09.2023 19:50:
> On 9/16/23 15:57, Nikita Travkin wrote:
>> Longcheer L8150 doesn't have any dedicated fuel-gauge or charger,
>> instead making use of the pmic hardware blocks for those purposes.
>>
>> Add pm8916 bms and charger, as well as the battery cell description
>> that those devices rely on.
>>
>> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
>> ---
>>   .../boot/dts/qcom/msm8916-longcheer-l8150.dts      | 43 +++++++++++++++++++---
>>   1 file changed, 37 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
>> index 3892ad4f639a..95dddf3b3880 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
>> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
>> @@ -33,6 +33,25 @@ wcnss_mem: wcnss@8b600000 {
>>   		};
>>   	};
>>   +	battery: battery {
>> +		compatible = "simple-battery";
>> +		voltage-min-design-microvolt = <3400000>;
>> +		voltage-max-design-microvolt = <4350000>;
>> +		energy-full-design-microwatt-hours = <9500000>;
>> +		charge-full-design-microamp-hours = <2500000>;
>> +
>> +		ocv-capacity-celsius = <25>;
>> +		ocv-capacity-table-0 = <4330000 100>, <4265000 95>,
>> +			<4208000 90>, <4153000 85>, <4100000 80>, <4049000 75>,
>> +			<4001000 70>, <3962000 65>, <3919000 60>, <3872000 55>,
>> +			<3839000 50>, <3817000 45>, <3798000 40>, <3783000 35>,
>> +			<3767000 30>, <3747000 25>, <3729000 20>, <3709000 16>,
>> +			<3688000 13>, <3681000 11>, <3680000 10>, <3679000 9>,
>> +			<3677000 8>, <3674000 7>, <3666000 6>, <3641000 5>,
>> +			<3597000 4>, <3537000 3>, <3457000 2>, <3336000 1>,
>> +			<3000000 0>;
>> +	};
>> +
>>   	gpio-keys {
>>   		compatible = "gpio-keys";
>>   @@ -220,6 +239,22 @@ &blsp_uart2 {
>>   	status = "okay";
>>   };
>>   +&pm8916_bms {
>> +	status = "okay";
> status last
> 

Would be inconsistent for this file then and resorting those in
bulk was nacked already.

https://lore.kernel.org/all/20230119033428.ga6sbu42jaueac5o@builder.lan/

Nikita

> Konrad
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 3892ad4f639a..95dddf3b3880 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -33,6 +33,25 @@  wcnss_mem: wcnss@8b600000 {
 		};
 	};
 
+	battery: battery {
+		compatible = "simple-battery";
+		voltage-min-design-microvolt = <3400000>;
+		voltage-max-design-microvolt = <4350000>;
+		energy-full-design-microwatt-hours = <9500000>;
+		charge-full-design-microamp-hours = <2500000>;
+
+		ocv-capacity-celsius = <25>;
+		ocv-capacity-table-0 = <4330000 100>, <4265000 95>,
+			<4208000 90>, <4153000 85>, <4100000 80>, <4049000 75>,
+			<4001000 70>, <3962000 65>, <3919000 60>, <3872000 55>,
+			<3839000 50>, <3817000 45>, <3798000 40>, <3783000 35>,
+			<3767000 30>, <3747000 25>, <3729000 20>, <3709000 16>,
+			<3688000 13>, <3681000 11>, <3680000 10>, <3679000 9>,
+			<3677000 8>, <3674000 7>, <3666000 6>, <3641000 5>,
+			<3597000 4>, <3537000 3>, <3457000 2>, <3336000 1>,
+			<3000000 0>;
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
@@ -220,6 +239,22 @@  &blsp_uart2 {
 	status = "okay";
 };
 
+&pm8916_bms {
+	status = "okay";
+
+	monitored-battery = <&battery>;
+	power-supplies = <&pm8916_charger>;
+};
+
+&pm8916_charger {
+	status = "okay";
+
+	monitored-battery = <&battery>;
+
+	qcom,fast-charge-safe-current = <900000>;
+	qcom,fast-charge-safe-voltage = <4300000>;
+};
+
 &pm8916_resin {
 	status = "okay";
 	linux,code = <KEY_VOLUMEDOWN>;
@@ -232,10 +267,6 @@  pm8916_l17: l17 {
 	};
 };
 
-&pm8916_usbin {
-	status = "okay";
-};
-
 &pm8916_vib {
 	status = "okay";
 };
@@ -252,11 +283,11 @@  &sdhc_2 {
 &usb {
 	status = "okay";
 	dr_mode = "peripheral";
-	extcon = <&pm8916_usbin>;
+	extcon = <&pm8916_charger>;
 };
 
 &usb_hs_phy {
-	extcon = <&pm8916_usbin>;
+	extcon = <&pm8916_charger>;
 };
 
 &wcnss {