[PATCH 3/3] arm64: dts: qcom: msm8916-samsung-j5: Add proximity sensor
From: Christoph Rudorff
Date: Fri Oct 16 2026 - 10:57:17 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 | 19 ++++++++++
arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts | 40 ++++++++++++++++++++++
2 files changed, 59 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..83a5d2807f52 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,18 @@ &pm8916_resin {
linux,code = <KEY_VOLUMEDOWN>;
};
+&pm8916_rpm_regulators {
+ pm8916_l16: l16 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ pm8916_l17: l17 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ };
+};
+
&sdhc_1 {
status = "okay";
};
@@ -248,6 +260,13 @@ sdc2_cd_default: sdc2-cd-default-state {
bias-disable;
};
+ proxy_int_default: proxy-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..136b948e46b4 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5.dts
@@ -8,6 +8,19 @@ / {
model = "Samsung Galaxy J5 (2015)";
compatible = "samsung,j5", "qcom,msm8916";
chassis-type = "handset";
+
+ reg_vdd_proxy: regulator-vdd-proximity {
+ compatible = "regulator-fixed";
+ regulator-name = "proximity_led";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+
+ gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&proxy_ldo_en_default>;
+ pinctrl-names = "default";
+ };
};
&accelerometer {
@@ -19,6 +32,24 @@ &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 = <®_vdd_proxy>;
+ vio-supply = <&pm8916_l5>;
+
+ sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
+ sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
+
+ pinctrl-0 = <&proxy_int_default>;
+ pinctrl-names = "default";
+ };
+};
+
&pm8916_codec {
qcom,micbias1-ext-cap;
};
@@ -30,3 +61,12 @@ &touchscreen {
&usb_hs_phy {
qcom,init-seq = /bits/ 8 <0x1 0x19 0x2 0x0b>;
};
+
+&tlmm {
+ proxy_ldo_en_default: proxy-ldo-en-default-state {
+ pins = "gpio73";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};
--
2.39.5