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