Documentation / devicetree / bindings / mfd / mxs-lradc.yaml


Based on kernel version 6.17. Page generated on 2025-10-03 10:04 EST.

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