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