| # 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>; |
| }; |