Documentation / devicetree / bindings / sound / audio-graph-port.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/audio-graph-port.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Audio Graph Card 'port'

maintainers:
  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

select: false

definitions:
  port-base:
    allOf:
      - $ref: /schemas/graph.yaml#/$defs/port-base
      - $ref: /schemas/sound/dai-params.yaml#
    properties:
      mclk-fs:
        $ref: simple-card.yaml#/definitions/mclk-fs
      playback-only:
        description: port connection used only for playback
        $ref: /schemas/types.yaml#/definitions/flag
      capture-only:
        description: port connection used only for capture
        $ref: /schemas/types.yaml#/definitions/flag
      link-trigger-order:
        description: trigger order for both start/stop
        $ref: /schemas/types.yaml#/definitions/uint32-array
      link-trigger-order-start:
        description: trigger order for start
        $ref: /schemas/types.yaml#/definitions/uint32-array
      link-trigger-order-stop:
        description: trigger order for stop
        $ref: /schemas/types.yaml#/definitions/uint32-array

  endpoint-base:
    allOf:
      - $ref: /schemas/graph.yaml#/$defs/endpoint-base
      - $ref: /schemas/sound/dai-params.yaml#
    properties:
      mclk-fs:
        $ref: simple-card.yaml#/definitions/mclk-fs
      frame-inversion:
        description: dai-link uses frame clock inversion
        $ref: /schemas/types.yaml#/definitions/flag
      bitclock-inversion:
        description: dai-link uses bit clock inversion
        $ref: /schemas/types.yaml#/definitions/flag
      frame-master:
        description: Indicates dai-link frame master.
        oneOf:
          - $ref: /schemas/types.yaml#/definitions/flag
          - $ref: /schemas/types.yaml#/definitions/phandle
      bitclock-master:
        description: Indicates dai-link bit clock master
        oneOf:
          - $ref: /schemas/types.yaml#/definitions/flag
          - $ref: /schemas/types.yaml#/definitions/phandle
      clocks:
        description: Indicates system clock
        maxItems: 1
      system-clock-frequency:
        $ref: simple-card.yaml#/definitions/system-clock-frequency
      system-clock-direction-out:
        $ref: simple-card.yaml#/definitions/system-clock-direction-out
      system-clock-fixed:
        $ref: simple-card.yaml#/definitions/system-clock-fixed

      dai-format:
        description: audio format.
        items:
          enum:
            - i2s
            - right_j
            - left_j
            - dsp_a
            - dsp_b
            - ac97
            - pdm
            - msb
            - lsb

      dai-tdm-slot-num:
        description: Number of slots in use.
        $ref: /schemas/types.yaml#/definitions/uint32
      dai-tdm-slot-width:
        description: Width in bits for each slot.
        $ref: /schemas/types.yaml#/definitions/uint32
      dai-tdm-slot-width-map:
        description: Mapping of sample widths to slot widths. For hardware
          that cannot support a fixed slot width or a slot width always
          equal to sample width. A matrix of one or more 3-tuples.
        $ref: /schemas/types.yaml#/definitions/uint32-matrix
        items:
          items:
            -
              description: Sample width in bits
              minimum: 8
              maximum: 64
            -
              description: Slot width in bits
              minimum: 8
              maximum: 256
            -
              description: Slot count
              minimum: 1
              maximum: 64

  ports:
    $ref: "#/definitions/port-base"
    unevaluatedProperties: false
    patternProperties:
      "^port(@[0-9a-f]+)?$":
        $ref: "#/definitions/port-base"
        unevaluatedProperties: false
        patternProperties:
          "^endpoint(@[0-9a-f]+)?":
            $ref: "#/definitions/endpoint-base"
            unevaluatedProperties: false

allOf:
  - $ref: "#/definitions/port-base"

patternProperties:
  "^endpoint(@[0-9a-f]+)?":
    $ref: "#/definitions/endpoint-base"
    unevaluatedProperties: false

additionalProperties: true