linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH 0/6] iio: Add sensorhub driver
@ 2014-09-03 14:55 Karol Wrona
  2014-09-03 14:55 ` [RFC/PATCH 1/6] iio:sensorhub: Add sensorhub common library Karol Wrona
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Karol Wrona @ 2014-09-03 14:55 UTC (permalink / raw)
  To: Jonathan Cameron, linux-iio, Arnd Bergmann, linux-kernel
  Cc: Bartlomiej Zolnierkiewicz, Kyungmin Park, Karol Wrona

Hello,

This patchset adds support for sensorhub. It is an external mcu which manages
and collects data from several sensors i.e. on Galaxy Gear 2 watch.

It contains:
- spi driver for sensorhub device
- DT binding for the device
- IIO common utils for ssp sensors, a trigger module
- IIO accelerometer driver
- IIO gyroscope driver

Generally this is an attempt to generalize sensors handling on some Samsung
boards which have multiple sensors IC and also sensorhub does some data
processing itself.

I would like to get your opinion about such solution. The idea is that
data communication layer gives control and data to proper IIO sensor devices.
In this case I chose that sensor drivers are platform ones represented by
child nodes of sensorhub in DT. These compatibles are used mainly to match
sensor to driver. For example at this stage there is one accelerometer but on
other board can have different one with changed data format etc. In this case
ssp_accel_sensor driver could handle several physical devices of accel class.
Unfortunately the firmware gives only an information about used sensor type,
the driver can find out that there is an accelerometer on board but nothing
specific about the sensor.

Other question:
The sensorhub can implement some devices which are non common for IIO and hard
to standardise. These ones need two way communication (raw write will not be
proper for that) and can produce data packets with flexible size to 2KB).
I'm wondering if it is worth to look for solution in IIO and implement
something like IIO_BULK sensor with no standard channel description
or solve this problem using cdev. This is the reason why the part of the 
patchset is intended to be placed in misc.

Regards,
Karol

Karol Wrona (6):
  iio:sensorhub: Add sensorhub common library
  misc: sensorhub: Add sensorhub driver
  sensorhub: Add sensorhub bindings
  iio: sensorhub: Add sensorhub iio commons
  iio: sensorhub: Add sensorhub accelerometer sensor
  iio: sensorhub: Add sensorhub gyroscope sensor

 .../devicetree/bindings/misc/sensorhub.txt         |   51 ++
 drivers/iio/accel/Makefile                         |    2 +
 drivers/iio/accel/ssp_accel_sensor.c               |  240 ++++++
 drivers/iio/common/Kconfig                         |    1 +
 drivers/iio/common/Makefile                        |    1 +
 drivers/iio/common/ssp_sensors/Kconfig             |   15 +
 drivers/iio/common/ssp_sensors/Makefile            |    6 +
 .../iio/common/ssp_sensors/ssp-sensor-trigger.c    |   92 +++
 drivers/iio/common/ssp_sensors/ssp_iio.c           |   35 +
 drivers/iio/common/ssp_sensors/ssp_iio_sensor.h    |   62 ++
 drivers/iio/gyro/Makefile                          |    2 +
 drivers/iio/gyro/ssp_gyro_sensor.c                 |  225 ++++++
 drivers/misc/Kconfig                               |    1 +
 drivers/misc/Makefile                              |    1 +
 drivers/misc/sensorhub/Kconfig                     |   13 +
 drivers/misc/sensorhub/Makefile                    |    8 +
 drivers/misc/sensorhub/ssp.h                       |  323 ++++++++
 drivers/misc/sensorhub/ssp_data.c                  |   61 ++
 drivers/misc/sensorhub/ssp_dev.c                   |  782 ++++++++++++++++++++
 drivers/misc/sensorhub/ssp_firmware.c              |  571 ++++++++++++++
 drivers/misc/sensorhub/ssp_spi.c                   |  700 ++++++++++++++++++
 include/linux/iio/common/ssp_sensors.h             |   82 ++
 22 files changed, 3274 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/sensorhub.txt
 create mode 100644 drivers/iio/accel/ssp_accel_sensor.c
 create mode 100644 drivers/iio/common/ssp_sensors/Kconfig
 create mode 100644 drivers/iio/common/ssp_sensors/Makefile
 create mode 100644 drivers/iio/common/ssp_sensors/ssp-sensor-trigger.c
 create mode 100644 drivers/iio/common/ssp_sensors/ssp_iio.c
 create mode 100644 drivers/iio/common/ssp_sensors/ssp_iio_sensor.h
 create mode 100644 drivers/iio/gyro/ssp_gyro_sensor.c
 create mode 100644 drivers/misc/sensorhub/Kconfig
 create mode 100644 drivers/misc/sensorhub/Makefile
 create mode 100644 drivers/misc/sensorhub/ssp.h
 create mode 100644 drivers/misc/sensorhub/ssp_data.c
 create mode 100644 drivers/misc/sensorhub/ssp_dev.c
 create mode 100644 drivers/misc/sensorhub/ssp_firmware.c
 create mode 100644 drivers/misc/sensorhub/ssp_spi.c
 create mode 100644 include/linux/iio/common/ssp_sensors.h

-- 
1.7.9.5


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

end of thread, other threads:[~2014-09-14 17:10 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-03 14:55 [RFC/PATCH 0/6] iio: Add sensorhub driver Karol Wrona
2014-09-03 14:55 ` [RFC/PATCH 1/6] iio:sensorhub: Add sensorhub common library Karol Wrona
2014-09-14 14:17   ` Jonathan Cameron
2014-09-03 14:55 ` [RFC/PATCH 2/6] misc: sensorhub: Add sensorhub driver Karol Wrona
2014-09-14 15:42   ` Jonathan Cameron
2014-09-03 14:55 ` [RFC/PATCH 3/6] sensorhub: Add sensorhub bindings Karol Wrona
2014-09-14 15:45   ` Jonathan Cameron
2014-09-03 14:55 ` [RFC/PATCH 4/6] iio: sensorhub: Add sensorhub iio commons Karol Wrona
2014-09-14 15:54   ` Jonathan Cameron
2014-09-03 14:55 ` [RFC/PATCH 5/6] iio: sensorhub: Add sensorhub accelerometer sensor Karol Wrona
2014-09-14 17:10   ` Jonathan Cameron
2014-09-03 14:55 ` [RFC/PATCH 6/6] iio: sensorhub: Add sensorhub gyroscope sensor Karol Wrona
2014-09-14 17:09   ` Jonathan Cameron
2014-09-03 19:52 ` [RFC/PATCH 0/6] iio: Add sensorhub driver Jonathan Cameron
2014-09-08 14:55   ` Karol Wrona
2014-09-11 11:05     ` Octavian Purdila
2014-09-14 14:14       ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).