All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC v4 00/10] AD9910 Direct Digital Synthesizer
@ 2026-05-08 17:00 ` Rodrigo Alencar via B4 Relay
  0 siblings, 0 replies; 47+ messages in thread
From: Rodrigo Alencar @ 2026-05-08 17:00 UTC (permalink / raw)
  To: linux-iio, devicetree, linux-kernel, linux-doc, linux-hardening
  Cc: Lars-Peter Clausen, Michael Hennerich, Jonathan Cameron,
	David Lechner, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Philipp Zabel, Jonathan Corbet, Shuah Khan,
	Kees Cook, Gustavo A. R. Silva, Rodrigo Alencar

This patch series adds support for the Analog Devices AD9910 DDS.
This is a RFC so that we can agree/discuss on the design that follows:

This is a follow-up of the V3 discussion. For V1, we reached into
this channel composition agreement where physical channels may have
sub-channels. That adds the flexibility necessary for this design.
During V2, some feedback indicated that the ABI is too device-specific,
so DRG/RAM destination and operating modes are configured through
alternate paths and profile channels are created. In V3, there was
further discussion on the ABI and on mode priority debug.

The AD9910 DDS core can be driven through several independent mechanisms:
single tone profiles, a digital ramp generator, an internal RAM playback
engine, a parallel data port, and output shift keying. Each of these
represents a distinct signal path into the DDS accumulator, so the driver
models them as separate IIO output channels (all IIO_ALTVOLTAGE type).
This per-channel separation allows userspace to configure each mode
independently through its own set of sysfs attributes, and to
enable/disable modes individually via IIO_CHAN_INFO_ENABLE, relying on
the hardware's own mode selection architecture.

The AD9910 register map is not suited for the regmap framework: register
widths vary across the map (16, 32, and 64 bits). The driver instead
implements direct SPI access helpers with a software register cache, using
type-specific read/write/update functions (ad9910_reg{16,32,64}_{read,
write,update}) that handle endianness conversion and cache coherency.

Registers are cached for several reasons. The control/function registers
(CFR1, CFR2) are frequently queried to determine the current operating
mode (e.g., checking RAM_ENABLE before every profile register access),
and caching avoids repeated SPI read transactions for what are
essentially state checks. The cache also enables efficient
read-modify-write updates on multi-byte registers: the update functions
merge new field values with the cached register content without issuing
a SPI read, and skip the write entirely when the value is unchanged.
Finally, the profile registers serve dual purposes depending on whether
RAM mode is active -- they hold single tone parameters (FTW, POW, ASF)
in normal operation but are repurposed for RAM playback configuration
(start/end address, step rate, operating mode) when RAM is enabled. A
shadow register array (reg_profile[]) preserves the inactive mode's
settings across transitions, so no state is lost when switching between
single tone and RAM operation.

RAM data is loaded through firmware upload infrastructure. Userspace
writes the waveform data as a raw binary buffer (up to 4096 bytes for
the full 1024x32-bit RAM), and the driver reverses the byte array and
transfers it to the device in a single SPI transaction. Per-profile
start/end addresses and playback parameters (operating mode, step rate,
no-dwell control) are also configured through firmware update, using
metadata in the header.

Streaming data to the DDS core through the parallel data port at the
PD_CLK rate is not covered by this series. That functionality would
be added in a separate patch series, building on top of the IIO backend
infrastructure to provide a proper buffered data path.

As I am pushing implementation, as lot has been done already without much
supervision or agreement, still I would be interested on hearing about
the design choices discussed above.

Kind regards,

Rodrigo Alencar

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
---
Changes in v4:
- Digital Ramp step exposed as a rate of change.
- Dwell modes of Digital Ramp are controlled with dwell_en attribute. 
- Disable of active profile behaves as a software powerdown.
- Expose debugfs attributes to show mode priority.
- Add 64-bit debugfs reg access support into iio core.
- Link to v3: https://lore.kernel.org/r/20260417-ad9910-iio-driver-v3-0-29b93712a228@analog.com

Changes in v3:
- RAM custom configs (address range, destination, modes) loaded during firmware write.
- DRG destination defined when attrs are written.
- DRG modes broken down into enable attrs for ramp up/down channels.
- Add separate profile channels, switching done through enable attr
- Link to v2: https://lore.kernel.org/r/20260318-ad9910-iio-driver-v2-0-e79f93becf11@analog.com

Changes in v2:
- Device-tree bindings changes.
- RAM loading to use firmware update interface.
- Rearrange of channels into a hierarchy.
- Link to v1: https://lore.kernel.org/r/20260220-ad9910-iio-driver-v1-0-3b264aa48a10@analog.com

---
Rodrigo Alencar (10):
      dt-bindings: iio: frequency: add ad9910
      iio: core: support 64-bit register through debugfs
      iio: frequency: ad9910: initial driver implementation
      iio: frequency: ad9910: add basic parallel port support
      iio: frequency: ad9910: add digital ramp generator support
      iio: frequency: ad9910: add RAM mode support
      iio: frequency: ad9910: add output shift keying support
      iio: frequency: ad9910: show channel priority in debugfs
      Documentation: ABI: testing: add docs for ad9910 sysfs entries
      docs: iio: add documentation for ad9910 driver

 .../ABI/testing/sysfs-bus-iio-frequency-ad9910     |   73 +
 .../bindings/iio/frequency/adi,ad9910.yaml         |  198 ++
 Documentation/iio/ad9910.rst                       |  607 +++++
 Documentation/iio/index.rst                        |    1 +
 MAINTAINERS                                        |   10 +
 drivers/iio/frequency/Kconfig                      |   20 +
 drivers/iio/frequency/Makefile                     |    1 +
 drivers/iio/frequency/ad9910.c                     | 2398 ++++++++++++++++++++
 drivers/iio/industrialio-core.c                    |   33 +-
 include/linux/iio/iio.h                            |    4 +
 10 files changed, 3336 insertions(+), 9 deletions(-)
---
base-commit: 9e62a5d329f8f0f07c4d5f80a691e3f16dcb957c
change-id: 20260218-ad9910-iio-driver-9b3d214c251f

Best regards,
-- 
Rodrigo Alencar <rodrigo.alencar@analog.com>


^ permalink raw reply	[flat|nested] 47+ messages in thread
* Re: [PATCH RFC v4 10/10] docs: iio: add documentation for ad9910 driver
@ 2026-05-10 12:01 kernel test robot
  0 siblings, 0 replies; 47+ messages in thread
From: kernel test robot @ 2026-05-10 12:01 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20260508-ad9910-iio-driver-v4-10-d26bfd20ee3d@analog.com>
References: <20260508-ad9910-iio-driver-v4-10-d26bfd20ee3d@analog.com>
TO: Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com@kernel.org>

Hi Rodrigo,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:

[auto build test WARNING on 9e62a5d329f8f0f07c4d5f80a691e3f16dcb957c]

url:    https://github.com/intel-lab-lkp/linux/commits/Rodrigo-Alencar-via-B4-Relay/dt-bindings-iio-frequency-add-ad9910/20260510-101220
base:   9e62a5d329f8f0f07c4d5f80a691e3f16dcb957c
patch link:    https://lore.kernel.org/r/20260508-ad9910-iio-driver-v4-10-d26bfd20ee3d%40analog.com
patch subject: [PATCH RFC v4 10/10] docs: iio: add documentation for ad9910 driver
:::::: branch date: 10 hours ago
:::::: commit date: 10 hours ago
config: csky-randconfig-2052-20260510 (https://download.01.org/0day-ci/archive/20260510/202605101422.M9fU9TGG-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 15.1.0
dtschema: 2026.5.dev4+g4ccc1997d
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260510/202605101422.M9fU9TGG-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202605101422.M9fU9TGG-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml:148:28: [warning] too few spaces after comma (commas)

vim +148 Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml

6c18b7a7132552 Rodrigo Alencar 2026-05-08    8  
6c18b7a7132552 Rodrigo Alencar 2026-05-08    9  maintainers:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   10    - Rodrigo Alencar <rodrigo.alencar@analog.com>
6c18b7a7132552 Rodrigo Alencar 2026-05-08   11  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   12  description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   13    The AD9910 is a 1 GSPS direct digital synthesizer (DDS) with an integrated
6c18b7a7132552 Rodrigo Alencar 2026-05-08   14    14-bit DAC. It features single tone mode with 8 configurable profiles,
6c18b7a7132552 Rodrigo Alencar 2026-05-08   15    a digital ramp generator, RAM control, OSK, and a parallel data port for
6c18b7a7132552 Rodrigo Alencar 2026-05-08   16    high-speed streaming.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   17  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   18    https://www.analog.com/en/products/ad9910.html
6c18b7a7132552 Rodrigo Alencar 2026-05-08   19  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   20  properties:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   21    compatible:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   22      const: adi,ad9910
6c18b7a7132552 Rodrigo Alencar 2026-05-08   23  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   24    reg:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   25      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   26  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   27    spi-max-frequency:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   28      maximum: 70000000
6c18b7a7132552 Rodrigo Alencar 2026-05-08   29  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   30    clocks:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   31      minItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   32      items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   33        - description: Reference clock (REF_CLK).
6c18b7a7132552 Rodrigo Alencar 2026-05-08   34        - description: Optional synchronization clock (SYNC_IN).
6c18b7a7132552 Rodrigo Alencar 2026-05-08   35  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   36    clock-names:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   37      oneOf:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   38        - items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   39            - const: ref_clk
6c18b7a7132552 Rodrigo Alencar 2026-05-08   40        - items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   41            - const: ref_clk
6c18b7a7132552 Rodrigo Alencar 2026-05-08   42            - const: sync_in
6c18b7a7132552 Rodrigo Alencar 2026-05-08   43  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   44    '#clock-cells':
6c18b7a7132552 Rodrigo Alencar 2026-05-08   45      const: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   46  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   47    clock-output-names:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   48      minItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   49      maxItems: 3
6c18b7a7132552 Rodrigo Alencar 2026-05-08   50      items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   51        enum: [ sync_clk, pdclk, sync_out ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08   52  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   53    interrupts:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   54      minItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   55      items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   56        - description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   57            Signal that indicates that Digital Ramp Generator has reached a limit.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   58        - description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   59            Signal that indicates the end of a RAM Sweep.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   60  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   61    interrupt-names:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   62      minItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   63      maxItems: 2
6c18b7a7132552 Rodrigo Alencar 2026-05-08   64      items:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   65        enum: [ drover, ram_swp_ovr ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08   66  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   67    dvdd-io33-supply:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   68      description: 3.3V Digital I/O supply.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   69  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   70    avdd33-supply:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   71      description: 3.3V Analog DAC supply.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   72  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   73    dvdd18-supply:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   74      description: 1.8V Digital Core supply.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   75  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   76    avdd18-supply:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   77      description: 1.8V Analog Core supply.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   78  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   79    reset-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   80      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   81        GPIOs controlling the Main Device reset.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   82  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   83    io-reset-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   84      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   85      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   86        GPIO controlling the I/O_RESET pin.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   87  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   88    powerdown-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   89      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   90      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   91        GPIO controlling the EXT_PWR_DWN pin.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   92  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   93    update-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   94      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08   95      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   96        GPIO controlling the I/O_UPDATE pin.
6c18b7a7132552 Rodrigo Alencar 2026-05-08   97  
6c18b7a7132552 Rodrigo Alencar 2026-05-08   98    profile-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08   99      minItems: 3
6c18b7a7132552 Rodrigo Alencar 2026-05-08  100      maxItems: 3
6c18b7a7132552 Rodrigo Alencar 2026-05-08  101      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  102        GPIOs controlling the PROFILE[2:0] pins for profile selection.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  103  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  104    sync-err-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  105      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08  106      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  107        GPIO used to read SYNC_SMP_ERR pin status.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  108  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  109    lock-detect-gpios:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  110      maxItems: 1
6c18b7a7132552 Rodrigo Alencar 2026-05-08  111      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  112        GPIO used to read PLL_LOCK pin status.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  113  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  114    adi,pll-enable:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  115      type: boolean
6c18b7a7132552 Rodrigo Alencar 2026-05-08  116      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  117        Indicates that a loop filter is connected and the internal PLL is enabled.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  118        Often used when the reference clock is provided by a crystal or by a
6c18b7a7132552 Rodrigo Alencar 2026-05-08  119        single-ended on-board oscillator.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  120  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  121    adi,charge-pump-current-microamp:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  122      minimum: 212
6c18b7a7132552 Rodrigo Alencar 2026-05-08  123      maximum: 387
6c18b7a7132552 Rodrigo Alencar 2026-05-08  124      default: 212
6c18b7a7132552 Rodrigo Alencar 2026-05-08  125      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  126        PLL charge pump current in microamps. Only applicable when the internal
6c18b7a7132552 Rodrigo Alencar 2026-05-08  127        PLL is enabled. The value is rounded to the nearest supported step. This
6c18b7a7132552 Rodrigo Alencar 2026-05-08  128        value depends mostly on the loop filter design.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  129  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  130    adi,refclk-out-drive-strength:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  131      $ref: /schemas/types.yaml#/definitions/string
6c18b7a7132552 Rodrigo Alencar 2026-05-08  132      enum: [ disabled, low, medium, high ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  133      default: disabled
6c18b7a7132552 Rodrigo Alencar 2026-05-08  134      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  135        Reference clock output (DRV0) drive strength. Only applicable when
6c18b7a7132552 Rodrigo Alencar 2026-05-08  136        the internal PLL is enabled.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  137  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  138    adi,dac-output-current-microamp:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  139      minimum: 8640
6c18b7a7132552 Rodrigo Alencar 2026-05-08  140      maximum: 31590
6c18b7a7132552 Rodrigo Alencar 2026-05-08  141      default: 20070
6c18b7a7132552 Rodrigo Alencar 2026-05-08  142      description:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  143        DAC full-scale output current in microamps.
6c18b7a7132552 Rodrigo Alencar 2026-05-08  144  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  145  dependencies:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  146    adi,charge-pump-current-microamp: [ 'adi,pll-enable' ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  147    adi,refclk-out-drive-strength: [ 'adi,pll-enable' ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08 @148    lock-detect-gpios: [ adi,pll-enable ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  149    interrupts: [ interrupt-names ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  150    clocks: [ clock-names ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  151    '#clock-cells': [ clock-output-names ]
6c18b7a7132552 Rodrigo Alencar 2026-05-08  152  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  153  required:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  154    - compatible
6c18b7a7132552 Rodrigo Alencar 2026-05-08  155    - reg
6c18b7a7132552 Rodrigo Alencar 2026-05-08  156    - clocks
6c18b7a7132552 Rodrigo Alencar 2026-05-08  157    - dvdd-io33-supply
6c18b7a7132552 Rodrigo Alencar 2026-05-08  158    - avdd33-supply
6c18b7a7132552 Rodrigo Alencar 2026-05-08  159    - dvdd18-supply
6c18b7a7132552 Rodrigo Alencar 2026-05-08  160    - avdd18-supply
6c18b7a7132552 Rodrigo Alencar 2026-05-08  161  
6c18b7a7132552 Rodrigo Alencar 2026-05-08  162  allOf:
6c18b7a7132552 Rodrigo Alencar 2026-05-08  163    - $ref: /schemas/spi/spi-peripheral-props.yaml#
6c18b7a7132552 Rodrigo Alencar 2026-05-08  164  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

end of thread, other threads:[~2026-05-16 10:40 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-08 17:00 [PATCH RFC v4 00/10] AD9910 Direct Digital Synthesizer Rodrigo Alencar
2026-05-08 17:00 ` Rodrigo Alencar via B4 Relay
2026-05-08 17:00 ` [PATCH RFC v4 01/10] dt-bindings: iio: frequency: add ad9910 Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-08 22:02   ` sashiko-bot
2026-05-12 18:31   ` Jonathan Cameron
2026-05-13 15:09     ` Rodrigo Alencar
2026-05-16 10:40       ` Jonathan Cameron
2026-05-08 17:00 ` [PATCH RFC v4 02/10] iio: core: support 64-bit register through debugfs Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-08 22:20   ` sashiko-bot
2026-05-10 10:07   ` Andy Shevchenko
2026-05-11 10:47     ` Rodrigo Alencar
2026-05-08 17:00 ` [PATCH RFC v4 03/10] iio: frequency: ad9910: initial driver implementation Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-08 22:51   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 04/10] iio: frequency: ad9910: add basic parallel port support Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-08 23:19   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 05/10] iio: frequency: ad9910: add digital ramp generator support Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-08 23:53   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 06/10] iio: frequency: ad9910: add RAM mode support Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-09  0:33   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 07/10] iio: frequency: ad9910: add output shift keying support Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-09  1:08   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 08/10] iio: frequency: ad9910: show channel priority in debugfs Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-09  1:49   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 09/10] Documentation: ABI: testing: add docs for ad9910 sysfs entries Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-09  1:24   ` sashiko-bot
2026-05-08 17:00 ` [PATCH RFC v4 10/10] docs: iio: add documentation for ad9910 driver Rodrigo Alencar
2026-05-08 17:00   ` Rodrigo Alencar via B4 Relay
2026-05-09  1:21   ` sashiko-bot
2026-05-09 23:42   ` David Lechner
2026-05-10  9:30     ` Rodrigo Alencar
2026-05-11 14:46       ` David Lechner
2026-05-11 15:02         ` Rodrigo Alencar
2026-05-11 15:23           ` David Lechner
2026-05-11 16:01             ` Rodrigo Alencar
2026-05-15 15:47               ` Rodrigo Alencar
2026-05-09 22:31 ` [PATCH RFC v4 00/10] AD9910 Direct Digital Synthesizer David Lechner
2026-05-10  8:50   ` Rodrigo Alencar
  -- strict thread matches above, loose matches on Subject: below --
2026-05-10 12:01 [PATCH RFC v4 10/10] docs: iio: add documentation for ad9910 driver kernel test robot

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.