18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright 2019-2020 Artur Rojek
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml#"
68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: Ingenic JZ47xx ADC controller IIO bindings
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Artur Rojek <contact@artur-rojek.eu>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: >
148c2ecf20Sopenharmony_ci  Industrial I/O subsystem bindings for ADC controller found in
158c2ecf20Sopenharmony_ci  Ingenic JZ47xx SoCs.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  ADC clients must use the format described in iio-bindings.txt, giving
188c2ecf20Sopenharmony_ci  a phandle and IIO specifier pair ("io-channels") to the ADC controller.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciproperties:
218c2ecf20Sopenharmony_ci  compatible:
228c2ecf20Sopenharmony_ci    enum:
238c2ecf20Sopenharmony_ci      - ingenic,jz4725b-adc
248c2ecf20Sopenharmony_ci      - ingenic,jz4740-adc
258c2ecf20Sopenharmony_ci      - ingenic,jz4770-adc
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  '#io-channel-cells':
288c2ecf20Sopenharmony_ci    const: 1
298c2ecf20Sopenharmony_ci    description:
308c2ecf20Sopenharmony_ci      Must be set to <1> to indicate channels are selected by index.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  reg:
338c2ecf20Sopenharmony_ci    maxItems: 1
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  clocks:
368c2ecf20Sopenharmony_ci    maxItems: 1
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  clock-names:
398c2ecf20Sopenharmony_ci    items:
408c2ecf20Sopenharmony_ci      - const: adc
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  interrupts:
438c2ecf20Sopenharmony_ci    maxItems: 1
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_cirequired:
468c2ecf20Sopenharmony_ci  - compatible
478c2ecf20Sopenharmony_ci  - '#io-channel-cells'
488c2ecf20Sopenharmony_ci  - reg
498c2ecf20Sopenharmony_ci  - clocks
508c2ecf20Sopenharmony_ci  - clock-names
518c2ecf20Sopenharmony_ci  - interrupts
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciadditionalProperties: false
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ciexamples:
568c2ecf20Sopenharmony_ci  - |
578c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/jz4740-cgu.h>
588c2ecf20Sopenharmony_ci    #include <dt-bindings/iio/adc/ingenic,adc.h>
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci    adc@10070000 {
618c2ecf20Sopenharmony_ci            compatible = "ingenic,jz4740-adc";
628c2ecf20Sopenharmony_ci            #io-channel-cells = <1>;
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci            reg = <0x10070000 0x30>;
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci            clocks = <&cgu JZ4740_CLK_ADC>;
678c2ecf20Sopenharmony_ci            clock-names = "adc";
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci            interrupt-parent = <&intc>;
708c2ecf20Sopenharmony_ci            interrupts = <18>;
718c2ecf20Sopenharmony_ci    };
72