File Index
Files and directories
Sign in
FILE

ti,j721e-cpb-ivi-audio.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/ti,j721e-cpb-ivi-audio.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2# Copyright (C) 2020 Texas Instruments Incorporated
  3# Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
  4%YAML 1.2
  5---
  6$id: http://devicetree.org/schemas/sound/ti,j721e-cpb-ivi-audio.yaml#
  7$schema: http://devicetree.org/meta-schemas/core.yaml#
  8
  9title: Texas Instruments J721e Common Processor Board Audio Support
 10
 11maintainers:
 12  - Peter Ujfalusi <peter.ujfalusi@gmail.com>
 13
 14description: |
 15  The Infotainment board plugs into the Common Processor Board, the support of the
 16  extension board is extending the CPB audio support, described in:
 17  sound/ti,j721e-cpb-audio.txt
 18
 19  The audio support on the Infotainment Expansion Board consists of McASP0
 20  connected to two pcm3168a codecs with dedicated set of serializers to each.
 21  The SCKI for pcm3168a is sourced from j721e AUDIO_REFCLK0 pin.
 22
 23  In order to support 48KHz and 44.1KHz family of sampling rates the parent clock
 24  for AUDIO_REFCLK0 needs to be changed between PLL4 (for 48KHz) and PLL15 (for
 25  44.1KHz). The same PLLs are used for McASP0's AUXCLK clock via different
 26  HSDIVIDER.
 27
 28  Note: the same PLL4 and PLL15 is used by the audio support on the CPB!
 29
 30  Clocking setup for 48KHz family:
 31  PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
 32        |                |-> MCASP0_AUXCLK  ---> McASP0.auxclk
 33        |
 34        |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2  ---> pcm3168a.SCKI
 35                         |-> AUDIO_REFCLK0  ---> pcm3168a_a/b.SCKI
 36
 37  Clocking setup for 44.1KHz family:
 38  PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
 39        |                  |-> MCASP0_AUXCLK  ---> McASP0.auxclk
 40        |
 41        |-> PLL15_HSDIV2 ---> AUDIO_REFCLK2   ---> pcm3168a.SCKI
 42                          |-> AUDIO_REFCLK0   ---> pcm3168a_a/b.SCKI
 43
 44properties:
 45  compatible:
 46    items:
 47      - const: ti,j721e-cpb-ivi-audio
 48
 49  model:
 50    $ref: /schemas/types.yaml#/definitions/string
 51    description: User specified audio sound card name
 52
 53  ti,cpb-mcasp:
 54    description: phandle to McASP used on CPB
 55    $ref: /schemas/types.yaml#/definitions/phandle
 56
 57  ti,cpb-codec:
 58    description: phandle to the pcm3168a codec used on the CPB
 59    $ref: /schemas/types.yaml#/definitions/phandle
 60
 61  ti,ivi-mcasp:
 62    description: phandle to McASP used on IVI
 63    $ref: /schemas/types.yaml#/definitions/phandle
 64
 65  ti,ivi-codec-a:
 66    description: phandle to the pcm3168a-A codec on the expansion board
 67    $ref: /schemas/types.yaml#/definitions/phandle
 68
 69  ti,ivi-codec-b:
 70    description: phandle to the pcm3168a-B codec on the expansion board
 71    $ref: /schemas/types.yaml#/definitions/phandle
 72
 73  clocks:
 74    items:
 75      - description: AUXCLK clock for McASP used by CPB audio
 76      - description: Parent for CPB_McASP auxclk (for 48KHz)
 77      - description: Parent for CPB_McASP auxclk (for 44.1KHz)
 78      - description: SCKI clock for the pcm3168a codec on CPB
 79      - description: Parent for CPB_SCKI clock (for 48KHz)
 80      - description: Parent for CPB_SCKI clock (for 44.1KHz)
 81      - description: AUXCLK clock for McASP used by IVI audio
 82      - description: Parent for IVI_McASP auxclk (for 48KHz)
 83      - description: Parent for IVI_McASP auxclk (for 44.1KHz)
 84      - description: SCKI clock for the pcm3168a codec on IVI
 85      - description: Parent for IVI_SCKI clock (for 48KHz)
 86      - description: Parent for IVI_SCKI clock (for 44.1KHz)
 87
 88  clock-names:
 89    items:
 90      - const: cpb-mcasp-auxclk
 91      - const: cpb-mcasp-auxclk-48000
 92      - const: cpb-mcasp-auxclk-44100
 93      - const: cpb-codec-scki
 94      - const: cpb-codec-scki-48000
 95      - const: cpb-codec-scki-44100
 96      - const: ivi-mcasp-auxclk
 97      - const: ivi-mcasp-auxclk-48000
 98      - const: ivi-mcasp-auxclk-44100
 99      - const: ivi-codec-scki
100      - const: ivi-codec-scki-48000
101      - const: ivi-codec-scki-44100
102
103required:
104  - compatible
105  - model
106  - ti,cpb-mcasp
107  - ti,cpb-codec
108  - ti,ivi-mcasp
109  - ti,ivi-codec-a
110  - ti,ivi-codec-b
111  - clocks
112  - clock-names
113
114additionalProperties: false
115
116examples:
117  - |+
118    sound {
119        compatible = "ti,j721e-cpb-ivi-audio";
120        model = "j721e-cpb-ivi";
121
122        ti,cpb-mcasp = <&mcasp10>;
123        ti,cpb-codec = <&pcm3168a_1>;
124
125        ti,ivi-mcasp = <&mcasp0>;
126        ti,ivi-codec-a = <&pcm3168a_a>;
127        ti,ivi-codec-b = <&pcm3168a_b>;
128
129        clocks = <&k3_clks 184 1>,
130                 <&k3_clks 184 2>, <&k3_clks 184 4>,
131                 <&k3_clks 157 371>,
132                 <&k3_clks 157 400>, <&k3_clks 157 401>,
133                 <&k3_clks 174 1>,
134                 <&k3_clks 174 2>, <&k3_clks 174 4>,
135                 <&k3_clks 157 301>,
136                 <&k3_clks 157 330>, <&k3_clks 157 331>;
137        clock-names = "cpb-mcasp-auxclk",
138                      "cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100",
139                      "cpb-codec-scki",
140                      "cpb-codec-scki-48000", "cpb-codec-scki-44100",
141                      "ivi-mcasp-auxclk",
142                      "ivi-mcasp-auxclk-48000", "ivi-mcasp-auxclk-44100",
143                      "ivi-codec-scki",
144                      "ivi-codec-scki-48000", "ivi-codec-scki-44100";
145    };
~/ Read-only file preview.