162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright (C) 2020 Texas Instruments Incorporated 362306a36Sopenharmony_ci# Author: Peter Ujfalusi <peter.ujfalusi@ti.com> 462306a36Sopenharmony_ci%YAML 1.2 562306a36Sopenharmony_ci--- 662306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/ti,j721e-cpb-audio.yaml# 762306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 862306a36Sopenharmony_ci 962306a36Sopenharmony_cititle: Texas Instruments J721e Common Processor Board Audio Support 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cimaintainers: 1262306a36Sopenharmony_ci - Peter Ujfalusi <peter.ujfalusi@gmail.com> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cidescription: | 1562306a36Sopenharmony_ci The audio support on the board is using pcm3168a codec connected to McASP10 1662306a36Sopenharmony_ci serializers in parallel setup. 1762306a36Sopenharmony_ci The pcm3168a SCKI clock is sourced from j721e AUDIO_REFCLK2 pin. 1862306a36Sopenharmony_ci In order to support 48KHz and 44.1KHz family of sampling rates the parent 1962306a36Sopenharmony_ci clock for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and 2062306a36Sopenharmony_ci PLL15 (for 44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via 2162306a36Sopenharmony_ci different HSDIVIDER. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci Clocking setup for j721e: 2462306a36Sopenharmony_ci 48KHz family: 2562306a36Sopenharmony_ci PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk 2662306a36Sopenharmony_ci |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci 44.1KHz family: 2962306a36Sopenharmony_ci PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk 3062306a36Sopenharmony_ci |-> PLL15_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci Clocking setup for j7200: 3362306a36Sopenharmony_ci 48KHz family: 3462306a36Sopenharmony_ci PLL4 ---> PLL4_HSDIV0 ---> MCASP0_AUXCLK ---> McASP0.auxclk 3562306a36Sopenharmony_ci |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciproperties: 3862306a36Sopenharmony_ci compatible: 3962306a36Sopenharmony_ci enum: 4062306a36Sopenharmony_ci - ti,j721e-cpb-audio 4162306a36Sopenharmony_ci - ti,j7200-cpb-audio 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci model: 4462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/string 4562306a36Sopenharmony_ci description: User specified audio sound card name 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci ti,cpb-mcasp: 4862306a36Sopenharmony_ci description: phandle to McASP used on CPB 4962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci ti,cpb-codec: 5262306a36Sopenharmony_ci description: phandle to the pcm3168a codec used on the CPB 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci clocks: 5662306a36Sopenharmony_ci minItems: 4 5762306a36Sopenharmony_ci maxItems: 6 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci clock-names: 6062306a36Sopenharmony_ci minItems: 4 6162306a36Sopenharmony_ci maxItems: 6 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cirequired: 6462306a36Sopenharmony_ci - compatible 6562306a36Sopenharmony_ci - model 6662306a36Sopenharmony_ci - ti,cpb-mcasp 6762306a36Sopenharmony_ci - ti,cpb-codec 6862306a36Sopenharmony_ci - clocks 6962306a36Sopenharmony_ci - clock-names 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciadditionalProperties: false 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciallOf: 7462306a36Sopenharmony_ci - if: 7562306a36Sopenharmony_ci properties: 7662306a36Sopenharmony_ci compatible: 7762306a36Sopenharmony_ci contains: 7862306a36Sopenharmony_ci const: ti,j721e-cpb-audio 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci then: 8162306a36Sopenharmony_ci properties: 8262306a36Sopenharmony_ci clocks: 8362306a36Sopenharmony_ci items: 8462306a36Sopenharmony_ci - description: AUXCLK clock for McASP used by CPB audio 8562306a36Sopenharmony_ci - description: Parent for CPB_McASP auxclk (for 48KHz) 8662306a36Sopenharmony_ci - description: Parent for CPB_McASP auxclk (for 44.1KHz) 8762306a36Sopenharmony_ci - description: SCKI clock for the pcm3168a codec on CPB 8862306a36Sopenharmony_ci - description: Parent for CPB_SCKI clock (for 48KHz) 8962306a36Sopenharmony_ci - description: Parent for CPB_SCKI clock (for 44.1KHz) 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci clock-names: 9262306a36Sopenharmony_ci items: 9362306a36Sopenharmony_ci - const: cpb-mcasp-auxclk 9462306a36Sopenharmony_ci - const: cpb-mcasp-auxclk-48000 9562306a36Sopenharmony_ci - const: cpb-mcasp-auxclk-44100 9662306a36Sopenharmony_ci - const: cpb-codec-scki 9762306a36Sopenharmony_ci - const: cpb-codec-scki-48000 9862306a36Sopenharmony_ci - const: cpb-codec-scki-44100 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci - if: 10162306a36Sopenharmony_ci properties: 10262306a36Sopenharmony_ci compatible: 10362306a36Sopenharmony_ci contains: 10462306a36Sopenharmony_ci const: ti,j7200-cpb-audio 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci then: 10762306a36Sopenharmony_ci properties: 10862306a36Sopenharmony_ci clocks: 10962306a36Sopenharmony_ci items: 11062306a36Sopenharmony_ci - description: AUXCLK clock for McASP used by CPB audio 11162306a36Sopenharmony_ci - description: Parent for CPB_McASP auxclk (for 48KHz) 11262306a36Sopenharmony_ci - description: SCKI clock for the pcm3168a codec on CPB 11362306a36Sopenharmony_ci - description: Parent for CPB_SCKI clock (for 48KHz) 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci clock-names: 11662306a36Sopenharmony_ci items: 11762306a36Sopenharmony_ci - const: cpb-mcasp-auxclk 11862306a36Sopenharmony_ci - const: cpb-mcasp-auxclk-48000 11962306a36Sopenharmony_ci - const: cpb-codec-scki 12062306a36Sopenharmony_ci - const: cpb-codec-scki-48000 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciexamples: 12362306a36Sopenharmony_ci - |+ 12462306a36Sopenharmony_ci sound { 12562306a36Sopenharmony_ci compatible = "ti,j721e-cpb-audio"; 12662306a36Sopenharmony_ci model = "j721e-cpb"; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci ti,cpb-mcasp = <&mcasp10>; 12962306a36Sopenharmony_ci ti,cpb-codec = <&pcm3168a_1>; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci clocks = <&k3_clks 184 1>, 13262306a36Sopenharmony_ci <&k3_clks 184 2>, <&k3_clks 184 4>, 13362306a36Sopenharmony_ci <&k3_clks 157 371>, 13462306a36Sopenharmony_ci <&k3_clks 157 400>, <&k3_clks 157 401>; 13562306a36Sopenharmony_ci clock-names = "cpb-mcasp-auxclk", 13662306a36Sopenharmony_ci "cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100", 13762306a36Sopenharmony_ci "cpb-codec-scki", 13862306a36Sopenharmony_ci "cpb-codec-scki-48000", "cpb-codec-scki-44100"; 13962306a36Sopenharmony_ci }; 140