# Copyright (c), 2021 NXP
# SPDX -License-Identifier: Apache-2.0

description: PMIC controlled regulator

include: regulator.yaml

compatible: "regulator-pmic"

properties:
    label:
        required: false
    voltage-range:
        type: array
        required: true
        description: |
           array of voltage values in uV, followed by the register value that
           must be written to enable the voltage. For example, [3300000, 0x3]
           denotes a value of 0x3 must be written to the register to set 3.3V
    num-voltages:
        type: int
        required: true
        description: number of voltages present in the voltage-range array.
    vsel-reg:
        type: int
        required: true
        description: I2C register to write voltage selection value to
    vsel-mask:
        type: int
        required: true
        description: |
          Mask to apply to the voltage range value when written to vsel
          register
    enable-reg:
        type: int
        required: true
        description: I2C register to write enable value to
    enable-mask:
        type: int
        required: true
        description: |
          Mask to apply to the enable bit (either 1 for enabled,
          or 0 for disabled) when writing it to the I2C enable register.
    enable-val:
        type: int
        required: true
        description: |
          value to apply enable-mask to, and write to enable-reg in order
          to enable the regulator output.
    min-uV:
        type: int
        required: true
        description: |
           Minimum voltage in microvolts that this regulator supports
    max-uV:
        type: int
        required: true
        description: |
           Maximum voltage in microvolts that this regulator supports
    enable-inverted:
        type: boolean
        required: false
        description: |
          If the enable bit should be zero to turn the regulator on, add this
          property.
    current-levels:
        type: array
        required: false
        description: |
          Array of current limit values in uA, followed by the register value
          that must be written to enable the current limit. For example,
          [800000, 0x3] denotes a value of 0x3 must be written to the register
          to set a current limit of 800mA
    num-current-levels:
        type: int
        required: false
        default: 0
        description: |
          Number of current limit levels this regulator supports. If left as
          default, regulator current support will be disabled.
    ilim-reg:
        type: int
        required: false
        description: |
          Register to write the register value given in current-levels into
          to set the current limit
    ilim-mask:
        type: int
        required: false
        description: |
          Mask to apply to the current-levels value before writing it to the
          ilim-reg value to set the current limit
