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>;
Hello Diederik,
>> + 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.
Thanks! Since this is a simple change, I will wait for more comments in
this patch series (would like comments on the mount matrices for the
accelerometer and the magnetometer). I will put this change in v5 if I
send one.
Thanks,
Rudraksha
© 2016 - 2026 Red Hat, Inc.