From: Matti Vaittinen <mazziesaccount@gmail.com>
To: Matti Vaittinen <mazziesaccount@gmail.com>,
Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Matti Vaittinen <mazziesaccount@gmail.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Angel Iglesias <ang.iglesiasg@gmail.com>,
Andreas Klinger <ak@it-klinger.de>,
Benjamin Bara <bbara93@gmail.com>,
Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v4 0/5] Support ROHM BM1390 pressure sensor
Date: Wed, 27 Sep 2023 11:18:38 +0300 [thread overview]
Message-ID: <cover.1695727471.git.mazziesaccount@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4114 bytes --]
ROHM BM1390 Pressure sensor (BM1390GLV-Z) can measure pressures ranging
from 300 hPa to 1300 hPa with configurable measurement averaging and an
internal FIFO. The sensor does also provide temperature measurements
although, according to the data sheet, sensor performs internal
temperature compensation for the MEMS.
Sensor does also contain IIR filter implemented in HW. The data-sheet
says the IIR filter can be configured to be "weak", "middle" or
"strong". Some RMS noise figures are provided in data sheet but no
accurate maths for the filter configurations is provided.
I actually asked if we can define 3db frequencies corresponding to these
IIR filter settings - and I received values 0.452Hz, 0.167Hz, and 0.047Hz
but I am not at all sure we understood each others with the HW
colleagues... Hence, the IIR filter configuration is not supported by this
driver and the filter is just configured to the "middle" setting.
(at least for now)
It would also be possible to not use IIR filter but just do some simple
averaging. I wonder if it would make sense to implement the OVERSAMPLING
value setting so that if this value is written, IIR filter is disabled and
number of samples to be averaged is set to value requested by
OVERSAMPLING. The data-sheet has a mention that if IIR is used, the
number of averaged samples must be set to a fixed value.
The FIFO measurement mode (in sensor hardware) is only measuring the
pressure and not the temperature. The driver measures temperature when
FIFO is flushed and simply uses the same measured temperature value to
all reported temperatures. This should not be a problem when temperature
is not changing very rapidly (several degrees C / second) but allows users
to get the temperature measurements from sensor without any additional
logic.
Revision history:
Major changes here, please see the head room of individual patches for
more detailed list.
v3 => v4:
rebased back on v6.6-rc1
dropped patch implementing the exact match search for
available_scan_mask
tools: iio_generic_buffer: comment on aligning logic
bm1390 driver:
- cleanups and fixes
- own info struct for case where IRQ is omitted and FIFO not
supported
- fix support for using other triggers. (not really tested but
should work)
v2 => v3:
rebased on v6.6-rc2
added three IIO fixup patches so numbering of patches changed
dt-bindings/MAINTAINERS: No changes
bm1390 driver:
- various cleanups and fixes
- do not disable IRQ
- fix temperature reading when FIFO is used
- separate buffer and trigger initialization
v1 => v2:
rebased on v6.6-rc1
dt-bindings:
- fix compatible in the example
sensor driver:
- drop unnecessary write_raw callback
- plenty of small improvements and fixes
MAINTAINERS:
- No changes
Matti Vaittinen (5):
tools: iio: iio_generic_buffer ensure alignment
iio: improve doc for available_scan_mask
dt-bindings: Add ROHM BM1390 pressure sensor
iio: pressure: Support ROHM BU1390
MAINTAINERS: Add ROHM BM1390
.../bindings/iio/pressure/rohm,bm1390.yaml | 52 +
MAINTAINERS | 6 +
drivers/iio/pressure/Kconfig | 9 +
drivers/iio/pressure/Makefile | 1 +
drivers/iio/pressure/rohm-bm1390.c | 934 ++++++++++++++++++
include/linux/iio/iio.h | 4 +-
tools/iio/iio_generic_buffer.c | 18 +-
7 files changed, 1022 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/pressure/rohm,bm1390.yaml
create mode 100644 drivers/iio/pressure/rohm-bm1390.c
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
--
2.41.0
--
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND
~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =]
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next reply other threads:[~2023-09-27 8:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-27 8:18 Matti Vaittinen [this message]
2023-09-27 8:26 ` [PATCH v4 1/5] tools: iio: iio_generic_buffer ensure alignment Matti Vaittinen
2023-09-27 12:27 ` Andy Shevchenko
2023-09-27 12:32 ` Matti Vaittinen
2023-09-30 16:34 ` Jonathan Cameron
2023-10-02 7:33 ` Matti Vaittinen
2023-09-27 8:27 ` [PATCH v4 2/5] iio: improve doc for available_scan_mask Matti Vaittinen
2023-09-30 16:54 ` Jonathan Cameron
2023-09-27 8:27 ` [PATCH v4 3/5] dt-bindings: Add ROHM BM1390 pressure sensor Matti Vaittinen
2023-09-27 8:28 ` [PATCH v4 4/5] iio: pressure: Support ROHM BU1390 Matti Vaittinen
2023-09-27 8:28 ` [PATCH v4 5/5] MAINTAINERS: Add ROHM BM1390 Matti Vaittinen
2023-09-30 17:01 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1695727471.git.mazziesaccount@gmail.com \
--to=mazziesaccount@gmail.com \
--cc=ak@it-klinger.de \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ang.iglesiasg@gmail.com \
--cc=bbara93@gmail.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matti.vaittinen@fi.rohmeurope.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).