18142500eSPeter Ujfalusi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*61fc03b6SPeter Ujfalusi# Copyright (C) 2020 Texas Instruments Incorporated 3*61fc03b6SPeter Ujfalusi# Author: Peter Ujfalusi <peter.ujfalusi@ti.com> 48142500eSPeter Ujfalusi%YAML 1.2 58142500eSPeter Ujfalusi--- 68142500eSPeter Ujfalusi$id: http://devicetree.org/schemas/sound/ti,j721e-cpb-audio.yaml# 78142500eSPeter Ujfalusi$schema: http://devicetree.org/meta-schemas/core.yaml# 88142500eSPeter Ujfalusi 98142500eSPeter Ujfalusititle: Texas Instruments J721e Common Processor Board Audio Support 108142500eSPeter Ujfalusi 118142500eSPeter Ujfalusimaintainers: 12*61fc03b6SPeter Ujfalusi - Peter Ujfalusi <peter.ujfalusi@gmail.com> 138142500eSPeter Ujfalusi 148142500eSPeter Ujfalusidescription: | 158142500eSPeter Ujfalusi The audio support on the board is using pcm3168a codec connected to McASP10 168142500eSPeter Ujfalusi serializers in parallel setup. 178142500eSPeter Ujfalusi The pcm3168a SCKI clock is sourced from j721e AUDIO_REFCLK2 pin. 188142500eSPeter Ujfalusi In order to support 48KHz and 44.1KHz family of sampling rates the parent 198142500eSPeter Ujfalusi clock for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and 208142500eSPeter Ujfalusi PLL15 (for 44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via 218142500eSPeter Ujfalusi different HSDIVIDER. 228142500eSPeter Ujfalusi 2318790b1bSPeter Ujfalusi Clocking setup for j721e: 2418790b1bSPeter Ujfalusi 48KHz family: 258142500eSPeter Ujfalusi PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk 268142500eSPeter Ujfalusi |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 278142500eSPeter Ujfalusi 2818790b1bSPeter Ujfalusi 44.1KHz family: 298142500eSPeter Ujfalusi PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk 308142500eSPeter Ujfalusi |-> PLL15_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 318142500eSPeter Ujfalusi 3218790b1bSPeter Ujfalusi Clocking setup for j7200: 3318790b1bSPeter Ujfalusi 48KHz family: 3418790b1bSPeter Ujfalusi PLL4 ---> PLL4_HSDIV0 ---> MCASP0_AUXCLK ---> McASP0.auxclk 3518790b1bSPeter Ujfalusi |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI 3618790b1bSPeter Ujfalusi 378142500eSPeter Ujfalusiproperties: 388142500eSPeter Ujfalusi compatible: 3918790b1bSPeter Ujfalusi enum: 4018790b1bSPeter Ujfalusi - ti,j721e-cpb-audio 4118790b1bSPeter Ujfalusi - ti,j7200-cpb-audio 428142500eSPeter Ujfalusi 438142500eSPeter Ujfalusi model: 448142500eSPeter Ujfalusi $ref: /schemas/types.yaml#/definitions/string 458142500eSPeter Ujfalusi description: User specified audio sound card name 468142500eSPeter Ujfalusi 478142500eSPeter Ujfalusi ti,cpb-mcasp: 488142500eSPeter Ujfalusi description: phandle to McASP used on CPB 495f0b06daSRob Herring $ref: /schemas/types.yaml#/definitions/phandle 508142500eSPeter Ujfalusi 518142500eSPeter Ujfalusi ti,cpb-codec: 528142500eSPeter Ujfalusi description: phandle to the pcm3168a codec used on the CPB 535f0b06daSRob Herring $ref: /schemas/types.yaml#/definitions/phandle 548142500eSPeter Ujfalusi 558142500eSPeter Ujfalusi clocks: 5618790b1bSPeter Ujfalusi minItems: 4 5718790b1bSPeter Ujfalusi maxItems: 6 5818790b1bSPeter Ujfalusi 5918790b1bSPeter Ujfalusi clock-names: 6018790b1bSPeter Ujfalusi minItems: 4 6118790b1bSPeter Ujfalusi maxItems: 6 6218790b1bSPeter Ujfalusi 6318790b1bSPeter Ujfalusirequired: 6418790b1bSPeter Ujfalusi - compatible 6518790b1bSPeter Ujfalusi - model 6618790b1bSPeter Ujfalusi - ti,cpb-mcasp 6718790b1bSPeter Ujfalusi - ti,cpb-codec 6818790b1bSPeter Ujfalusi - clocks 6918790b1bSPeter Ujfalusi - clock-names 7018790b1bSPeter Ujfalusi 7118790b1bSPeter UjfalusiadditionalProperties: false 7218790b1bSPeter Ujfalusi 7318790b1bSPeter UjfalusiallOf: 7418790b1bSPeter Ujfalusi - if: 7518790b1bSPeter Ujfalusi properties: 7618790b1bSPeter Ujfalusi compatible: 7718790b1bSPeter Ujfalusi contains: 7818790b1bSPeter Ujfalusi const: ti,j721e-cpb-audio 7918790b1bSPeter Ujfalusi 8018790b1bSPeter Ujfalusi then: 8118790b1bSPeter Ujfalusi properties: 8218790b1bSPeter Ujfalusi clocks: 8318790b1bSPeter Ujfalusi minItems: 6 848142500eSPeter Ujfalusi items: 858142500eSPeter Ujfalusi - description: AUXCLK clock for McASP used by CPB audio 868142500eSPeter Ujfalusi - description: Parent for CPB_McASP auxclk (for 48KHz) 878142500eSPeter Ujfalusi - description: Parent for CPB_McASP auxclk (for 44.1KHz) 888142500eSPeter Ujfalusi - description: SCKI clock for the pcm3168a codec on CPB 898142500eSPeter Ujfalusi - description: Parent for CPB_SCKI clock (for 48KHz) 908142500eSPeter Ujfalusi - description: Parent for CPB_SCKI clock (for 44.1KHz) 918142500eSPeter Ujfalusi 928142500eSPeter Ujfalusi clock-names: 938142500eSPeter Ujfalusi items: 948142500eSPeter Ujfalusi - const: cpb-mcasp-auxclk 958142500eSPeter Ujfalusi - const: cpb-mcasp-auxclk-48000 968142500eSPeter Ujfalusi - const: cpb-mcasp-auxclk-44100 978142500eSPeter Ujfalusi - const: cpb-codec-scki 988142500eSPeter Ujfalusi - const: cpb-codec-scki-48000 998142500eSPeter Ujfalusi - const: cpb-codec-scki-44100 1008142500eSPeter Ujfalusi 10118790b1bSPeter Ujfalusi - if: 10218790b1bSPeter Ujfalusi properties: 10318790b1bSPeter Ujfalusi compatible: 10418790b1bSPeter Ujfalusi contains: 10518790b1bSPeter Ujfalusi const: ti,j7200-cpb-audio 1068142500eSPeter Ujfalusi 10718790b1bSPeter Ujfalusi then: 10818790b1bSPeter Ujfalusi properties: 10918790b1bSPeter Ujfalusi clocks: 11018790b1bSPeter Ujfalusi maxItems: 4 11118790b1bSPeter Ujfalusi items: 11218790b1bSPeter Ujfalusi - description: AUXCLK clock for McASP used by CPB audio 11318790b1bSPeter Ujfalusi - description: Parent for CPB_McASP auxclk (for 48KHz) 11418790b1bSPeter Ujfalusi - description: SCKI clock for the pcm3168a codec on CPB 11518790b1bSPeter Ujfalusi - description: Parent for CPB_SCKI clock (for 48KHz) 11618790b1bSPeter Ujfalusi 11718790b1bSPeter Ujfalusi clock-names: 11818790b1bSPeter Ujfalusi items: 11918790b1bSPeter Ujfalusi - const: cpb-mcasp-auxclk 12018790b1bSPeter Ujfalusi - const: cpb-mcasp-auxclk-48000 12118790b1bSPeter Ujfalusi - const: cpb-codec-scki 12218790b1bSPeter Ujfalusi - const: cpb-codec-scki-48000 1238142500eSPeter Ujfalusi 1248142500eSPeter Ujfalusiexamples: 1258142500eSPeter Ujfalusi - |+ 1268142500eSPeter Ujfalusi sound { 1278142500eSPeter Ujfalusi compatible = "ti,j721e-cpb-audio"; 1288142500eSPeter Ujfalusi model = "j721e-cpb"; 1298142500eSPeter Ujfalusi 1308142500eSPeter Ujfalusi status = "okay"; 1318142500eSPeter Ujfalusi 1328142500eSPeter Ujfalusi ti,cpb-mcasp = <&mcasp10>; 1338142500eSPeter Ujfalusi ti,cpb-codec = <&pcm3168a_1>; 1348142500eSPeter Ujfalusi 1358142500eSPeter Ujfalusi clocks = <&k3_clks 184 1>, 1368142500eSPeter Ujfalusi <&k3_clks 184 2>, <&k3_clks 184 4>, 1378142500eSPeter Ujfalusi <&k3_clks 157 371>, 1388142500eSPeter Ujfalusi <&k3_clks 157 400>, <&k3_clks 157 401>; 1398142500eSPeter Ujfalusi clock-names = "cpb-mcasp-auxclk", 1408142500eSPeter Ujfalusi "cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100", 1418142500eSPeter Ujfalusi "cpb-codec-scki", 1428142500eSPeter Ujfalusi "cpb-codec-scki-48000", "cpb-codec-scki-44100"; 1438142500eSPeter Ujfalusi }; 144