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