* [PATCH 0/2] Asus ZenFone 2 Laser/Selfie includes a battery measured by voltage mode BMS and a simple GPIO hall effect sensor. The following commits include support for these components.
@ 2025-11-15 12:26 Erikas Bitovtas
2025-11-15 12:26 ` [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery Erikas Bitovtas
2025-11-15 12:26 ` [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor Erikas Bitovtas
0 siblings, 2 replies; 5+ messages in thread
From: Erikas Bitovtas @ 2025-11-15 12:26 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
~postmarketos/upstreaming, Erikas Bitovtas
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
Erikas Bitovtas (2):
arm64: dts: qcom: msm8939-asus-z00t: add battery
arm64: dts: qcom: msm8939-asus-z00t: add hall sensor
arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts | 36 +++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
---
base-commit: 0f2995693867bfb26197b117cd55624ddc57582f
change-id: 20251115-battery-hall-30eb7fbba62c
Best regards,
--
Erikas Bitovtas <xerikasxx@gmail.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery
2025-11-15 12:26 [PATCH 0/2] Asus ZenFone 2 Laser/Selfie includes a battery measured by voltage mode BMS and a simple GPIO hall effect sensor. The following commits include support for these components Erikas Bitovtas
@ 2025-11-15 12:26 ` Erikas Bitovtas
2025-11-17 12:30 ` Konrad Dybcio
2025-11-15 12:26 ` [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor Erikas Bitovtas
1 sibling, 1 reply; 5+ messages in thread
From: Erikas Bitovtas @ 2025-11-15 12:26 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
~postmarketos/upstreaming, Erikas Bitovtas
This device tracks remaining battery capacity percentage using voltage
mode BMS. This commit enables the pm8916_bms node and adds a battery
node to track its capacity. Battery properties were taken from the
downstream code and from the information printed on the battery itself.
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
index ebb548e62e02..b58f0a04abfd 100644
--- a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
+++ b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
@@ -20,6 +20,25 @@ aliases {
serial0 = &blsp_uart2;
};
+ battery: battery {
+ compatible = "simple-battery";
+ device-chemistry = "lithium-ion-polymer";
+ voltage-min-design-microvolt = <3400000>;
+ voltage-max-design-microvolt = <4400000>;
+ energy-full-design-microwatt-hours = <11500000>;
+ charge-full-design-microamp-hours = <3000000>;
+
+ ocv-capacity-celsius = <25>;
+ ocv-capacity-table-0 = <4372000 100>, <4306000 95>, <4247000 90>,
+ <4190000 85>, <4134000 80>, <4081000 75>, <4030000 70>,
+ <3984000 65>, <3930000 60>, <3884000 55>, <3850000 50>,
+ <3826000 45>, <3804000 40>, <3786000 35>, <3770000 30>,
+ <3753000 25>, <3734000 20>, <3712000 16>, <3693000 13>,
+ <3686000 11>, <3684000 10>, <3682000 9>, <3680000 8>,
+ <3676000 7>, <3668000 6>, <3643000 5>, <3600000 4>,
+ <3542000 3>, <3462000 2>, <3340000 1>, <3000000 0>;
+ };
+
chosen {
stdout-path = "serial0";
};
@@ -135,6 +154,12 @@ &mpss_mem {
reg = <0x0 0x86800000 0x0 0x5500000>;
};
+&pm8916_bms {
+ monitored-battery = <&battery>;
+
+ status = "okay";
+};
+
&pm8916_codec {
qcom,micbias-lvl = <2800>;
qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
--
2.51.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor
2025-11-15 12:26 [PATCH 0/2] Asus ZenFone 2 Laser/Selfie includes a battery measured by voltage mode BMS and a simple GPIO hall effect sensor. The following commits include support for these components Erikas Bitovtas
2025-11-15 12:26 ` [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery Erikas Bitovtas
@ 2025-11-15 12:26 ` Erikas Bitovtas
2025-11-17 12:30 ` Konrad Dybcio
1 sibling, 1 reply; 5+ messages in thread
From: Erikas Bitovtas @ 2025-11-15 12:26 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel,
~postmarketos/upstreaming, Erikas Bitovtas
This device uses ANPEC APX9131 hall sensor. It is a basic GPIO hall
sensor for which a generic "gpio-keys" device tree node configuration
suffices.
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
index b58f0a04abfd..60a714a62a2c 100644
--- a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
+++ b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
@@ -62,6 +62,15 @@ button-volume-down {
linux,code = <KEY_VOLUMEDOWN>;
debounce-interval = <15>;
};
+
+ event-hall-sensor {
+ label = "Hall Effect Sensor";
+ gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ linux,can-disable;
+ debounce-interval = <150>;
+ };
};
reg_sd_vmmc: regulator-sdcard-vmmc {
@@ -259,7 +268,7 @@ sd_vmmc_en_default: sd-vmmc-en-default-state {
};
gpio_keys_default: gpio-keys-default-state {
- pins = "gpio107", "gpio117";
+ pins = "gpio107", "gpio108", "gpio117";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
--
2.51.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery
2025-11-15 12:26 ` [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery Erikas Bitovtas
@ 2025-11-17 12:30 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2025-11-17 12:30 UTC (permalink / raw)
To: Erikas Bitovtas, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming
On 11/15/25 1:26 PM, Erikas Bitovtas wrote:
> This device tracks remaining battery capacity percentage using voltage
> mode BMS. This commit enables the pm8916_bms node and adds a battery
> node to track its capacity. Battery properties were taken from the
> downstream code and from the information printed on the battery itself.
>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> index ebb548e62e02..b58f0a04abfd 100644
> --- a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> @@ -20,6 +20,25 @@ aliases {
> serial0 = &blsp_uart2;
> };
>
> + battery: battery {
> + compatible = "simple-battery";
> + device-chemistry = "lithium-ion-polymer";
> + voltage-min-design-microvolt = <3400000>;
> + voltage-max-design-microvolt = <4400000>;
> + energy-full-design-microwatt-hours = <11500000>;
> + charge-full-design-microamp-hours = <3000000>;
> +
> + ocv-capacity-celsius = <25>;
> + ocv-capacity-table-0 = <4372000 100>, <4306000 95>, <4247000 90>,
> + <4190000 85>, <4134000 80>, <4081000 75>, <4030000 70>,
> + <3984000 65>, <3930000 60>, <3884000 55>, <3850000 50>,
> + <3826000 45>, <3804000 40>, <3786000 35>, <3770000 30>,
> + <3753000 25>, <3734000 20>, <3712000 16>, <3693000 13>,
> + <3686000 11>, <3684000 10>, <3682000 9>, <3680000 8>,
> + <3676000 7>, <3668000 6>, <3643000 5>, <3600000 4>,
> + <3542000 3>, <3462000 2>, <3340000 1>, <3000000 0>;
I found a dts for this phone and it seems like there's 3 kinds of
batteries which quite obviously have disjoin characteristics
https://github.com/Asus-MSM8916/android_kernel_asus_msm8916/blob/10.x/arch/arm/boot/dts/qcom/ASUS_ZE550KL_1936167_3000mAh_3p4COV_VBMS_Final.dtsi
https://github.com/Asus-MSM8916/android_kernel_asus_msm8916/blob/10.x/arch/arm/boot/dts/qcom/ASUS_ZE550KL_1949572_3000mAh_3p4COV_VBMS_Final.dtsi
https://github.com/Asus-MSM8916/android_kernel_asus_msm8916/blob/10.x/arch/arm/boot/dts/qcom/ASUS_ZE550KL_2024958_3000mAh_120mAcc_3p4COV_VBMS_Final.dtsi
I don't think we have a mechanism to handle that in the kernel just yet..
At least documenting which one you based this data on would be nice..
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor
2025-11-15 12:26 ` [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor Erikas Bitovtas
@ 2025-11-17 12:30 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2025-11-17 12:30 UTC (permalink / raw)
To: Erikas Bitovtas, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, ~postmarketos/upstreaming
On 11/15/25 1:26 PM, Erikas Bitovtas wrote:
> This device uses ANPEC APX9131 hall sensor. It is a basic GPIO hall
> sensor for which a generic "gpio-keys" device tree node configuration
> suffices.
>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> index b58f0a04abfd..60a714a62a2c 100644
> --- a/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts
> @@ -62,6 +62,15 @@ button-volume-down {
> linux,code = <KEY_VOLUMEDOWN>;
> debounce-interval = <15>;
> };
> +
> + event-hall-sensor {
> + label = "Hall Effect Sensor";
> + gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
> + linux,can-disable;
> + debounce-interval = <150>;
> + };
> };
>
> reg_sd_vmmc: regulator-sdcard-vmmc {
> @@ -259,7 +268,7 @@ sd_vmmc_en_default: sd-vmmc-en-default-state {
> };
>
> gpio_keys_default: gpio-keys-default-state {
> - pins = "gpio107", "gpio117";
> + pins = "gpio107", "gpio108", "gpio117";
I think it'd make sense to keep it a separate entry
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-11-17 12:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-15 12:26 [PATCH 0/2] Asus ZenFone 2 Laser/Selfie includes a battery measured by voltage mode BMS and a simple GPIO hall effect sensor. The following commits include support for these components Erikas Bitovtas
2025-11-15 12:26 ` [PATCH 1/2] arm64: dts: qcom: msm8939-asus-z00t: add battery Erikas Bitovtas
2025-11-17 12:30 ` Konrad Dybcio
2025-11-15 12:26 ` [PATCH 2/2] arm64: dts: qcom: msm8939-asus-z00t: add hall sensor Erikas Bitovtas
2025-11-17 12:30 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®