linux-loongson/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
Dario Binacchi 009528b5aa 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>
2025-07-24 11:26:56 +01:00

135 lines
3.1 KiB
YAML

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