]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: sun50i-a64-pinephone: Add AF8133J to PinePhone
authorIcenowy Zheng <icenowy@aosc.io>
Sun, 8 Sep 2024 21:47:17 +0000 (00:47 +0300)
committerChen-Yu Tsai <wens@csie.org>
Thu, 7 Nov 2024 15:01:10 +0000 (23:01 +0800)
New batches of PinePhones switched the magnetometer to AF8133J from
LIS3MDL because lack of ST components.

Both chips use the same PB1 pin, but in different modes.
LIS3MDL uses it as an gpio input to handle interrupt.
AF8133J uses it as an gpio output as a reset signal.

It wasn't possible at runtime to enable both device tree nodes and
detect supported sensor at probe time, because both drivers try to
acquire the same gpio in different modes.

Device tree fixup will be done in firmware without introducing new board
revision and new dts.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Link: https://patchwork.ozlabs.org/project/uboot/patch/20240211092824.395155-1-andrej.skvortzov@gmail.com/
Link: https://patch.msgid.link/20240908214718.36316-2-andrej.skvortzov@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi

index 6eab61a12cd8f8ff41bc365b8e9817b29e696954..66fbb35a7fae982c7d3454ca058c9f43e2b69002 100644 (file)
 &i2c1 {
        status = "okay";
 
+       /* Alternative magnetometer */
+       af8133j: magnetometer@1c {
+               compatible = "voltafield,af8133j";
+               reg = <0x1c>;
+               reset-gpios = <&pio 1 1 GPIO_ACTIVE_LOW>;
+               avdd-supply = <&reg_dldo1>;
+               dvdd-supply = <&reg_dldo1>;
+
+               /* status will be fixed up in firmware */
+               status = "disabled";
+       };
+
        /* Magnetometer */
        lis3mdl: magnetometer@1e {
                compatible = "st,lis3mdl-magn";