Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-03 Thread Sebastian Reichel
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:
> > Hi,
> > 
> > On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> > > 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.

> > > 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@4b {
> > 
> > touchscreen@
> 
> Ok.
> 
> > > + compatible = "atmel,maxtouch";
> > > + reg = <0x4b>;
> > > + interrupt-parent = <>;
> > > + interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> > 
> > reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> > 
> > > + vdd-supply = <>;
> > > + avdd-supply = <>;
> > 
> > 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.

> > 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:
 {
only-for-n9;
};

n950.dts:
 {
only-for-n950;
};

> > > + {
> > > + ak8975@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.txt
> 
> Do 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


signature.asc
Description: PGP signature


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-03 Thread Sebastian Reichel
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:
> > Hi,
> > 
> > On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> > > 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.

> > > 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@4b {
> > 
> > touchscreen@
> 
> Ok.
> 
> > > + compatible = "atmel,maxtouch";
> > > + reg = <0x4b>;
> > > + interrupt-parent = <>;
> > > + interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> > 
> > reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> > 
> > > + vdd-supply = <>;
> > > + avdd-supply = <>;
> > 
> > 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.

> > 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:
 {
only-for-n9;
};

n950.dts:
 {
only-for-n950;
};

> > > + {
> > > + ak8975@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.txt
> 
> Do 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


signature.asc
Description: PGP signature


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-03 Thread Pavel Machek
On Tue 2018-01-02 18:27:20, Sebastian Reichel wrote:
> Hi,
> 
> On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> > 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.

> > 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@4b {
> 
> touchscreen@

Ok.

> > +   compatible = "atmel,maxtouch";
> > +   reg = <0x4b>;
> > +   interrupt-parent = <>;
> > +   interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> 
> reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> 
> > +   vdd-supply = <>;
> > +   avdd-supply = <>;
> 
> 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 :-(.

> 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.

> > + {
> > +   ak8975@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.txt

Do 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.

Best regards,
Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


signature.asc
Description: Digital signature


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-03 Thread Pavel Machek
On Tue 2018-01-02 18:27:20, Sebastian Reichel wrote:
> Hi,
> 
> On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> > 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.

> > 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@4b {
> 
> touchscreen@

Ok.

> > +   compatible = "atmel,maxtouch";
> > +   reg = <0x4b>;
> > +   interrupt-parent = <>;
> > +   interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> 
> reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> 
> > +   vdd-supply = <>;
> > +   avdd-supply = <>;
> 
> 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 :-(.

> 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.

> > + {
> > +   ak8975@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.txt

Do 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.

Best regards,
Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


signature.asc
Description: Digital signature


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-02 Thread Filip Matijević
Hi,

On 01/02/2018 06:27 PM, Sebastian Reichel wrote:
> Hi,
> 
> On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
>> This adds dts support for magnetometer and touchscreen on Nokia N9.
> 
> I think it makes sense to have this splitted.
> 
>> Signed-off-by: Pavel Machek 
>>
>> 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@4b {
> 
> touchscreen@
> 
>> +compatible = "atmel,maxtouch";
>> +reg = <0x4b>;
>> +interrupt-parent = <>;
>> +interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> 
> reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> 

I'm using reset-gpios = < 17 0>;

>> +vdd-supply = <>;
>> +avdd-supply = <>;
> 
> Those two are not mentioned in the binding and not supported by the
> driver as far as I can see?
> 

Right, but vio and vaux1 need to be on - the reason why it's working at
all is because lis302 uses the same regulators and turns them on. IMHO
either we add the support for regulators to maxtouch driver or we add
regulator-always-on to vio and vaux1.

>> +};
>> +};
> 
> Touchscreen with the same settings is required for n950, so it
> should be in the shared n950 + n9 file.
> 

As a side-note, there is no pinmux mentioned and usually I'd use
OMAP3_CORE1_IOPAD(0x20c8, PIN_INPUT | MUX_MODE4) /* gpio_61*/
OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE4) /* gpio_81*/

For reasons that I can't explain, first line (gpmc_nbe1->gpio_61) breaks
it for me, so I've commented it out. Still, if anyone has an idea what
is wrong with that please let me know.

>> + {
>> +ak8975@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.txt
> 
>>  
>>   {
> 
> -- Sebastian
> 

Best regards,
Filip


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-02 Thread Filip Matijević
Hi,

On 01/02/2018 06:27 PM, Sebastian Reichel wrote:
> Hi,
> 
> On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
>> This adds dts support for magnetometer and touchscreen on Nokia N9.
> 
> I think it makes sense to have this splitted.
> 
>> Signed-off-by: Pavel Machek 
>>
>> 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@4b {
> 
> touchscreen@
> 
>> +compatible = "atmel,maxtouch";
>> +reg = <0x4b>;
>> +interrupt-parent = <>;
>> +interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/
> 
> reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;
> 

I'm using reset-gpios = < 17 0>;

>> +vdd-supply = <>;
>> +avdd-supply = <>;
> 
> Those two are not mentioned in the binding and not supported by the
> driver as far as I can see?
> 

Right, but vio and vaux1 need to be on - the reason why it's working at
all is because lis302 uses the same regulators and turns them on. IMHO
either we add the support for regulators to maxtouch driver or we add
regulator-always-on to vio and vaux1.

>> +};
>> +};
> 
> Touchscreen with the same settings is required for n950, so it
> should be in the shared n950 + n9 file.
> 

As a side-note, there is no pinmux mentioned and usually I'd use
OMAP3_CORE1_IOPAD(0x20c8, PIN_INPUT | MUX_MODE4) /* gpio_61*/
OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE4) /* gpio_81*/

For reasons that I can't explain, first line (gpmc_nbe1->gpio_61) breaks
it for me, so I've commented it out. Still, if anyone has an idea what
is wrong with that please let me know.

>> + {
>> +ak8975@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.txt
> 
>>  
>>   {
> 
> -- Sebastian
> 

Best regards,
Filip


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-02 Thread Sebastian Reichel
Hi,

On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> This adds dts support for magnetometer and touchscreen on Nokia N9.

I think it makes sense to have this splitted.

> Signed-off-by: Pavel Machek 
> 
> 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@4b {

touchscreen@

> + compatible = "atmel,maxtouch";
> + reg = <0x4b>;
> + interrupt-parent = <>;
> + interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/

reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;

> + vdd-supply = <>;
> + avdd-supply = <>;

Those two are not mentioned in the binding and not supported by the
driver as far as I can see?

> + };
> +};

Touchscreen with the same settings is required for n950, so it
should be in the shared n950 + n9 file.

> + {
> + ak8975@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.txt

>  
>   {

-- Sebastian


signature.asc
Description: PGP signature


Re: [PATCH] nokia N9: Add support for magnetometer and touchscreen

2018-01-02 Thread Sebastian Reichel
Hi,

On Tue, Jan 02, 2018 at 02:17:22PM +0100, Pavel Machek wrote:
> This adds dts support for magnetometer and touchscreen on Nokia N9.

I think it makes sense to have this splitted.

> Signed-off-by: Pavel Machek 
> 
> 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@4b {

touchscreen@

> + compatible = "atmel,maxtouch";
> + reg = <0x4b>;
> + interrupt-parent = <>;
> + interrupts = <29 2>; /* gpio_61, IRQF_TRIGGER_FALLING*/

reset-gpios = < 17 GPIO_ACTIVE_SOMETHING>;

> + vdd-supply = <>;
> + avdd-supply = <>;

Those two are not mentioned in the binding and not supported by the
driver as far as I can see?

> + };
> +};

Touchscreen with the same settings is required for n950, so it
should be in the shared n950 + n9 file.

> + {
> + ak8975@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.txt

>  
>   {

-- Sebastian


signature.asc
Description: PGP signature