[PATCH v2 3/3] arm64: dts: qcom: msm8916-samsung-j5: Add proximity sensor

From: Christoph Rudorff

Date: Sat Oct 17 2026 - 13:29:23 EST


J5 got a gp2ap002 sensor, add it and it's supplies to the device tree

Signed-off-by: Christoph Rudorff <chris@xxxxxxxxxxx>
---
.../boot/dts/qcom/msm8916-samsung-j5-common.dtsi | 15 ++++++++++
arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts | 32 ++++++++++++++++++++++
2 files changed, 47 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
index 697f25d51d9d..292e7d8b85a4 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
@@ -149,6 +149,14 @@ &pm8916_resin {
linux,code = <KEY_VOLUMEDOWN>;
};

+&pm8916_rpm_regulators {
+ pm8916_l17: l17 {
+ regulator-name = "proximity_vdd";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <3100000>;
+ };
+};
+
&sdhc_1 {
status = "okay";
};
@@ -248,6 +256,13 @@ sdc2_cd_default: sdc2-cd-default-state {
bias-disable;
};

+ proximity_int_default: proximity-int-default-state {
+ pins = "gpio113";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
sensors_i2c_default: sensors-i2c-default-state {
pins = "gpio31", "gpio32";
function = "gpio";
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts
index ba8650971d6a..efd6c0357d53 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts
@@ -8,6 +8,14 @@ / {
model = "Samsung Galaxy J5 (2015)";
compatible = "samsung,j5", "qcom,msm8916";
chassis-type = "handset";
+
+ reg_vled_proximity: regulator-vled-proximity {
+ compatible = "regulator-fixed";
+ regulator-name = "proximity_led";
+
+ gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
};

&accelerometer {
@@ -19,6 +27,21 @@ &blsp_i2c5 {
status = "disabled";
};

+&i2c_sensors {
+ proximity-sensor@44 {
+ compatible = "sharp,gp2ap002s00f";
+ reg = <0x44>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <113 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <&pm8916_l17>;
+ vled-supply = <&reg_vled_proximity>;
+ vio-supply = <&pm8916_l5>;
+
+ sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
+ sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
+ };
+};
+
&pm8916_codec {
qcom,micbias1-ext-cap;
};
@@ -30,3 +53,12 @@ &touchscreen {
&usb_hs_phy {
qcom,init-seq = /bits/ 8 <0x1 0x19 0x2 0x0b>;
};
+
+&tlmm {
+ proximity_ldo_en_default: proximity-ldo-en-default-state {
+ pins = "gpio73";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};

--
2.39.5