# Copyright (c) 2019 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: Nordic I2S (Inter-IC sound interface)

compatible: "nordic,nrf-i2s"

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

properties:
    reg:
      required: true

    interrupts:
      required: true

    sck-pin:
      type: int
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

        The SCK pin to use.

        For pins P0.0 through P0.31, use the pin number. For example,
        to use P0.16 for SCK, set:

            sck-pin = <16>;

        For pins P1.0 through P1.31, add 32 to the pin number. For
        example, to use P1.2 for SCK, set:

            sck-pin = <34>;  /* 32 + 2 */

    lrck-pin:
      type: int
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

        The LRCK pin to use. The pin numbering scheme is the same as
        the sck-pin property's.

    sdout-pin:
      type: int
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

        The SDOUT pin to use. The pin numbering scheme is the same as
        the sck-pin property's.

    sdin-pin:
      type: int
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

        The SDIN pin to use. The pin numbering scheme is the same as
        the sck-pin property's.

    mck-pin:
      type: int
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

        The MCK pin to use. The pin numbering scheme is the same as
        the sck-pin property's.

    clock-source:
      type: string
      default: "PCLK32M_HFXO"
      description: |
        Clock source to be used by the I2S peripheral for the master clock
        (MCK) generator. The generator is only needed when the I2S peripheral
        is operating in Master mode. The following options are available:
        - "PCLK32M": 32 MHz peripheral clock, synchronous to HFCLK
        - "PCLK32M_HFXO": PCLK32M running off the 32 MHz crystal oscillator
          (HFXO) for better clock accuracy and jitter performance
        - "ACLK": Audio PLL clock with configurable frequency (frequency for
          this clock must be set via the "hfclkaudio-frequency" property
          in the "nordic,nrf-clock" node); this clock source is only available
          in the nRF53 Series SoCs and it requires the use of HFXO
      enum:
        - "PCLK32M"
        - "PCLK32M_HFXO"
        - "ACLK"
