1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/nxp,imx93-adc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP iMX93 ADC
8
9maintainers:
10  - Haibo Chen <haibo.chen@nxp.com>
11
12description:
13  The ADC on iMX93 is a 8-channel 12-bit 1MS/s ADC with 4 channels
14  connected to pins. it support normal and inject mode, include
15  One-Shot and Scan (continuous) conversions. Programmable DMA
16  enables for each channel  Also this ADC contain alternate analog
17  watchdog thresholds, select threshold through input ports. And
18  also has Self-test logic and Software-initiated calibration.
19
20properties:
21  compatible:
22    oneOf:
23      - enum:
24          - nxp,imx93-adc
25      - items:
26          - enum:
27              - nxp,imx94-adc
28              - nxp,imx95-adc
29          - const: nxp,imx93-adc
30
31  reg:
32    maxItems: 1
33
34  interrupts:
35    items:
36      - description: WDGnL, watchdog threshold interrupt requests.
37      - description: WDGnH, watchdog threshold interrupt requests.
38      - description: normal conversion, include EOC (End of Conversion),
39          ECH (End of Chain), JEOC (End of Injected Conversion) and
40          JECH (End of injected Chain).
41
42  clocks:
43    maxItems: 1
44
45  clock-names:
46    const: ipg
47
48  vref-supply:
49    description:
50      The reference voltage which used to establish channel scaling.
51
52  "#io-channel-cells":
53    const: 1
54
55required:
56  - compatible
57  - reg
58  - interrupts
59  - clocks
60  - clock-names
61  - vref-supply
62  - "#io-channel-cells"
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/irq.h>
69    #include <dt-bindings/clock/imx93-clock.h>
70    #include <dt-bindings/interrupt-controller/arm-gic.h>
71    soc {
72        #address-cells = <1>;
73        #size-cells = <1>;
74        adc@44530000 {
75            compatible = "nxp,imx93-adc";
76            reg = <0x44530000 0x10000>;
77            interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
78                         <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
79                         <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
80            clocks = <&clk IMX93_CLK_ADC1_GATE>;
81            clock-names = "ipg";
82            vref-supply = <&reg_vref_1v8>;
83            #io-channel-cells = <1>;
84        };
85    };
86...
87