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