# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/ti,am3359-tscadc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI AM3359 Touchscreen controller/ADC

maintainers:
  - Miquel Raynal <miquel.raynal@bootlin.com>

properties:
  compatible:
    oneOf:
      - const: ti,am3359-tscadc
      - items:
          - const: ti,am654-tscadc
          - const: ti,am3359-tscadc
      - const: ti,am4372-magadc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: fck

  dmas:
    items:
      - description: DMA controller phandle and request line for FIFO0
      - description: DMA controller phandle and request line for FIFO1

  dma-names:
    items:
      - const: fifo0
      - const: fifo1

  adc:
    type: object
    description: ADC child

  tsc:
    type: object
    description: Touchscreen controller child

  mag:
    type: object
    description: Magnetic reader

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - dmas
  - dma-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    tscadc@0 {
        compatible = "ti,am3359-tscadc";
        reg = <0x0 0x1000>;
        interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&adc_tsc_fck>;
        clock-names = "fck";
        dmas = <&edma 53 0>, <&edma 57 0>;
        dma-names = "fifo0", "fifo1";

        tsc {
        };

        adc {
        };
    };
