* [PATCH v5 1/4] arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro
2025-11-25 3:46 [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Rudraksha Gupta via B4 Relay
@ 2025-11-25 3:47 ` Rudraksha Gupta via B4 Relay
2025-12-15 11:36 ` Heiko Stuebner
2025-11-25 3:47 ` [PATCH v5 2/4] arm64: dts: rockchip: Add accelerometer " Rudraksha Gupta via B4 Relay
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2025-11-25 3:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman, Martijn Braam,
Kamil Trzciński
From: Ondrej Jirman <megi@xff.cz>
Pinephone Pro uses STK3311 according to the schematics.
Tests:
~ $ monitor-sensor --light
// 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)
~ $ monitor-sensor --proximity
// When it goes away from an object
Proximity value changed: 0
// When it comes near an object
Proximity value changed: 1
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 | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 6f97e57f36f5..2d2858ee149e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -520,6 +520,16 @@ touchscreen@14 {
touchscreen-size-x = <720>;
touchscreen-size-y = <1440>;
};
+
+ light-sensor@48 {
+ compatible = "sensortek,stk3311";
+ proximity-near-level = <300>;
+ reg = <0x48>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&light_int_l>;
+ };
};
&i2c4 {
@@ -689,6 +699,12 @@ vcc1v8_codec_en: vcc1v8-codec-en {
};
};
+ stk3311 {
+ light_int_l: light-int-l {
+ 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.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 1/4] arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro
2025-11-25 3:47 ` [PATCH v5 1/4] arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro Rudraksha Gupta via B4 Relay
@ 2025-12-15 11:36 ` Heiko Stuebner
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2025-12-15 11:36 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, guptarud
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman, Martijn Braam,
Kamil Trzciński
Hi,
Am Dienstag, 25. November 2025, 04:47:00 Mitteleuropäische Normalzeit schrieb Rudraksha Gupta via B4 Relay:
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index 6f97e57f36f5..2d2858ee149e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -520,6 +520,16 @@ touchscreen@14 {
> touchscreen-size-x = <720>;
> touchscreen-size-y = <1440>;
> };
> +
> + light-sensor@48 {
> + compatible = "sensortek,stk3311";
> + proximity-near-level = <300>;
proximity-next-... belongs below pinctrl-*
> + reg = <0x48>;
> + interrupt-parent = <&gpio4>;
> + interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&light_int_l>;
> + };
> };
>
> &i2c4 {
> @@ -689,6 +699,12 @@ vcc1v8_codec_en: vcc1v8-codec-en {
> };
> };
>
> + stk3311 {
please sort nodes alphabetically
(stk3311 after vcc1v8-codec-en is incorrect)
> + light_int_l: light-int-l {
> + 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>;
>
>
Heiko
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 2/4] arm64: dts: rockchip: Add accelerometer sensor to Pinephone Pro
2025-11-25 3:46 [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Rudraksha Gupta via B4 Relay
2025-11-25 3:47 ` [PATCH v5 1/4] arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro Rudraksha Gupta via B4 Relay
@ 2025-11-25 3:47 ` Rudraksha Gupta via B4 Relay
2025-11-25 3:47 ` [PATCH v5 3/4] arm64: dts: rockchip: Add magnetometer " Rudraksha Gupta via B4 Relay
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2025-11-25 3:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman, Martijn Braam,
Kamil Trzciński, Pavel Machek
From: Ondrej Jirman <megi@xff.cz>
Pinephone Pro uses mpu6500 according to the schematic. This was verified
via `monitor-sensor --accel`. While rotating the device, the output was
correct (eg. when it was face up, left edge was up, vertical, etc.).
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>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 2d2858ee149e..f8c74b43ae9f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -543,7 +543,13 @@ mpu6500@68 {
reg = <0x68>;
interrupt-parent = <&gpio1>;
interrupts = <RK_PC6 IRQ_TYPE_LEVEL_LOW>;
+ vdd-supply = <&vcc_1v8>;
vddio-supply = <&vcc_1v8>;
+
+ mount-matrix =
+ "1", "0", "0",
+ "0", "-1", "0",
+ "0", "0", "-1";
};
};
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 3/4] arm64: dts: rockchip: Add magnetometer sensor to Pinephone Pro
2025-11-25 3:46 [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Rudraksha Gupta via B4 Relay
2025-11-25 3:47 ` [PATCH v5 1/4] arm64: dts: rockchip: Add light/proximity sensor to Pinephone Pro Rudraksha Gupta via B4 Relay
2025-11-25 3:47 ` [PATCH v5 2/4] arm64: dts: rockchip: Add accelerometer " Rudraksha Gupta via B4 Relay
@ 2025-11-25 3:47 ` Rudraksha Gupta via B4 Relay
2025-12-15 11:38 ` Heiko Stuebner
2025-11-25 3:47 ` [PATCH v5 4/4] arm64: dts: rockchip: Fix voltage threshold for volume keys for " Rudraksha Gupta via B4 Relay
2025-12-15 11:47 ` (subset) [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Heiko Stuebner
4 siblings, 1 reply; 8+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2025-11-25 3:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman,
Leonardo G. Trombetta, Pavel Machek
From: Ondrej Jirman <megi@xff.cz>
Pinephone Pro uses AF8133J according to the schematic.
The mount-matrix was added by Leonardo on top of Ondrej's work of adding
the magnetometer. It was verified with Leonardo's compass app:
https://gitlab.com/lgtrombetta/compass
Co-developed-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
Signed-off-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
---
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 f8c74b43ae9f..03721d71766c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -553,6 +553,21 @@ mpu6500@68 {
};
};
+&i2c4 {
+ af8133j: compass@1c {
+ compatible = "voltafield,af8133j";
+ reg = <0x1c>;
+ reset-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
+ avdd-supply = <&vcc_3v0>;
+ dvdd-supply = <&vcc_1v8>;
+
+ mount-matrix =
+ "0", "1", "0",
+ "-1", "0", "0",
+ "0", "0", "1";
+ };
+};
+
&io_domains {
bt656-supply = <&vcc1v8_dvp>;
audio-supply = <&vcca1v8_codec>;
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 3/4] arm64: dts: rockchip: Add magnetometer sensor to Pinephone Pro
2025-11-25 3:47 ` [PATCH v5 3/4] arm64: dts: rockchip: Add magnetometer " Rudraksha Gupta via B4 Relay
@ 2025-12-15 11:38 ` Heiko Stuebner
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2025-12-15 11:38 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, guptarud
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman,
Leonardo G. Trombetta, Pavel Machek
Am Dienstag, 25. November 2025, 04:47:02 Mitteleuropäische Normalzeit schrieb Rudraksha Gupta via B4 Relay:
> 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 f8c74b43ae9f..03721d71766c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -553,6 +553,21 @@ mpu6500@68 {
> };
> };
>
> +&i2c4 {
> + af8133j: compass@1c {
> + compatible = "voltafield,af8133j";
> + reg = <0x1c>;
> + reset-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
reset-gpios below dvdd-*
And for completeness sake, you probably want to also add a simple
pinctrl entry
> + avdd-supply = <&vcc_3v0>;
> + dvdd-supply = <&vcc_1v8>;
> +
> + mount-matrix =
> + "0", "1", "0",
> + "-1", "0", "0",
> + "0", "0", "1";
> + };
> +};
> +
Thanks
Heiko
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 4/4] arm64: dts: rockchip: Fix voltage threshold for volume keys for Pinephone Pro
2025-11-25 3:46 [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Rudraksha Gupta via B4 Relay
` (2 preceding siblings ...)
2025-11-25 3:47 ` [PATCH v5 3/4] arm64: dts: rockchip: Add magnetometer " Rudraksha Gupta via B4 Relay
@ 2025-11-25 3:47 ` Rudraksha Gupta via B4 Relay
2025-12-15 11:47 ` (subset) [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Heiko Stuebner
4 siblings, 0 replies; 8+ messages in thread
From: Rudraksha Gupta via B4 Relay @ 2025-11-25 3:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
phone-devel, Rudraksha Gupta, Ondrej Jirman, Pavel Machek
From: Ondrej Jirman <megi@xff.cz>
Previously sometimes pressing the volume-down button would register as
a volume-up button. Match the thresholds as shown in the Pinephone Pro
schematic.
Tests:
~ $ evtest
// Mashed the volume down ~100 times with varying intensity
Event: time xxx, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time xxx, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
// Mashed the volume up ~100 times with varying intensity
Event: time xxx, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time xxx, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 03721d71766c..5de08a155d10 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -40,13 +40,13 @@ adc-keys {
button-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
- press-threshold-microvolt = <100000>;
+ press-threshold-microvolt = <2000>;
};
button-down {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
- press-threshold-microvolt = <600000>;
+ press-threshold-microvolt = <300000>;
};
};
--
2.52.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: (subset) [PATCH v5 0/4] Upstreaming Pinephone Pro Patches
2025-11-25 3:46 [PATCH v5 0/4] Upstreaming Pinephone Pro Patches Rudraksha Gupta via B4 Relay
` (3 preceding siblings ...)
2025-11-25 3:47 ` [PATCH v5 4/4] arm64: dts: rockchip: Fix voltage threshold for volume keys for " Rudraksha Gupta via B4 Relay
@ 2025-12-15 11:47 ` Heiko Stuebner
4 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2025-12-15 11:47 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rudraksha Gupta
Cc: Heiko Stuebner, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, phone-devel, Ondrej Jirman, Martijn Braam,
Kamil Trzciński, Pavel Machek, Leonardo G. Trombetta
On Mon, 24 Nov 2025 19:46:59 -0800, Rudraksha Gupta wrote:
> Throughout the years, many have contributed to the Pinephone Pro (ppp)
> development. Unfortunately, these patches are scattered around various
> repositories in different states.
>
> I will be attempting to upstream these patches. I will start off with the
> following small series:
> - Add light/proximity sensor support
> - Link: https://codeberg.org/megi/linux/commit/f171bc7013bc7ad3de9af817bfbcbfa548ebe01c
> - Add accelerometer sensor support
> - Link: https://codeberg.org/megi/linux/commit/b0bb7633e073a6760fa213b8c4a78ea2e73c7bf1
> - Add magnetometer sensor support
> - Link: https://codeberg.org/megi/linux/commit/2f7e67f451f16eaf15b81aa1dbdf126d54927d35
> - Add mount-matrix for magnetometer
> - Link: https://codeberg.org/megi/linux/commit/d7cd2eab931e32fa94408a96d73b4e6c0616107a
> - Fix voltage threshold for volume down key
> - Link: https://codeberg.org/megi/linux/commit/7c496a5cc27ed4e38b740f36c2d8b2c62f80ae54
>
> [...]
Applied, thanks!
[2/4] arm64: dts: rockchip: Add accelerometer sensor to Pinephone Pro
commit: abd9bb7ad5bdbbf76316013cda3812c2719a0210
[4/4] arm64: dts: rockchip: Fix voltage threshold for volume keys for Pinephone Pro
commit: 5497ffe305b2ea31ae62d4a311d7cabfb671f54a
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 8+ messages in thread