# Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or
# an affiliate of Cypress Semiconductor Corporation
#
# SPDX-License-Identifier: Apache-2.0

description: |
  Infineon Cat1 ADC
  Each ADC group Cat1 is assigned to a Zephyr device. Refer to the Infineon PSOC 6 reference
  manual (Section Port I/O functions) for the group/channel mapping to a specific port-pin on
  the board.  For example on the cy8cproto_062_4343w P10.0 is mapped to adc0,channel0 and
  P10.1 is mapped to adc0,channel1.

compatible: "infineon,cat1-adc"

include: adc-controller.yaml

properties:
  reg:
    required: true

  interrupts:
    required: true

  "#io-channel-cells":
    const: 1

io-channel-cells:
  - input
