Path: blob/master/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml
26309 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/iio/adc/adi,axi-adc.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Analog Devices AXI ADC IP core78maintainers:9- Michael Hennerich <michael.hennerich@analog.com>1011description: |12Analog Devices Generic AXI ADC IP core for interfacing an ADC device13with a high speed serial (JESD204B/C) or source synchronous parallel14interface (LVDS/CMOS).15Usually, some other interface type (i.e SPI) is used as a control16interface for the actual ADC, while this IP core will interface17to the data-lines of the ADC and handle the streaming of data into18memory via DMA.19In some cases, the AXI ADC interface is used to perform specialized20operation to a particular ADC, e.g access the physical bus through21specific registers to write ADC registers.22In this case, we use a different compatible which indicates the target23IP core's name.24The following IP is currently supported:25- AXI AD7606x: specialized version of the IP core for all the chips from26the ad7606 family.2728https://wiki.analog.com/resources/fpga/docs/axi_adc_ip29https://analogdevicesinc.github.io/hdl/library/axi_ad408x/index.html30https://analogdevicesinc.github.io/hdl/library/axi_ad485x/index.html31http://analogdevicesinc.github.io/hdl/library/axi_ad7606x/index.html3233properties:34compatible:35enum:36- adi,axi-adc-10.0.a37- adi,axi-ad408x38- adi,axi-ad7606x39- adi,axi-ad485x4041reg:42maxItems: 14344clocks:45maxItems: 14647dmas:48maxItems: 14950dma-names:51items:52- const: rx5354adi,adc-dev:55$ref: /schemas/types.yaml#/definitions/phandle56description:57A reference to a the actual ADC to which this FPGA ADC interfaces to.58deprecated: true5960'#io-backend-cells':61const: 06263'#address-cells':64const: 16566'#size-cells':67const: 06869patternProperties:70"^adc@[0-9a-f]+$":71type: object72properties:73reg:74maxItems: 175additionalProperties: true76required:77- compatible78- reg7980required:81- compatible82- dmas83- reg84- clocks8586allOf:87- if:88properties:89compatible:90not:91contains:92const: adi,axi-ad7606x93then:94properties:95'#address-cells': false96'#size-cells': false97patternProperties:98"^adc@[0-9a-f]+$": false99100additionalProperties: false101102examples:103- |104adc@44a00000 {105compatible = "adi,axi-adc-10.0.a";106reg = <0x44a00000 0x10000>;107dmas = <&rx_dma 0>;108dma-names = "rx";109clocks = <&axi_clk>;110#io-backend-cells = <0>;111};112- |113#include <dt-bindings/gpio/gpio.h>114parallel_bus_controller@44a00000 {115compatible = "adi,axi-ad7606x";116reg = <0x44a00000 0x10000>;117dmas = <&rx_dma 0>;118dma-names = "rx";119clocks = <&ext_clk>;120#address-cells = <1>;121#size-cells = <0>;122123adc@0 {124compatible = "adi,ad7606b";125reg = <0>;126pwms = <&axi_pwm_gen 0 0>;127pwm-names = "convst1";128avcc-supply = <&adc_vref>;129vdrive-supply = <&vdd_supply>;130reset-gpios = <&gpio0 91 GPIO_ACTIVE_HIGH>;131standby-gpios = <&gpio0 90 GPIO_ACTIVE_LOW>;132adi,range-gpios = <&gpio0 89 GPIO_ACTIVE_HIGH>;133adi,oversampling-ratio-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH134&gpio0 87 GPIO_ACTIVE_HIGH135&gpio0 86 GPIO_ACTIVE_HIGH>;136io-backends = <¶llel_bus_controller>;137};138};139...140141142