From: Ondrej Jirman <megi@xff.cz>
Pinephone Pro uses STK3311 according to the schematics.
Tests:
~ $ hwtest # output tweaked to fit in 80 chars
Category proximity
Model stk3310
Path /sys/bus/iio/devices/iio:device0
Status working
Value 59.3 (when covered) and 2.2 (when uncovered)
Category illuminance
Model stk3310
Path /sys/bus/iio/devices/iio:device0
Status working
Value 1 (when covered) and 101 (when uncovered)
~ $ monitor-sensor
// When the sensor is exposed, it get's fluctating values such as
Light changed: 1.800000 (lux)
Light changed: 1.700000 (lux)
Light changed: 1.800000 (lux)
Light changed: 1.700000 (lux)
Light changed: 1.600000 (lux)
Light changed: 1.100000 (lux)
// When covering the sensor, it prints a low value and stops printing
Light changed: 0.200000 (lux)
Co-developed-by: Martijn Braam <martijn@brixit.nl>
Signed-off-by: Martijn Braam <martijn@brixit.nl>
Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 6f97e57f36f5599f4027a0f3db98bcbc69cef5e5..71d32c4bae0d0336ac0c912043618fc9b94919ef 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -520,6 +520,15 @@ touchscreen@14 {
touchscreen-size-x = <720>;
touchscreen-size-y = <1440>;
};
+
+ light-sensor@48 {
+ compatible = "sensortek,stk3311";
+ reg = <0x48>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&stk3311_int>;
+ };
};
&i2c4 {
@@ -689,6 +698,12 @@ vcc1v8_codec_en: vcc1v8-codec-en {
};
};
+ stk3311 {
+ stk3311_int: stk3311-int {
+ rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_input_pull_up>;
+ };
+ };
+
wireless-bluetooth {
bt_wake_pin: bt-wake-pin {
rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
--
2.51.0
Hi, On Mon Sep 29, 2025 at 9:35 AM CEST, Rudraksha Gupta via B4 Relay wrote: > From: Ondrej Jirman <megi@xff.cz> > > Pinephone Pro uses STK3311 according to the schematics. > ... > Co-developed-by: Martijn Braam <martijn@brixit.nl> > Signed-off-by: Martijn Braam <martijn@brixit.nl> > Co-developed-by: Kamil Trzciński <ayufan@ayufan.eu> > Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu> > Signed-off-by: Ondrej Jirman <megi@xff.cz> > Signed-off-by: Rudraksha Gupta <guptarud@gmail.com> > --- > arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > index 6f97e57f36f5599f4027a0f3db98bcbc69cef5e5..71d32c4bae0d0336ac0c912043618fc9b94919ef 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > @@ -520,6 +520,15 @@ touchscreen@14 { > touchscreen-size-x = <720>; > touchscreen-size-y = <1440>; > }; > + > + light-sensor@48 { > + compatible = "sensortek,stk3311"; > + reg = <0x48>; > + interrupt-parent = <&gpio4>; > + interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>; > + pinctrl-names = "default"; > + pinctrl-0 = <&stk3311_int>; > + }; > }; > > &i2c4 { > @@ -689,6 +698,12 @@ vcc1v8_codec_en: vcc1v8-codec-en { > }; > }; > > + stk3311 { > + stk3311_int: stk3311-int { > + rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_input_pull_up>; On page 11 and 17 of PPP schematic V1.0-20211127 I see LIGHT_INT_L as identifier so it's best to use that identifier here, thus ``light_int_l: light-int-l {`` and update the pinctrl-0 reference accordingly. Cheers, Diederik > + }; > + }; > + > wireless-bluetooth { > bt_wake_pin: bt-wake-pin { > rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
© 2016 - 2025 Red Hat, Inc.