dt-bindings: mfd: convert mxs-lradc bindings to json-schema

Convert the Freescale MXS Low-Resoulution ADC (LRADC) device tree
binding documentation to json-schema.

The clocks and #io-channel-cells properties have also been added; They
are present in the respective SoC DTSI files but were missing from the
old mxs-lradc.txt file.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20250530160748.2476088-2-dario.binacchi@amarulasolutions.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Dario Binacchi 2025-05-30 18:07:32 +02:00 committed by Lee Jones
parent 2d23e749be
commit 009528b5aa
2 changed files with 134 additions and 45 deletions

View File

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

View File

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