xref: /linux/Documentation/devicetree/bindings/iio/adc/renesas,r9a09g077-adc.yaml (revision 83bd89291f5cc866f60d32c34e268896c7ba8a3d)
1*4d8d5898SCosmin Tanislav# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4d8d5898SCosmin Tanislav%YAML 1.2
3*4d8d5898SCosmin Tanislav---
4*4d8d5898SCosmin Tanislav$id: http://devicetree.org/schemas/iio/adc/renesas,r9a09g077-adc.yaml#
5*4d8d5898SCosmin Tanislav$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4d8d5898SCosmin Tanislav
7*4d8d5898SCosmin Tanislavtitle: Renesas RZ/T2H / RZ/N2H ADC12
8*4d8d5898SCosmin Tanislav
9*4d8d5898SCosmin Tanislavmaintainers:
10*4d8d5898SCosmin Tanislav  - Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
11*4d8d5898SCosmin Tanislav
12*4d8d5898SCosmin Tanislavdescription: |
13*4d8d5898SCosmin Tanislav  A/D Converter block is a successive approximation analog-to-digital converter
14*4d8d5898SCosmin Tanislav  with a 12-bit accuracy. Up to 16 analog input channels can be selected.
15*4d8d5898SCosmin Tanislav  Conversions can be performed in single or continuous mode. Result of the ADC
16*4d8d5898SCosmin Tanislav  is stored in a 16-bit data register corresponding to each channel.
17*4d8d5898SCosmin Tanislav
18*4d8d5898SCosmin Tanislavproperties:
19*4d8d5898SCosmin Tanislav  compatible:
20*4d8d5898SCosmin Tanislav    oneOf:
21*4d8d5898SCosmin Tanislav      - items:
22*4d8d5898SCosmin Tanislav          - const: renesas,r9a09g087-adc # RZ/N2H
23*4d8d5898SCosmin Tanislav          - const: renesas,r9a09g077-adc # RZ/T2H
24*4d8d5898SCosmin Tanislav      - items:
25*4d8d5898SCosmin Tanislav          - const: renesas,r9a09g077-adc # RZ/T2H
26*4d8d5898SCosmin Tanislav
27*4d8d5898SCosmin Tanislav  reg:
28*4d8d5898SCosmin Tanislav    maxItems: 1
29*4d8d5898SCosmin Tanislav
30*4d8d5898SCosmin Tanislav  interrupts:
31*4d8d5898SCosmin Tanislav    items:
32*4d8d5898SCosmin Tanislav      - description: A/D scan end interrupt
33*4d8d5898SCosmin Tanislav      - description: A/D scan end interrupt for Group B
34*4d8d5898SCosmin Tanislav      - description: A/D scan end interrupt for Group C
35*4d8d5898SCosmin Tanislav      - description: Window A compare match
36*4d8d5898SCosmin Tanislav      - description: Window B compare match
37*4d8d5898SCosmin Tanislav      - description: Compare match
38*4d8d5898SCosmin Tanislav      - description: Compare mismatch
39*4d8d5898SCosmin Tanislav
40*4d8d5898SCosmin Tanislav  interrupt-names:
41*4d8d5898SCosmin Tanislav    items:
42*4d8d5898SCosmin Tanislav      - const: adi
43*4d8d5898SCosmin Tanislav      - const: gbadi
44*4d8d5898SCosmin Tanislav      - const: gcadi
45*4d8d5898SCosmin Tanislav      - const: cmpai
46*4d8d5898SCosmin Tanislav      - const: cmpbi
47*4d8d5898SCosmin Tanislav      - const: wcmpm
48*4d8d5898SCosmin Tanislav      - const: wcmpum
49*4d8d5898SCosmin Tanislav
50*4d8d5898SCosmin Tanislav  clocks:
51*4d8d5898SCosmin Tanislav    items:
52*4d8d5898SCosmin Tanislav      - description: Converter clock
53*4d8d5898SCosmin Tanislav      - description: Peripheral clock
54*4d8d5898SCosmin Tanislav
55*4d8d5898SCosmin Tanislav  clock-names:
56*4d8d5898SCosmin Tanislav    items:
57*4d8d5898SCosmin Tanislav      - const: adclk
58*4d8d5898SCosmin Tanislav      - const: pclk
59*4d8d5898SCosmin Tanislav
60*4d8d5898SCosmin Tanislav  power-domains:
61*4d8d5898SCosmin Tanislav    maxItems: 1
62*4d8d5898SCosmin Tanislav
63*4d8d5898SCosmin Tanislav  '#address-cells':
64*4d8d5898SCosmin Tanislav    const: 1
65*4d8d5898SCosmin Tanislav
66*4d8d5898SCosmin Tanislav  '#size-cells':
67*4d8d5898SCosmin Tanislav    const: 0
68*4d8d5898SCosmin Tanislav
69*4d8d5898SCosmin Tanislav  "#io-channel-cells":
70*4d8d5898SCosmin Tanislav    const: 1
71*4d8d5898SCosmin Tanislav
72*4d8d5898SCosmin TanislavpatternProperties:
73*4d8d5898SCosmin Tanislav  "^channel@[0-9a-f]$":
74*4d8d5898SCosmin Tanislav    $ref: adc.yaml
75*4d8d5898SCosmin Tanislav    type: object
76*4d8d5898SCosmin Tanislav    description: The external channels which are connected to the ADC.
77*4d8d5898SCosmin Tanislav
78*4d8d5898SCosmin Tanislav    properties:
79*4d8d5898SCosmin Tanislav      reg:
80*4d8d5898SCosmin Tanislav        description: The channel number.
81*4d8d5898SCosmin Tanislav        maximum: 15
82*4d8d5898SCosmin Tanislav
83*4d8d5898SCosmin Tanislav    required:
84*4d8d5898SCosmin Tanislav      - reg
85*4d8d5898SCosmin Tanislav
86*4d8d5898SCosmin Tanislav    additionalProperties: false
87*4d8d5898SCosmin Tanislav
88*4d8d5898SCosmin Tanislavrequired:
89*4d8d5898SCosmin Tanislav  - compatible
90*4d8d5898SCosmin Tanislav  - reg
91*4d8d5898SCosmin Tanislav  - interrupts
92*4d8d5898SCosmin Tanislav  - clocks
93*4d8d5898SCosmin Tanislav  - clock-names
94*4d8d5898SCosmin Tanislav  - power-domains
95*4d8d5898SCosmin Tanislav
96*4d8d5898SCosmin TanislavadditionalProperties: false
97*4d8d5898SCosmin Tanislav
98*4d8d5898SCosmin Tanislavexamples:
99*4d8d5898SCosmin Tanislav  - |
100*4d8d5898SCosmin Tanislav    #include <dt-bindings/clock/renesas,r9a09g077-cpg-mssr.h>
101*4d8d5898SCosmin Tanislav    #include <dt-bindings/interrupt-controller/arm-gic.h>
102*4d8d5898SCosmin Tanislav
103*4d8d5898SCosmin Tanislav    adc@80008000 {
104*4d8d5898SCosmin Tanislav      compatible = "renesas,r9a09g077-adc";
105*4d8d5898SCosmin Tanislav      reg = <0x80008000 0x400>;
106*4d8d5898SCosmin Tanislav      interrupts = <GIC_SPI 708 IRQ_TYPE_EDGE_RISING>,
107*4d8d5898SCosmin Tanislav                   <GIC_SPI 709 IRQ_TYPE_EDGE_RISING>,
108*4d8d5898SCosmin Tanislav                   <GIC_SPI 710 IRQ_TYPE_EDGE_RISING>,
109*4d8d5898SCosmin Tanislav                   <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
110*4d8d5898SCosmin Tanislav                   <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
111*4d8d5898SCosmin Tanislav                   <GIC_SPI 855 IRQ_TYPE_EDGE_RISING>,
112*4d8d5898SCosmin Tanislav                   <GIC_SPI 856 IRQ_TYPE_EDGE_RISING>;
113*4d8d5898SCosmin Tanislav      interrupt-names = "adi", "gbadi", "gcadi",
114*4d8d5898SCosmin Tanislav                        "cmpai", "cmpbi", "wcmpm", "wcmpum";
115*4d8d5898SCosmin Tanislav      clocks = <&cpg CPG_CORE R9A09G077_CLK_PCLKL>,
116*4d8d5898SCosmin Tanislav               <&cpg CPG_MOD 225>;
117*4d8d5898SCosmin Tanislav      clock-names = "adclk", "pclk";
118*4d8d5898SCosmin Tanislav      power-domains = <&cpg>;
119*4d8d5898SCosmin Tanislav      #address-cells = <1>;
120*4d8d5898SCosmin Tanislav      #size-cells = <0>;
121*4d8d5898SCosmin Tanislav      #io-channel-cells = <1>;
122*4d8d5898SCosmin Tanislav
123*4d8d5898SCosmin Tanislav      channel@0 {
124*4d8d5898SCosmin Tanislav        reg = <0x0>;
125*4d8d5898SCosmin Tanislav      };
126*4d8d5898SCosmin Tanislav      channel@1 {
127*4d8d5898SCosmin Tanislav        reg = <0x1>;
128*4d8d5898SCosmin Tanislav      };
129*4d8d5898SCosmin Tanislav      channel@2 {
130*4d8d5898SCosmin Tanislav        reg = <0x2>;
131*4d8d5898SCosmin Tanislav      };
132*4d8d5898SCosmin Tanislav      channel@3 {
133*4d8d5898SCosmin Tanislav        reg = <0x3>;
134*4d8d5898SCosmin Tanislav      };
135*4d8d5898SCosmin Tanislav    };
136