diff options
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/mxs-lradc.txt | 45 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/mxs-lradc.yaml | 134 | 
2 files changed, 134 insertions, 45 deletions
| diff --git a/Documentation/devicetree/bindings/mfd/mxs-lradc.txt b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt deleted file mode 100644 index 755cbef0647d..000000000000 --- a/Documentation/devicetree/bindings/mfd/mxs-lradc.txt +++ /dev/null @@ -1,45 +0,0 @@ -* Freescale MXS LRADC device driver - -Required properties: -- compatible: Should be "fsl,imx23-lradc" for i.MX23 SoC and "fsl,imx28-lradc" -              for i.MX28 SoC -- reg: Address and length of the register set for the device -- interrupts: Should contain the LRADC interrupts - -Optional properties: -- fsl,lradc-touchscreen-wires: Number of wires used to connect the touchscreen -                               to LRADC. Valid value is either 4 or 5. If this -                               property is not present, then the touchscreen is -                               disabled. 5 wires is valid for i.MX28 SoC only. -- fsl,ave-ctrl: number of samples per direction to calculate an average value. -                Allowed value is 1 ... 32, default is 4 -- fsl,ave-delay: delay between consecutive samples. Allowed value is -                 2 ... 2048. It is used if 'fsl,ave-ctrl' > 1, counts at -                 2 kHz and its default is 2 (= 1 ms) -- fsl,settling: delay between plate switch to next sample. Allowed value is -                1 ... 2047. It counts at 2 kHz and its default is -                10 (= 5 ms) - -Example for i.MX23 SoC: - -	lradc@80050000 { -		compatible = "fsl,imx23-lradc"; -		reg = <0x80050000 0x2000>; -		interrupts = <36 37 38 39 40 41 42 43 44>; -		fsl,lradc-touchscreen-wires = <4>; -		fsl,ave-ctrl = <4>; -		fsl,ave-delay = <2>; -		fsl,settling = <10>; -	}; - -Example for i.MX28 SoC: - -	lradc@80050000 { -		compatible = "fsl,imx28-lradc"; -		reg = <0x80050000 0x2000>; -		interrupts = <10 14 15 16 17 18 19 20 21 22 23 24 25>; -		fsl,lradc-touchscreen-wires = <5>; -		fsl,ave-ctrl = <4>; -		fsl,ave-delay = <2>; -		fsl,settling = <10>; -	}; diff --git a/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml b/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml new file mode 100644 index 000000000000..782b2f4005a0 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml @@ -0,0 +1,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>; +    }; | 
