1*e85f4643SMaksim Kiselev# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*e85f4643SMaksim Kiselev%YAML 1.2
3*e85f4643SMaksim Kiselev---
4*e85f4643SMaksim Kiselev$id: http://devicetree.org/schemas/iio/adc/allwinner,sun20i-d1-gpadc.yaml#
5*e85f4643SMaksim Kiselev$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e85f4643SMaksim Kiselev
7*e85f4643SMaksim Kiselevtitle: Allwinner D1 General Purpose ADC
8*e85f4643SMaksim Kiselev
9*e85f4643SMaksim Kiselevmaintainers:
10*e85f4643SMaksim Kiselev  - Maksim Kiselev <bigunclemax@gmail.com>
11*e85f4643SMaksim Kiselev
12*e85f4643SMaksim Kiselevproperties:
13*e85f4643SMaksim Kiselev  compatible:
14*e85f4643SMaksim Kiselev    enum:
15*e85f4643SMaksim Kiselev      - allwinner,sun20i-d1-gpadc
16*e85f4643SMaksim Kiselev
17*e85f4643SMaksim Kiselev  "#io-channel-cells":
18*e85f4643SMaksim Kiselev    const: 1
19*e85f4643SMaksim Kiselev
20*e85f4643SMaksim Kiselev  "#address-cells":
21*e85f4643SMaksim Kiselev    const: 1
22*e85f4643SMaksim Kiselev
23*e85f4643SMaksim Kiselev  "#size-cells":
24*e85f4643SMaksim Kiselev    const: 0
25*e85f4643SMaksim Kiselev
26*e85f4643SMaksim Kiselev  clocks:
27*e85f4643SMaksim Kiselev    maxItems: 1
28*e85f4643SMaksim Kiselev
29*e85f4643SMaksim Kiselev  interrupts:
30*e85f4643SMaksim Kiselev    maxItems: 1
31*e85f4643SMaksim Kiselev
32*e85f4643SMaksim Kiselev  reg:
33*e85f4643SMaksim Kiselev    maxItems: 1
34*e85f4643SMaksim Kiselev
35*e85f4643SMaksim Kiselev  resets:
36*e85f4643SMaksim Kiselev    maxItems: 1
37*e85f4643SMaksim Kiselev
38*e85f4643SMaksim KiselevpatternProperties:
39*e85f4643SMaksim Kiselev  "^channel@[0-9a-f]+$":
40*e85f4643SMaksim Kiselev    $ref: adc.yaml
41*e85f4643SMaksim Kiselev    type: object
42*e85f4643SMaksim Kiselev    description:
43*e85f4643SMaksim Kiselev      Represents the internal channels of the ADC.
44*e85f4643SMaksim Kiselev
45*e85f4643SMaksim Kiselev    properties:
46*e85f4643SMaksim Kiselev      reg:
47*e85f4643SMaksim Kiselev        items:
48*e85f4643SMaksim Kiselev          minimum: 0
49*e85f4643SMaksim Kiselev          maximum: 15
50*e85f4643SMaksim Kiselev
51*e85f4643SMaksim Kiselev    required:
52*e85f4643SMaksim Kiselev      - reg
53*e85f4643SMaksim Kiselev
54*e85f4643SMaksim Kiselev    unevaluatedProperties: false
55*e85f4643SMaksim Kiselev
56*e85f4643SMaksim Kiselevrequired:
57*e85f4643SMaksim Kiselev  - "#io-channel-cells"
58*e85f4643SMaksim Kiselev  - clocks
59*e85f4643SMaksim Kiselev  - compatible
60*e85f4643SMaksim Kiselev  - interrupts
61*e85f4643SMaksim Kiselev  - reg
62*e85f4643SMaksim Kiselev  - resets
63*e85f4643SMaksim Kiselev
64*e85f4643SMaksim KiselevadditionalProperties: false
65*e85f4643SMaksim Kiselev
66*e85f4643SMaksim Kiselevexamples:
67*e85f4643SMaksim Kiselev  - |
68*e85f4643SMaksim Kiselev    #include <dt-bindings/clock/sun20i-d1-ccu.h>
69*e85f4643SMaksim Kiselev    #include <dt-bindings/reset/sun20i-d1-ccu.h>
70*e85f4643SMaksim Kiselev    #include <dt-bindings/interrupt-controller/irq.h>
71*e85f4643SMaksim Kiselev
72*e85f4643SMaksim Kiselev    gpadc: adc@2009000 {
73*e85f4643SMaksim Kiselev        compatible = "allwinner,sun20i-d1-gpadc";
74*e85f4643SMaksim Kiselev        reg = <0x2009000 0x400>;
75*e85f4643SMaksim Kiselev        clocks = <&ccu CLK_BUS_GPADC>;
76*e85f4643SMaksim Kiselev        resets = <&ccu RST_BUS_GPADC>;
77*e85f4643SMaksim Kiselev        interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
78*e85f4643SMaksim Kiselev        #io-channel-cells = <1>;
79*e85f4643SMaksim Kiselev
80*e85f4643SMaksim Kiselev        #address-cells = <1>;
81*e85f4643SMaksim Kiselev        #size-cells = <0>;
82*e85f4643SMaksim Kiselev
83*e85f4643SMaksim Kiselev        channel@0 {
84*e85f4643SMaksim Kiselev            reg = <0>;
85*e85f4643SMaksim Kiselev        };
86*e85f4643SMaksim Kiselev
87*e85f4643SMaksim Kiselev        channel@1 {
88*e85f4643SMaksim Kiselev            reg = <1>;
89*e85f4643SMaksim Kiselev        };
90*e85f4643SMaksim Kiselev    };
91*e85f4643SMaksim Kiselev...
92