All of lore.kernel.org
 help / color / mirror / Atom feed
* Advice needed on combination sensor driver implementation
@ 2015-04-16  7:48 utkarsh.gupta
  2015-04-16  7:56 ` Peter Meerwald
  2015-04-16 11:51 ` jic23
  0 siblings, 2 replies; 5+ messages in thread
From: utkarsh.gupta @ 2015-04-16  7:48 UTC (permalink / raw)
  To: linux-iio
  Cc: Fabio.Estevam, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald

[-- Attachment #1: Type: text/plain, Size: 692 bytes --]

Hello,

I am looking at implementing FXOS8700 driver, which consists of an accelerometer and magnetometer, into the linux kernel 4.0. This device can function independently as accel and magnetometer however it has been recommended to implement it as one driver in order to achieve consistency and synchronized functionality of both modules.

Please advice on whether this driver could be implemented as accel_magnetometer combined driver in a separate folder in iio? Or should this be implemented as separate accel and magnetometer modules in their corresponding existing folders in iio?


Thanks & Regards,
Utkarsh Gupta - B45806
Software Apps Engineer
Freescale Semiconductors


[-- Attachment #2: Type: text/html, Size: 2783 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Advice needed on combination sensor driver implementation
  2015-04-16  7:48 Advice needed on combination sensor driver implementation utkarsh.gupta
@ 2015-04-16  7:56 ` Peter Meerwald
  2015-04-16 11:51 ` jic23
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Meerwald @ 2015-04-16  7:56 UTC (permalink / raw)
  To: utkarsh.gupta
  Cc: linux-iio, Fabio.Estevam, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen

Hello,

> Please advice on whether this driver could be implemented as 
> accel_magnetometer combined driver in a separate folder in iio? Or should 
> this be implemented as separate accel and magnetometer modules in their 
> corresponding existing folders in iio?

we already have many combined sensors, e.g. temperature and pressure 
sensors; actually many sensors offer a temperature channel for calibration

I'd just stick the driver under accel/ (because accel/ is shorter than 
magnetometer/ :) and have it implement accelerometer and magnetometer 
channels

regards, p.

-- 

Peter Meerwald
+43-664-2444418 (mobile)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Advice needed on combination sensor driver implementation
  2015-04-16  7:48 Advice needed on combination sensor driver implementation utkarsh.gupta
  2015-04-16  7:56 ` Peter Meerwald
@ 2015-04-16 11:51 ` jic23
  2015-04-16 12:01   ` Daniel Baluta
  2015-04-16 17:08   ` utkarsh.gupta
  1 sibling, 2 replies; 5+ messages in thread
From: jic23 @ 2015-04-16 11:51 UTC (permalink / raw)
  To: utkarsh.gupta
  Cc: linux-iio, Fabio.Estevam, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald

utkarsh.gupta@freescale.com writes: 

> Hello, 
> 
> I am looking at implementing FXOS8700 driver, which consists of an accelerometer and magnetometer, into the linux kernel 4.0. This device can function independently as accel and magnetometer however it has been recommended to implement it as one driver in order to achieve consistency and synchronized functionality of both modules. 
> 
> Please advice on whether this driver could be implemented as accel_magnetometer combined driver in a separate folder in iio? Or should this be implemented as separate accel and magnetometer modules in their corresponding existing folders in iio?

Hi, Just been reading the datasheet over lunch.  This is a bit more
interesting than the usual approach of simply putting two bits of silicon
into one package, and the two sensors are tightly coupled. 

As such it's similar to the full IMUs such as the ADIS16400 and similar. 

Anyhow, definitely a unified driver. Location wise, I'm tempted to suggest
we rename the IMU directory as 'combined' or something similar and drop
all properly integrated multiple sensor devices in there. 

Note that things like the HID sensors have independent sampling rates and
timing for the different parts (they really are a bunch of sensors shoved
in a box) so there we do the whole separated drivers thing. 


There are certainly a few interesting corners on this chip, such as its
event based fifo filling.  We've seen that before in impact sensors, but
don't yet have it well supported. 

The fact that the fifo only covers the acceleration channels will make
that side of things a little trickier than normal.  We probably want
a means to make this apparent to userspace, but you'll have to disable
the fifo and read directly if the magnetometer channels are enabled. 

Anyhow, looking forward to seeing the driver! 

Jonathan
>  
> 
> Thanks & Regards,
> Utkarsh Gupta - B45806
> Software Apps Engineer
> Freescale Semiconductors 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Advice needed on combination sensor driver implementation
  2015-04-16 11:51 ` jic23
@ 2015-04-16 12:01   ` Daniel Baluta
  2015-04-16 17:08   ` utkarsh.gupta
  1 sibling, 0 replies; 5+ messages in thread
From: Daniel Baluta @ 2015-04-16 12:01 UTC (permalink / raw)
  To: jic23
  Cc: utkarsh.gupta, linux-iio, Fabio.Estevam, Jonathan Cameron,
	Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald

On Thu, Apr 16, 2015 at 2:51 PM,  <jic23@jic23.retrosnub.co.uk> wrote:
> utkarsh.gupta@freescale.com writes:
>>
>> Hello,
>> I am looking at implementing FXOS8700 driver, which consists of an
>> accelerometer and magnetometer, into the linux kernel 4.0. This device can
>> function independently as accel and magnetometer however it has been
>> recommended to implement it as one driver in order to achieve consistency
>> and synchronized functionality of both modules.
>> Please advice on whether this driver could be implemented as
>> accel_magnetometer combined driver in a separate folder in iio? Or should
>> this be implemented as separate accel and magnetometer modules in their
>> corresponding existing folders in iio?
>
>
> Hi, Just been reading the datasheet over lunch.  This is a bit more
> interesting than the usual approach of simply putting two bits of silicon
> into one package, and the two sensors are tightly coupled.
> As such it's similar to the full IMUs such as the ADIS16400 and similar.
> Anyhow, definitely a unified driver. Location wise, I'm tempted to suggest
> we rename the IMU directory as 'combined' or something similar and drop
> all properly integrated multiple sensor devices in there.

s/combined/combo would be better.

Daniel.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Advice needed on combination sensor driver implementation
  2015-04-16 11:51 ` jic23
  2015-04-16 12:01   ` Daniel Baluta
@ 2015-04-16 17:08   ` utkarsh.gupta
  1 sibling, 0 replies; 5+ messages in thread
From: utkarsh.gupta @ 2015-04-16 17:08 UTC (permalink / raw)
  To: jic23
  Cc: linux-iio, Fabio.Estevam, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald

SGVsbG8gSm9uYXRoYW4sDQoNClRoYW5rIHlvdSBmb3IgeW91ciBzdWdnZXN0aW9uLiBBcyBwZXIg
eW91ciBzdWdnZXN0aW9uIEkgYW0gZ29pbmcgdG8gc3RhcnQgaW4gYSBkaXJlY3RvcnkgY2FsbGVk
IGRyaXZlcnMvaWlvL2NvbWJpbmF0ZWQgb3IgY29tYm8uIElmIGluIGxhdGVyIHN0YWdlcyBpdCBp
cyBkZWNpZGVkIHRvIGluY2x1ZGUgYWxsIHRoZSBpbnRlZ3JhdGVkIG11bHRpcGxlIHNlbnNvcnMg
aW50byBvbmUgZm9sZGVyLCB0aGlzIGZvbGRlciBjb3VsZCBiZSB1c2VkLg0KDQpUaGFua3MgJiBS
ZWdhcmRzLA0KVXRrYXJzaCBHdXB0YSDigJMgQjQ1ODA2DQpTb2Z0d2FyZSBBcHBzIEVuZ2luZWVy
DQpGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvcnMNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
CkZyb206IGppYzIzQGppYzIzLnJldHJvc251Yi5jby51ayBbbWFpbHRvOmppYzIzQGppYzIzLnJl
dHJvc251Yi5jby51a10gDQpTZW50OiBUaHVyc2RheSwgQXByaWwgMTYsIDIwMTUgNjo1MSBBTQ0K
VG86IEd1cHRhIFV0a2Fyc2gtQjQ1ODA2DQpDYzogbGludXgtaWlvQHZnZXIua2VybmVsLm9yZzsg
RXN0ZXZhbSBGYWJpby1SNDk0OTY7IEpvbmF0aGFuIENhbWVyb247IEhhcnRtdXQgS25hYWNrOyBM
YXJzLVBldGVyIENsYXVzZW47IFBldGVyIE1lZXJ3YWxkDQpTdWJqZWN0OiBSZTogQWR2aWNlIG5l
ZWRlZCBvbiBjb21iaW5hdGlvbiBzZW5zb3IgZHJpdmVyIGltcGxlbWVudGF0aW9uDQoNCnV0a2Fy
c2guZ3VwdGFAZnJlZXNjYWxlLmNvbSB3cml0ZXM6IA0KDQo+IEhlbGxvLA0KPiANCj4gSSBhbSBs
b29raW5nIGF0IGltcGxlbWVudGluZyBGWE9TODcwMCBkcml2ZXIsIHdoaWNoIGNvbnNpc3RzIG9m
IGFuIGFjY2VsZXJvbWV0ZXIgYW5kIG1hZ25ldG9tZXRlciwgaW50byB0aGUgbGludXgga2VybmVs
IDQuMC4gVGhpcyBkZXZpY2UgY2FuIGZ1bmN0aW9uIGluZGVwZW5kZW50bHkgYXMgYWNjZWwgYW5k
IG1hZ25ldG9tZXRlciBob3dldmVyIGl0IGhhcyBiZWVuIHJlY29tbWVuZGVkIHRvIGltcGxlbWVu
dCBpdCBhcyBvbmUgZHJpdmVyIGluIG9yZGVyIHRvIGFjaGlldmUgY29uc2lzdGVuY3kgYW5kIHN5
bmNocm9uaXplZCBmdW5jdGlvbmFsaXR5IG9mIGJvdGggbW9kdWxlcy4gDQo+IA0KPiBQbGVhc2Ug
YWR2aWNlIG9uIHdoZXRoZXIgdGhpcyBkcml2ZXIgY291bGQgYmUgaW1wbGVtZW50ZWQgYXMgYWNj
ZWxfbWFnbmV0b21ldGVyIGNvbWJpbmVkIGRyaXZlciBpbiBhIHNlcGFyYXRlIGZvbGRlciBpbiBp
aW8/IE9yIHNob3VsZCB0aGlzIGJlIGltcGxlbWVudGVkIGFzIHNlcGFyYXRlIGFjY2VsIGFuZCBt
YWduZXRvbWV0ZXIgbW9kdWxlcyBpbiB0aGVpciBjb3JyZXNwb25kaW5nIGV4aXN0aW5nIGZvbGRl
cnMgaW4gaWlvPw0KDQpIaSwgSnVzdCBiZWVuIHJlYWRpbmcgdGhlIGRhdGFzaGVldCBvdmVyIGx1
bmNoLiAgVGhpcyBpcyBhIGJpdCBtb3JlIGludGVyZXN0aW5nIHRoYW4gdGhlIHVzdWFsIGFwcHJv
YWNoIG9mIHNpbXBseSBwdXR0aW5nIHR3byBiaXRzIG9mIHNpbGljb24gaW50byBvbmUgcGFja2Fn
ZSwgYW5kIHRoZSB0d28gc2Vuc29ycyBhcmUgdGlnaHRseSBjb3VwbGVkLiANCg0KQXMgc3VjaCBp
dCdzIHNpbWlsYXIgdG8gdGhlIGZ1bGwgSU1VcyBzdWNoIGFzIHRoZSBBRElTMTY0MDAgYW5kIHNp
bWlsYXIuIA0KDQpBbnlob3csIGRlZmluaXRlbHkgYSB1bmlmaWVkIGRyaXZlci4gTG9jYXRpb24g
d2lzZSwgSSdtIHRlbXB0ZWQgdG8gc3VnZ2VzdCB3ZSByZW5hbWUgdGhlIElNVSBkaXJlY3Rvcnkg
YXMgJ2NvbWJpbmVkJyBvciBzb21ldGhpbmcgc2ltaWxhciBhbmQgZHJvcCBhbGwgcHJvcGVybHkg
aW50ZWdyYXRlZCBtdWx0aXBsZSBzZW5zb3IgZGV2aWNlcyBpbiB0aGVyZS4gDQoNCk5vdGUgdGhh
dCB0aGluZ3MgbGlrZSB0aGUgSElEIHNlbnNvcnMgaGF2ZSBpbmRlcGVuZGVudCBzYW1wbGluZyBy
YXRlcyBhbmQgdGltaW5nIGZvciB0aGUgZGlmZmVyZW50IHBhcnRzICh0aGV5IHJlYWxseSBhcmUg
YSBidW5jaCBvZiBzZW5zb3JzIHNob3ZlZCBpbiBhIGJveCkgc28gdGhlcmUgd2UgZG8gdGhlIHdo
b2xlIHNlcGFyYXRlZCBkcml2ZXJzIHRoaW5nLiANCg0KDQpUaGVyZSBhcmUgY2VydGFpbmx5IGEg
ZmV3IGludGVyZXN0aW5nIGNvcm5lcnMgb24gdGhpcyBjaGlwLCBzdWNoIGFzIGl0cyBldmVudCBi
YXNlZCBmaWZvIGZpbGxpbmcuICBXZSd2ZSBzZWVuIHRoYXQgYmVmb3JlIGluIGltcGFjdCBzZW5z
b3JzLCBidXQgZG9uJ3QgeWV0IGhhdmUgaXQgd2VsbCBzdXBwb3J0ZWQuIA0KDQpUaGUgZmFjdCB0
aGF0IHRoZSBmaWZvIG9ubHkgY292ZXJzIHRoZSBhY2NlbGVyYXRpb24gY2hhbm5lbHMgd2lsbCBt
YWtlIHRoYXQgc2lkZSBvZiB0aGluZ3MgYSBsaXR0bGUgdHJpY2tpZXIgdGhhbiBub3JtYWwuICBX
ZSBwcm9iYWJseSB3YW50IGEgbWVhbnMgdG8gbWFrZSB0aGlzIGFwcGFyZW50IHRvIHVzZXJzcGFj
ZSwgYnV0IHlvdSdsbCBoYXZlIHRvIGRpc2FibGUgdGhlIGZpZm8gYW5kIHJlYWQgZGlyZWN0bHkg
aWYgdGhlIG1hZ25ldG9tZXRlciBjaGFubmVscyBhcmUgZW5hYmxlZC4gDQoNCkFueWhvdywgbG9v
a2luZyBmb3J3YXJkIHRvIHNlZWluZyB0aGUgZHJpdmVyISANCg0KSm9uYXRoYW4NCj4gIA0KPiAN
Cj4gVGhhbmtzICYgUmVnYXJkcywNCj4gVXRrYXJzaCBHdXB0YSAtIEI0NTgwNg0KPiBTb2Z0d2Fy
ZSBBcHBzIEVuZ2luZWVyDQo+IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9ycw0KPiANCg==

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-04-16 17:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-16  7:48 Advice needed on combination sensor driver implementation utkarsh.gupta
2015-04-16  7:56 ` Peter Meerwald
2015-04-16 11:51 ` jic23
2015-04-16 12:01   ` Daniel Baluta
2015-04-16 17:08   ` utkarsh.gupta

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.