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