# Copyright (c) 2020, Toby Firth
# SPDX-License-Identifier: Apache-2.0

description: LPC LPADC

compatible: "nxp,lpc-lpadc"

include: [adc-controller.yaml, pinctrl-device.yaml]

properties:
  reg:
    required: true

  interrupts:
    required: true

  clk-divider:
    type: int
    description: clock divider for the converter

  clk-source:
    type: int
    description: source to attach the ADC clock to

  voltage-ref:
    type: int
    required: true
    description: |
      Voltage reference selection. Corresponds to value of
      register field CFG[REFSEL] (see chip specific manual).
    enum:
      - 0
      - 1
      - 2
      - 3

  calibration-average:
    type: int
    description: conversion average number for auto-calibration
    enum:
      - 1
      - 2
      - 4
      - 8
      - 16
      - 32
      - 64
      - 128

  no-power-level:
    type: boolean
    description: |
      There is no power level selection function.

  power-level:
    type: int
    description: |
      Power level selection. Corresponds to the value of
      register field CFG[PWRSEL] (see chip specific manual).
    enum:
      - 0
      - 1
      - 2
      - 3

  offset-value-a:
    type: int
    required: true
    description: Offset value A to use if CONFIG_LPADC_DO_OFFSET_CALIBRATION is false

  offset-value-b:
    type: int
    required: true
    description: Offset value B to use if CONFIG_LPADC_DO_OFFSET_CALIBRATION is false

  nxp,references:
    type: phandle-array
    description: References to required regulators which must be enabled for LPADC to function

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

io-channel-cells:
  - input
