This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
playground:playground [21 Jan 2021 19:46] – Reset Playground Robin Getz | playground:playground [05 Apr 2024 13:03] (current) – Edit Tinaco Mariel | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Wiki pages are written in a simple, plain-text [[wiki: | + | ===== Supported Devices ===== |
- | Before you edit your first " | + | * [[adi> |
- | ===== Suggestions for first time editors | + | ===== Evaluation Boards |
- | * use [[wiki/ | + | |
- | * use [[: | + | |
- | * think about your document structure before you start writing it. | + | |
- | * Multi-page documents need to be structured and thought out before you start. | + | |
+ | * [[adi> | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | This is a Linux industrial I/O (IIO) subsystem driver, targeting single channel DAC. The industrial I/O subsystem provides a unified framework for drivers for many different types of converters and sensors using a number of different physical interfaces (i2c, spi, etc). See IIO for more information. | ||
+ | |||
+ | See [[software: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ====== Source Code ====== | ||
+ | |||
+ | ===== Status ===== | ||
+ | |||
+ | ^ Source ^ Mainlined? ^ | ||
+ | | [[git.linux.org> | ||
+ | |||
+ | ===== Files ===== | ||
+ | |||
+ | ^ Function ^ File ^ | ||
+ | | driver | ||
+ | | include | ||
+ | | Documentation | ||
+ | |||
+ | |||
+ | ====== Hardware configuration ====== | ||
+ | |||
+ | ==== Device tree example ==== | ||
+ | |||
+ | The following example instantiates the ad8460 driver for an AD8460 device connected on the SPI bus to the chip-select line 0. | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | #include " | ||
+ | #include " | ||
+ | |||
+ | / { | ||
+ | clocks { | ||
+ | sync_ext_clk: | ||
+ | # | ||
+ | compatible = " | ||
+ | clock-frequency = < | ||
+ | clock-output-names = " | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | & | ||
+ | |||
+ | tx_dma: tx_dmac@44000000 { | ||
+ | compatible = " | ||
+ | reg = < | ||
+ | interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>; | ||
+ | clocks = <& | ||
+ | # | ||
+ | |||
+ | adi, | ||
+ | # | ||
+ | # | ||
+ | |||
+ | dma-channel@0 { | ||
+ | reg = <0>; | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | &spi0 { | ||
+ | status = " | ||
+ | |||
+ | ad8460: dac@0 { | ||
+ | compatible = " | ||
+ | reg = <0>; | ||
+ | spi-max-frequency = < | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | adi, | ||
+ | |||
+ | clocks = <& | ||
+ | clock-names = " | ||
+ | |||
+ | dma-names = " | ||
+ | dmas = <& | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Driver testing ====== | ||
+ | |||
+ | If the driver correctly detected the device, the " | ||
+ | |||
+ | < | ||
+ | root@linaro-ubuntu-desktop: | ||
+ | Library version: 0.24 (git tag: accb7b5) | ||
+ | Compiled with backends: local xml ip usb serial | ||
+ | IIO context created with local backend. | ||
+ | Backend version: 0.24 (git tag: accb7b5) | ||
+ | Backend description string: Linux analog 6.1.0-271638-g3dfbf1932ce9-dirty #348 SMP PREEMPT Fri Apr 5 16:48:16 CST 2024 armv7l | ||
+ | IIO context has 9 attributes: | ||
+ | hdl_system_id: | ||
+ | hw_model: AD8460-FMC-EVAL-BZ on Xilinx Zynq ZED | ||
+ | hw_carrier: Xilinx Zynq ZED | ||
+ | hw_mezzanine: | ||
+ | hw_name: AD8460-EVAL-RevB | ||
+ | hw_vendor: Analog Devices | ||
+ | hw_serial: AD8460-FMC-EVAL-BZ | ||
+ | local, | ||
+ | uri: local: | ||
+ | IIO context has 4 devices: | ||
+ | hwmon0: e000b000ethernetffffffff00 | ||
+ | 1 channels found: | ||
+ | temp1: | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: crit value: 100000 | ||
+ | attr 1: input value: 16000 | ||
+ | attr 2: max_alarm value: 0 | ||
+ | No trigger on this device | ||
+ | iio: | ||
+ | 9 channels found: | ||
+ | voltage5: vccoddr (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccoddr | ||
+ | attr 1: raw value: 2048 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage0: vccint (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccint | ||
+ | attr 1: raw value: 1382 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage4: vccpaux (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccpaux | ||
+ | attr 1: raw value: 2454 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | temp0: | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: offset value: -2219 | ||
+ | attr 1: raw value: 2534 | ||
+ | attr 2: scale value: 123.040771484 | ||
+ | voltage7: vrefn (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vrefn | ||
+ | attr 1: raw value: -4 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage1: vccaux (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccaux | ||
+ | attr 1: raw value: 2452 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage2: vccbram (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccbram | ||
+ | attr 1: raw value: 1381 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage3: vccpint (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vccpint | ||
+ | attr 1: raw value: 1376 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | voltage6: vrefp (input) | ||
+ | 3 channel-specific attributes found: | ||
+ | attr 0: label value: vrefp | ||
+ | attr 1: raw value: 1702 | ||
+ | attr 2: scale value: 0.732421875 | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: sampling_frequency value: 961538 | ||
+ | attr 1: waiting_for_supplier value: 0 | ||
+ | No trigger on this device | ||
+ | iio: | ||
+ | 1 channels found: | ||
+ | altvoltage0: | ||
+ | 2 channel-specific attributes found: | ||
+ | attr 0: powerdown value: 0 | ||
+ | attr 1: sampling_frequency value: 500000 | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: scale value: 80 | ||
+ | attr 1: waiting_for_supplier value: 0 | ||
+ | 5 debug attributes found: | ||
+ | debug attr 0: apg_pattern_memory value: 0 0x2000 | ||
+ | debug attr 1: shutdown_flag value: 0 | ||
+ | debug attr 2: apg_pattern_depth value: 3 | ||
+ | debug attr 3: apg_mode_enable value: 0 | ||
+ | debug attr 4: direct_reg_access value: 0x10 | ||
+ | No trigger on this device | ||
+ | iio_sysfs_trigger: | ||
+ | 0 channels found: | ||
+ | 2 device-specific attributes found: | ||
+ | attr 0: add_trigger ERROR: Permission denied (13) | ||
+ | attr 1: remove_trigger ERROR: Permission denied (13) | ||
+ | No trigger on this device | ||
+ | </ |