[PATCH] nokia N9: Add support for magnetometer and touchscreen
From: sre@kernel.org (Sebastian Reichel)
Date: 2018-01-03 11:53:52
Also in:
linux-devicetree, linux-omap, lkml
Hi, On Wed, Jan 03, 2018 at 11:25:53AM +0100, Pavel Machek wrote:
On Tue 2018-01-02 18:27:20, Sebastian Reichel wrote:quoted
Hi, On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:quoted
This adds dts support for magnetometer and touchscreen on Nokia N9.I think it makes sense to have this splitted.Creating more work for everyone for little gain? Meh.
More work for everyone? Could you please read Documentation/process and actually follow it? It has a section about patches containing a single logical change and you add two completly unrelated devices to the device tree. Also I suggest, that you rework your git workflow if this makes more work than writing two sentences.
quoted
quoted
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts index 39e35f8..57a6679 100644 --- a/arch/arm/boot/dts/omap3-n9.dts +++ b/arch/arm/boot/dts/omap3-n9.dts@@ -36,6 +57,22 @@ }; }; }; + + touch at 4b {touchscreen@Ok.quoted
quoted
+ compatible = "atmel,maxtouch"; + reg = <0x4b>; + interrupt-parent = <&gpio2>; + interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/reset-gpios = <&gpio3 17 GPIO_ACTIVE_SOMETHING>;quoted
+ vdd-supply = <&vio>; + avdd-supply = <&vaux1>;Those two are not mentioned in the binding and not supported by the driver as far as I can see?Driver will need to be fixed, AFAICT :-(.
Obviously. DTS is only updated when binding has been acknowledged, though. To get this working ASAP you can add "always-enabled;" to the regulator and remove it once the driver gained support for enabling the regulators itself.
quoted
Touchscreen with the same settings is required for n950, so it should be in the shared n950 + n9 file.In future, settings will be different for n9/n950: calibration matrix is different as panel is rotated in different way. Still it probably makes sense to share. Ok.
The differences can be specified in the specific files by doing
something like the following:
n9-n950.dtsi:
ts: touchscreen {
shared-properties;
};
n9.dts:
&ts {
only-for-n9;
};
n950.dts:
&ts {
only-for-n950;
};
quoted
quoted
+&i2c3 { + ak8975 at 0f { + compatible = "asahi-kasei,ak8975"; + reg = <0x0f>; + }; };Looking at the N9 board file this is missing a rotation matrix. This is supported by the binding: Documentation/devicetree/bindings/iio/magnetometer/ak8975.txtDo you have an idea how the rotation matrix should look like? I don't currently have an userland software that could calibrate and test the sensor, so I'd prefer to merge basic binding now and do calibration later.
Well you take the values from sysfs, multiply it with the rotation matrix and check if the values look ok. No special userspace tools required except mount (for sysfs), ls & cat. -- Sebastian -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180103/3cc73e3f/attachment.sig>