summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
blob: 782b2f4005a0b64b2f471444a3c0f8e1f26e24d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/mxs-lradc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale MXS Low-Resolution ADC (LRADC)

maintainers:
  - Dario Binacchi <dario.binacchi@amarulasolutions.com>

description:
  The LRADC provides 16 physical channels of 12-bit resolution for
  analog-to-digital conversion and includes an integrated 4-wire/5-wire
  touchscreen controller.

properties:
  compatible:
    items:
      - enum:
          - fsl,imx23-lradc
          - fsl,imx28-lradc

  reg:
    maxItems: 1

  clocks:
    minItems: 1

  interrupts:
    minItems: 9
    maxItems: 13

  fsl,lradc-touchscreen-wires:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [4, 5]
    description: >
      Number of wires used to connect the touchscreen to LRADC.

      If this property is not present, then the touchscreen is disabled.

  fsl,ave-ctrl:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 1
    maximum: 32
    default: 4
    description:
      Number of samples per direction to calculate an average value.

  fsl,ave-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 2
    maximum: 2048
    default: 2
    description: >
      Delay between consecutive samples.

      It is used if 'fsl,ave-ctrl' > 1, counts at 2 kHz and its default value (2)
      is 1 ms.

  fsl,settling:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 1
    maximum: 2047
    default: 10
    description: >
      Delay between plate switch to next sample.

      It counts at 2 kHz and its default (10) is 5 ms.

  "#io-channel-cells":
    const: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

if:
  properties:
    compatible:
      contains:
        enum:
          - fsl,imx23-lradc
then:
  properties:
    interrupts:
      items:
        - description: channel 0
        - description: channel 1
        - description: channel 2
        - description: channel 3
        - description: channel 4
        - description: channel 5
        - description: touchscreen
        - description: channel 6
        - description: channel 7
    fsl,lradc-touchscreen-wires:
      const: 4
else:
  properties:
    interrupts:
      items:
        - description: threshold 0
        - description: threshold 1
        - description: channel 0
        - description: channel 1
        - description: channel 2
        - description: channel 3
        - description: channel 4
        - description: channel 5
        - description: button 0
        - description: button 1
        - description: touchscreen
        - description: channel 6
        - description: channel 7

additionalProperties: false

examples:
  - |
    lradc@80050000 {
        compatible = "fsl,imx23-lradc";
        reg = <0x80050000 0x2000>;
        interrupts = <36>, <37>, <38>, <39>, <40>,
                     <41>, <42>, <43>, <44>;
        clocks = <&clks 26>;
        #io-channel-cells = <1>;
        fsl,lradc-touchscreen-wires = <4>;
        fsl,ave-ctrl = <4>;
        fsl,ave-delay = <2>;
        fsl,settling = <10>;
    };