[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240905-wip-bl-ad3552r-axi-v0-iio-testing-v2-0-87d669674c00@baylibre.com>
Date: Thu, 05 Sep 2024 17:17:30 +0200
From: Angelo Dureghello <adureghello@...libre.com>
To: Lars-Peter Clausen <lars@...afoo.de>,
Michael Hennerich <Michael.Hennerich@...log.com>,
Nuno Sá <nuno.sa@...log.com>,
Jonathan Cameron <jic23@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Olivier Moysan <olivier.moysan@...s.st.com>
Cc: linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, David Lechner <dlechner@...libre.com>,
Angelo Dureghello <adureghello@...libre.com>
Subject: [PATCH v2 0/9] iio: add support for the ad3552r AXI DAC IP
The serie comes from the previously discussed RFC, that i
converted to a normal patch from this v2.
Purpose is to add ad3552r AXI DAC (fpga-based) support.
The fpga DAC IP has been created to reach the maximum speed
(33MUPS) supported from the ad3552r. To obtain the maximum
transfer rate, the custom module has been implemented using
the QSPI lines in DDR mode, using a dma buffer.
The design is actually using the DAC backend since the register
map is the same of the generic DAC IP, except for some customized
bitfields. For this reason, a new "compatible" has been added
in adi-axi-dac.c.
Also, backend has been extended with all the needed functions
needed for this use case, keeping the names gneric.
Note: the following patch is actually for linux-iio/testing
---
Changes in v2:
- use unsigned int on bus_reg_read/write
- add a compatible in axi-dac backend for the ad3552r DAC IP
- minor code alignment fixes
- fix a return value not checked
- change devicetree structure setting ad3552r-axi as a backend
subnode
- add synchronous_mode_available in the ABI doc
Signed-off-by: Angelo Dureghello <adureghello@...libre.com>
Co-developed-by: David Lechner <dlechner@...libre.com>
Co-developed-by: Nuno Sá <nuno.sa@...log.com>
---
Angelo Dureghello (9):
dt-bindings: iio: dac: ad3552r: add io-backend property
iio: backend: extend features
iio: backend adi-axi-dac: extend features
iio: backend adi-axi-dac: add registering of child fdt node
dt-bindings: iio: dac: add ad3552r axi-dac compatible
iio: dac: ad3552r: changes to use FIELD_PREP
iio: dac: ad3552r: extract common code (no changes in behavior intended)
iio: dac: ad3552r: add axi platform driver
iio: ABI: add DAC sysfs synchronous_mode parameter
Documentation/ABI/testing/sysfs-bus-iio-dac | 16 +
.../devicetree/bindings/iio/dac/adi,ad3552r.yaml | 42 +-
.../devicetree/bindings/iio/dac/adi,axi-dac.yaml | 1 +
drivers/iio/dac/Kconfig | 11 +
drivers/iio/dac/Makefile | 3 +-
drivers/iio/dac/ad3552r-axi.c | 567 +++++++++++++++++++++
drivers/iio/dac/ad3552r-common.c | 163 ++++++
drivers/iio/dac/ad3552r.c | 394 +++-----------
drivers/iio/dac/ad3552r.h | 199 ++++++++
drivers/iio/dac/adi-axi-dac.c | 282 +++++++++-
drivers/iio/industrialio-backend.c | 157 ++++++
include/linux/iio/backend.h | 33 ++
12 files changed, 1532 insertions(+), 336 deletions(-)
---
base-commit: 8b6f7caca90addc22eb4ae958639048001096003
change-id: 20240905-wip-bl-ad3552r-axi-v0-iio-testing-1ef516b10ef0
Best regards,
--
o/ QW5nZWxvIER1cmVnaGVsbG8=
www.kernel-space.org
e: angelo at kernel-space.org
c: +39 388 8550663
Powered by blists - more mailing lists