# 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

properties:
    reg:
      required: true

    interrupts:
      required: true

    sck-pin:
      type: int
      required: true
      description: SCK pin

    lrck-pin:
      type: int
      required: true
      description: LRCK pin

    sdout-pin:
      type: int
      required: false
      description: SDOUT pin

    sdin-pin:
      type: int
      required: false
      description: SDIN pin

    mck-pin:
      type: int
      required: false
      description: MCK pin
