xref: /linux/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1*009528b5SDario Binacchi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*009528b5SDario Binacchi%YAML 1.2
3*009528b5SDario Binacchi---
4*009528b5SDario Binacchi$id: http://devicetree.org/schemas/mfd/mxs-lradc.yaml#
5*009528b5SDario Binacchi$schema: http://devicetree.org/meta-schemas/core.yaml#
6*009528b5SDario Binacchi
7*009528b5SDario Binacchititle: Freescale MXS Low-Resolution ADC (LRADC)
8*009528b5SDario Binacchi
9*009528b5SDario Binacchimaintainers:
10*009528b5SDario Binacchi  - Dario Binacchi <dario.binacchi@amarulasolutions.com>
11*009528b5SDario Binacchi
12*009528b5SDario Binacchidescription:
13*009528b5SDario Binacchi  The LRADC provides 16 physical channels of 12-bit resolution for
14*009528b5SDario Binacchi  analog-to-digital conversion and includes an integrated 4-wire/5-wire
15*009528b5SDario Binacchi  touchscreen controller.
16*009528b5SDario Binacchi
17*009528b5SDario Binacchiproperties:
18*009528b5SDario Binacchi  compatible:
19*009528b5SDario Binacchi    items:
20*009528b5SDario Binacchi      - enum:
21*009528b5SDario Binacchi          - fsl,imx23-lradc
22*009528b5SDario Binacchi          - fsl,imx28-lradc
23*009528b5SDario Binacchi
24*009528b5SDario Binacchi  reg:
25*009528b5SDario Binacchi    maxItems: 1
26*009528b5SDario Binacchi
27*009528b5SDario Binacchi  clocks:
28*009528b5SDario Binacchi    minItems: 1
29*009528b5SDario Binacchi
30*009528b5SDario Binacchi  interrupts:
31*009528b5SDario Binacchi    minItems: 9
32*009528b5SDario Binacchi    maxItems: 13
33*009528b5SDario Binacchi
34*009528b5SDario Binacchi  fsl,lradc-touchscreen-wires:
35*009528b5SDario Binacchi    $ref: /schemas/types.yaml#/definitions/uint32
36*009528b5SDario Binacchi    enum: [4, 5]
37*009528b5SDario Binacchi    description: >
38*009528b5SDario Binacchi      Number of wires used to connect the touchscreen to LRADC.
39*009528b5SDario Binacchi
40*009528b5SDario Binacchi      If this property is not present, then the touchscreen is disabled.
41*009528b5SDario Binacchi
42*009528b5SDario Binacchi  fsl,ave-ctrl:
43*009528b5SDario Binacchi    $ref: /schemas/types.yaml#/definitions/uint32
44*009528b5SDario Binacchi    minimum: 1
45*009528b5SDario Binacchi    maximum: 32
46*009528b5SDario Binacchi    default: 4
47*009528b5SDario Binacchi    description:
48*009528b5SDario Binacchi      Number of samples per direction to calculate an average value.
49*009528b5SDario Binacchi
50*009528b5SDario Binacchi  fsl,ave-delay:
51*009528b5SDario Binacchi    $ref: /schemas/types.yaml#/definitions/uint32
52*009528b5SDario Binacchi    minimum: 2
53*009528b5SDario Binacchi    maximum: 2048
54*009528b5SDario Binacchi    default: 2
55*009528b5SDario Binacchi    description: >
56*009528b5SDario Binacchi      Delay between consecutive samples.
57*009528b5SDario Binacchi
58*009528b5SDario Binacchi      It is used if 'fsl,ave-ctrl' > 1, counts at 2 kHz and its default value (2)
59*009528b5SDario Binacchi      is 1 ms.
60*009528b5SDario Binacchi
61*009528b5SDario Binacchi  fsl,settling:
62*009528b5SDario Binacchi    $ref: /schemas/types.yaml#/definitions/uint32
63*009528b5SDario Binacchi    minimum: 1
64*009528b5SDario Binacchi    maximum: 2047
65*009528b5SDario Binacchi    default: 10
66*009528b5SDario Binacchi    description: >
67*009528b5SDario Binacchi      Delay between plate switch to next sample.
68*009528b5SDario Binacchi
69*009528b5SDario Binacchi      It counts at 2 kHz and its default (10) is 5 ms.
70*009528b5SDario Binacchi
71*009528b5SDario Binacchi  "#io-channel-cells":
72*009528b5SDario Binacchi    const: 1
73*009528b5SDario Binacchi
74*009528b5SDario Binacchirequired:
75*009528b5SDario Binacchi  - compatible
76*009528b5SDario Binacchi  - reg
77*009528b5SDario Binacchi  - clocks
78*009528b5SDario Binacchi  - interrupts
79*009528b5SDario Binacchi
80*009528b5SDario Binacchiif:
81*009528b5SDario Binacchi  properties:
82*009528b5SDario Binacchi    compatible:
83*009528b5SDario Binacchi      contains:
84*009528b5SDario Binacchi        enum:
85*009528b5SDario Binacchi          - fsl,imx23-lradc
86*009528b5SDario Binacchithen:
87*009528b5SDario Binacchi  properties:
88*009528b5SDario Binacchi    interrupts:
89*009528b5SDario Binacchi      items:
90*009528b5SDario Binacchi        - description: channel 0
91*009528b5SDario Binacchi        - description: channel 1
92*009528b5SDario Binacchi        - description: channel 2
93*009528b5SDario Binacchi        - description: channel 3
94*009528b5SDario Binacchi        - description: channel 4
95*009528b5SDario Binacchi        - description: channel 5
96*009528b5SDario Binacchi        - description: touchscreen
97*009528b5SDario Binacchi        - description: channel 6
98*009528b5SDario Binacchi        - description: channel 7
99*009528b5SDario Binacchi    fsl,lradc-touchscreen-wires:
100*009528b5SDario Binacchi      const: 4
101*009528b5SDario Binacchielse:
102*009528b5SDario Binacchi  properties:
103*009528b5SDario Binacchi    interrupts:
104*009528b5SDario Binacchi      items:
105*009528b5SDario Binacchi        - description: threshold 0
106*009528b5SDario Binacchi        - description: threshold 1
107*009528b5SDario Binacchi        - description: channel 0
108*009528b5SDario Binacchi        - description: channel 1
109*009528b5SDario Binacchi        - description: channel 2
110*009528b5SDario Binacchi        - description: channel 3
111*009528b5SDario Binacchi        - description: channel 4
112*009528b5SDario Binacchi        - description: channel 5
113*009528b5SDario Binacchi        - description: button 0
114*009528b5SDario Binacchi        - description: button 1
115*009528b5SDario Binacchi        - description: touchscreen
116*009528b5SDario Binacchi        - description: channel 6
117*009528b5SDario Binacchi        - description: channel 7
118*009528b5SDario Binacchi
119*009528b5SDario BinacchiadditionalProperties: false
120*009528b5SDario Binacchi
121*009528b5SDario Binacchiexamples:
122*009528b5SDario Binacchi  - |
123*009528b5SDario Binacchi    lradc@80050000 {
124*009528b5SDario Binacchi        compatible = "fsl,imx23-lradc";
125*009528b5SDario Binacchi        reg = <0x80050000 0x2000>;
126*009528b5SDario Binacchi        interrupts = <36>, <37>, <38>, <39>, <40>,
127*009528b5SDario Binacchi                     <41>, <42>, <43>, <44>;
128*009528b5SDario Binacchi        clocks = <&clks 26>;
129*009528b5SDario Binacchi        #io-channel-cells = <1>;
130*009528b5SDario Binacchi        fsl,lradc-touchscreen-wires = <4>;
131*009528b5SDario Binacchi        fsl,ave-ctrl = <4>;
132*009528b5SDario Binacchi        fsl,ave-delay = <2>;
133*009528b5SDario Binacchi        fsl,settling = <10>;
134*009528b5SDario Binacchi    };
135