[PATCH 0/5] iio: adc: xilinx-xadc: Add I2C interface support for System Management Wizard

Sai Krishna Potthuri sai.krishna.potthuri at amd.com
Thu Feb 19 21:39:36 PST 2026


The existing driver only supported AXI memory-mapped access to the System
Management Wizard IP. This series extends the driver to support I2C-based
access, which is particularly useful for System Controller usecases.

Key Changes:
- Extract common probe logic into xadc_device_setup() and
xadc_device_configure().
- Add setup_channels function pointer to ops structure to support
different ways to configure the channels.
- Replace module_platform_driver() macro with custom init and exit
functions to support multiple bus interfaces.
- I2C interface support.
- Convert binding file to YAML format.

Note: We are working on x86 platform support where fixed channel
configuration is used(no DT support). The setup_channels function
pointer introduced in patch 2/3 enables different channel configuration
approaches for various platforms.

Sai Krishna Potthuri (5):
  iio: adc: xilinx-xadc: Add helper functions for the device setup
  iio: adc: xilinx-xadc: Add setup_channels function pointer to ops
    structure
  iio: adc: xilinx-xadc: Replace module macro with custom init/exit
    functions
  iio: adc: xilinx-xadc: Add I2C interface support
  dt-bindings: iio: adc: xilinx-xadc: convert to YAML format

 .../bindings/iio/adc/xilinx-xadc.txt          | 141 ---------
 .../bindings/iio/adc/xilinx-xadc.yaml         | 194 ++++++++++++
 drivers/iio/adc/Kconfig                       |  11 +
 drivers/iio/adc/xilinx-xadc-core.c            | 283 ++++++++++++++++--
 drivers/iio/adc/xilinx-xadc.h                 |   8 +
 5 files changed, 475 insertions(+), 162 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/xilinx-xadc.yaml

-- 
2.25.1




More information about the linux-arm-kernel mailing list