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 }; 146