179149fb8SKuninori Morimoto# SPDX-License-Identifier: GPL-2.0 279149fb8SKuninori Morimoto%YAML 1.2 379149fb8SKuninori Morimoto--- 479149fb8SKuninori Morimoto$id: http://devicetree.org/schemas/sound/simple-card.yaml# 579149fb8SKuninori Morimoto$schema: http://devicetree.org/meta-schemas/core.yaml# 679149fb8SKuninori Morimoto 779149fb8SKuninori Morimototitle: Simple Audio Card Driver Device Tree Bindings 879149fb8SKuninori Morimoto 979149fb8SKuninori Morimotomaintainers: 1079149fb8SKuninori Morimoto - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 1179149fb8SKuninori Morimoto 1279149fb8SKuninori Morimotodefinitions: 1379149fb8SKuninori Morimoto 1479149fb8SKuninori Morimoto frame-master: 1579149fb8SKuninori Morimoto description: Indicates dai-link frame master. 16*251bf658SRob Herring $ref: /schemas/types.yaml#/definitions/phandle 1779149fb8SKuninori Morimoto 1879149fb8SKuninori Morimoto bitclock-master: 1979149fb8SKuninori Morimoto description: Indicates dai-link bit clock master 20*251bf658SRob Herring $ref: /schemas/types.yaml#/definitions/phandle 2179149fb8SKuninori Morimoto 2279149fb8SKuninori Morimoto frame-inversion: 2379149fb8SKuninori Morimoto description: dai-link uses frame clock inversion 2479149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2579149fb8SKuninori Morimoto 2679149fb8SKuninori Morimoto bitclock-inversion: 2779149fb8SKuninori Morimoto description: dai-link uses bit clock inversion 2879149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2979149fb8SKuninori Morimoto 3079149fb8SKuninori Morimoto dai-tdm-slot-num: 3179149fb8SKuninori Morimoto description: see tdm-slot.txt. 3279149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 3379149fb8SKuninori Morimoto 3479149fb8SKuninori Morimoto dai-tdm-slot-width: 3579149fb8SKuninori Morimoto description: see tdm-slot.txt. 3679149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 3779149fb8SKuninori Morimoto 3879149fb8SKuninori Morimoto system-clock-frequency: 3979149fb8SKuninori Morimoto description: | 4079149fb8SKuninori Morimoto If a clock is specified and a multiplication factor is given with 4179149fb8SKuninori Morimoto mclk-fs, the clock will be set to the calculated mclk frequency 4279149fb8SKuninori Morimoto when the stream starts. 4379149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 4479149fb8SKuninori Morimoto 4579149fb8SKuninori Morimoto system-clock-direction-out: 4679149fb8SKuninori Morimoto description: | 4779149fb8SKuninori Morimoto specifies clock direction as 'out' on initialization. 4879149fb8SKuninori Morimoto It is useful for some aCPUs with fixed clocks. 4979149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 5079149fb8SKuninori Morimoto 5179149fb8SKuninori Morimoto mclk-fs: 5279149fb8SKuninori Morimoto description: | 5379149fb8SKuninori Morimoto Multiplication factor between stream rate and codec mclk. 5479149fb8SKuninori Morimoto When defined, mclk-fs property defined in dai-link sub nodes are ignored. 5579149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 5679149fb8SKuninori Morimoto 5779149fb8SKuninori Morimoto aux-devs: 5879149fb8SKuninori Morimoto description: | 5979149fb8SKuninori Morimoto List of phandles pointing to auxiliary devices, such 6079149fb8SKuninori Morimoto as amplifiers, to be added to the sound card. 6179149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 6279149fb8SKuninori Morimoto 6379149fb8SKuninori Morimoto convert-rate: 6479149fb8SKuninori Morimoto description: CPU to Codec rate convert. 6579149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 6679149fb8SKuninori Morimoto 6779149fb8SKuninori Morimoto convert-channels: 6879149fb8SKuninori Morimoto description: CPU to Codec rate channels. 6979149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/uint32 7079149fb8SKuninori Morimoto 7179149fb8SKuninori Morimoto prefix: 7279149fb8SKuninori Morimoto description: "device name prefix" 7379149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/string 7479149fb8SKuninori Morimoto 7579149fb8SKuninori Morimoto label: 7679149fb8SKuninori Morimoto maxItems: 1 7779149fb8SKuninori Morimoto 7879149fb8SKuninori Morimoto routing: 7979149fb8SKuninori Morimoto description: | 8079149fb8SKuninori Morimoto A list of the connections between audio components. 8179149fb8SKuninori Morimoto Each entry is a pair of strings, the first being the 8279149fb8SKuninori Morimoto connection's sink, the second being the connection's source. 8379149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/non-unique-string-array 8479149fb8SKuninori Morimoto 8579149fb8SKuninori Morimoto widgets: 8679149fb8SKuninori Morimoto description: User specified audio sound widgets. 8779149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/non-unique-string-array 8879149fb8SKuninori Morimoto 8979149fb8SKuninori Morimoto pin-switches: 9079149fb8SKuninori Morimoto description: the widget names for which pin switches must be created. 9179149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/string-array 9279149fb8SKuninori Morimoto 9379149fb8SKuninori Morimoto format: 9479149fb8SKuninori Morimoto description: audio format. 9579149fb8SKuninori Morimoto items: 9679149fb8SKuninori Morimoto enum: 9779149fb8SKuninori Morimoto - i2s 9879149fb8SKuninori Morimoto - right_j 9979149fb8SKuninori Morimoto - left_j 10079149fb8SKuninori Morimoto - dsp_a 10179149fb8SKuninori Morimoto - dsp_b 10279149fb8SKuninori Morimoto - ac97 10379149fb8SKuninori Morimoto - pdm 10479149fb8SKuninori Morimoto - msb 10579149fb8SKuninori Morimoto - lsb 10679149fb8SKuninori Morimoto 10779149fb8SKuninori Morimoto dai: 10879149fb8SKuninori Morimoto type: object 10979149fb8SKuninori Morimoto properties: 11079149fb8SKuninori Morimoto sound-dai: 11179149fb8SKuninori Morimoto maxItems: 1 11279149fb8SKuninori Morimoto 11379149fb8SKuninori Morimoto # common properties 11479149fb8SKuninori Morimoto mclk-fs: 11579149fb8SKuninori Morimoto $ref: "#/definitions/mclk-fs" 11679149fb8SKuninori Morimoto prefix: 11779149fb8SKuninori Morimoto $ref: "#/definitions/prefix" 11879149fb8SKuninori Morimoto frame-inversion: 11979149fb8SKuninori Morimoto $ref: "#/definitions/frame-inversion" 12079149fb8SKuninori Morimoto bitclock-inversion: 12179149fb8SKuninori Morimoto $ref: "#/definitions/bitclock-inversion" 12279149fb8SKuninori Morimoto frame-master: 12379149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 12479149fb8SKuninori Morimoto bitclock-master: 12579149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 12679149fb8SKuninori Morimoto 12779149fb8SKuninori Morimoto dai-tdm-slot-num: 12879149fb8SKuninori Morimoto $ref: "#/definitions/dai-tdm-slot-num" 12979149fb8SKuninori Morimoto dai-tdm-slot-width: 13079149fb8SKuninori Morimoto $ref: "#/definitions/dai-tdm-slot-width" 13179149fb8SKuninori Morimoto clocks: 13279149fb8SKuninori Morimoto maxItems: 1 13379149fb8SKuninori Morimoto system-clock-frequency: 13479149fb8SKuninori Morimoto $ref: "#/definitions/system-clock-frequency" 13579149fb8SKuninori Morimoto system-clock-direction-out: 13679149fb8SKuninori Morimoto $ref: "#/definitions/system-clock-direction-out" 13779149fb8SKuninori Morimoto required: 13879149fb8SKuninori Morimoto - sound-dai 13979149fb8SKuninori Morimoto 14079149fb8SKuninori Morimotoproperties: 14179149fb8SKuninori Morimoto compatible: 14279149fb8SKuninori Morimoto contains: 14379149fb8SKuninori Morimoto enum: 14479149fb8SKuninori Morimoto - simple-audio-card 14579149fb8SKuninori Morimoto - simple-scu-audio-card 14679149fb8SKuninori Morimoto 14779149fb8SKuninori Morimoto "#address-cells": 14879149fb8SKuninori Morimoto const: 1 14979149fb8SKuninori Morimoto "#size-cells": 15079149fb8SKuninori Morimoto const: 0 15179149fb8SKuninori Morimoto 15279149fb8SKuninori Morimoto label: 15379149fb8SKuninori Morimoto $ref: "#/definitions/label" 15479149fb8SKuninori Morimoto 15579149fb8SKuninori Morimoto simple-audio-card,name: 15679149fb8SKuninori Morimoto description: User specified audio sound card name. 15779149fb8SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/string 15879149fb8SKuninori Morimoto 15979149fb8SKuninori Morimoto# use patternProperties to avoid naming "xxx,yyy" issue 16079149fb8SKuninori MorimotopatternProperties: 16179149fb8SKuninori Morimoto "^simple-audio-card,widgets$": 16279149fb8SKuninori Morimoto $ref: "#/definitions/widgets" 16379149fb8SKuninori Morimoto "^simple-audio-card,routing$": 16479149fb8SKuninori Morimoto $ref: "#/definitions/routing" 16579149fb8SKuninori Morimoto "^simple-audio-card,cpu(@[0-9a-f]+)?": 16679149fb8SKuninori Morimoto $ref: "#/definitions/dai" 16779149fb8SKuninori Morimoto "^simple-audio-card,codec(@[0-9a-f]+)?": 16879149fb8SKuninori Morimoto $ref: "#/definitions/dai" 16979149fb8SKuninori Morimoto 17079149fb8SKuninori Morimoto # common properties 17179149fb8SKuninori Morimoto "^simple-audio-card,frame-master$": 17279149fb8SKuninori Morimoto $ref: "#/definitions/frame-master" 17379149fb8SKuninori Morimoto "^simple-audio-card,bitclock-master$": 17479149fb8SKuninori Morimoto $ref: "#/definitions/bitclock-master" 17579149fb8SKuninori Morimoto "^simple-audio-card,frame-inversion$": 17679149fb8SKuninori Morimoto $ref: "#/definitions/frame-inversion" 17779149fb8SKuninori Morimoto "^simple-audio-card,bitclock-inversion$": 17879149fb8SKuninori Morimoto $ref: "#/definitions/bitclock-inversion" 17979149fb8SKuninori Morimoto "^simple-audio-card,format$": 18079149fb8SKuninori Morimoto $ref: "#/definitions/format" 18179149fb8SKuninori Morimoto "^simple-audio-card,mclk-fs$": 18279149fb8SKuninori Morimoto $ref: "#/definitions/mclk-fs" 18379149fb8SKuninori Morimoto "^simple-audio-card,aux-devs$": 18479149fb8SKuninori Morimoto $ref: "#/definitions/aux-devs" 18579149fb8SKuninori Morimoto "^simple-audio-card,convert-rate$": 18679149fb8SKuninori Morimoto $ref: "#/definitions/convert-rate" 18779149fb8SKuninori Morimoto "^simple-audio-card,convert-channels$": 18879149fb8SKuninori Morimoto $ref: "#/definitions/convert-channels" 18979149fb8SKuninori Morimoto "^simple-audio-card,prefix$": 19079149fb8SKuninori Morimoto $ref: "#/definitions/prefix" 19179149fb8SKuninori Morimoto "^simple-audio-card,pin-switches$": 19279149fb8SKuninori Morimoto $ref: "#/definitions/pin-switches" 19379149fb8SKuninori Morimoto "^simple-audio-card,hp-det-gpio$": 19479149fb8SKuninori Morimoto maxItems: 1 19579149fb8SKuninori Morimoto "^simple-audio-card,mic-det-gpio$": 19679149fb8SKuninori Morimoto maxItems: 1 19779149fb8SKuninori Morimoto 19879149fb8SKuninori Morimoto "^simple-audio-card,dai-link(@[0-9a-f]+)?$": 19979149fb8SKuninori Morimoto description: | 20079149fb8SKuninori Morimoto Container for dai-link level properties and the CPU and CODEC sub-nodes. 20179149fb8SKuninori Morimoto This container may be omitted when the card has only one DAI link. 20279149fb8SKuninori Morimoto type: object 20379149fb8SKuninori Morimoto properties: 20479149fb8SKuninori Morimoto reg: 20579149fb8SKuninori Morimoto maxItems: 1 20679149fb8SKuninori Morimoto 20779149fb8SKuninori Morimoto # common properties 20879149fb8SKuninori Morimoto frame-master: 20979149fb8SKuninori Morimoto $ref: "#/definitions/frame-master" 21079149fb8SKuninori Morimoto bitclock-master: 21179149fb8SKuninori Morimoto $ref: "#/definitions/bitclock-master" 21279149fb8SKuninori Morimoto frame-inversion: 21379149fb8SKuninori Morimoto $ref: "#/definitions/frame-inversion" 21479149fb8SKuninori Morimoto bitclock-inversion: 21579149fb8SKuninori Morimoto $ref: "#/definitions/bitclock-inversion" 21679149fb8SKuninori Morimoto format: 21779149fb8SKuninori Morimoto $ref: "#/definitions/format" 21879149fb8SKuninori Morimoto mclk-fs: 21979149fb8SKuninori Morimoto $ref: "#/definitions/mclk-fs" 22079149fb8SKuninori Morimoto aux-devs: 22179149fb8SKuninori Morimoto $ref: "#/definitions/aux-devs" 22279149fb8SKuninori Morimoto convert-rate: 22379149fb8SKuninori Morimoto $ref: "#/definitions/convert-rate" 22479149fb8SKuninori Morimoto convert-channels: 22579149fb8SKuninori Morimoto $ref: "#/definitions/convert-channels" 22679149fb8SKuninori Morimoto prefix: 22779149fb8SKuninori Morimoto $ref: "#/definitions/prefix" 22879149fb8SKuninori Morimoto pin-switches: 22979149fb8SKuninori Morimoto $ref: "#/definitions/pin-switches" 23079149fb8SKuninori Morimoto hp-det-gpio: 23179149fb8SKuninori Morimoto maxItems: 1 23279149fb8SKuninori Morimoto mic-det-gpio: 23379149fb8SKuninori Morimoto maxItems: 1 23479149fb8SKuninori Morimoto 23579149fb8SKuninori Morimoto patternProperties: 23679149fb8SKuninori Morimoto "^cpu(@[0-9a-f]+)?": 23779149fb8SKuninori Morimoto $ref: "#/definitions/dai" 23879149fb8SKuninori Morimoto "^codec(@[0-9a-f]+)?": 23979149fb8SKuninori Morimoto $ref: "#/definitions/dai" 24079149fb8SKuninori Morimoto additionalProperties: false 24179149fb8SKuninori Morimoto 24279149fb8SKuninori Morimotorequired: 24379149fb8SKuninori Morimoto - compatible 24479149fb8SKuninori Morimoto 24579149fb8SKuninori MorimotoadditionalProperties: false 24679149fb8SKuninori Morimoto 24779149fb8SKuninori Morimotoexamples: 24879149fb8SKuninori Morimoto#-------------------- 24979149fb8SKuninori Morimoto# single DAI link 25079149fb8SKuninori Morimoto#-------------------- 25179149fb8SKuninori Morimoto - | 25279149fb8SKuninori Morimoto sound { 25379149fb8SKuninori Morimoto compatible = "simple-audio-card"; 25479149fb8SKuninori Morimoto simple-audio-card,name = "VF610-Tower-Sound-Card"; 25579149fb8SKuninori Morimoto simple-audio-card,format = "left_j"; 25679149fb8SKuninori Morimoto simple-audio-card,bitclock-master = <&dailink0_master>; 25779149fb8SKuninori Morimoto simple-audio-card,frame-master = <&dailink0_master>; 25879149fb8SKuninori Morimoto simple-audio-card,widgets = 25979149fb8SKuninori Morimoto "Microphone", "Microphone Jack", 26079149fb8SKuninori Morimoto "Headphone", "Headphone Jack", 26179149fb8SKuninori Morimoto "Speaker", "External Speaker"; 26279149fb8SKuninori Morimoto simple-audio-card,routing = 26379149fb8SKuninori Morimoto "MIC_IN", "Microphone Jack", 26479149fb8SKuninori Morimoto "Headphone Jack", "HP_OUT", 26579149fb8SKuninori Morimoto "External Speaker", "LINE_OUT"; 26679149fb8SKuninori Morimoto 26779149fb8SKuninori Morimoto simple-audio-card,cpu { 26879149fb8SKuninori Morimoto sound-dai = <&sh_fsi2 0>; 26979149fb8SKuninori Morimoto }; 27079149fb8SKuninori Morimoto 27179149fb8SKuninori Morimoto dailink0_master: simple-audio-card,codec { 27279149fb8SKuninori Morimoto sound-dai = <&ak4648>; 27379149fb8SKuninori Morimoto clocks = <&osc>; 27479149fb8SKuninori Morimoto }; 27579149fb8SKuninori Morimoto }; 27679149fb8SKuninori Morimoto 27779149fb8SKuninori Morimoto#-------------------- 27879149fb8SKuninori Morimoto# Multi DAI links 27979149fb8SKuninori Morimoto#-------------------- 28079149fb8SKuninori Morimoto - | 28179149fb8SKuninori Morimoto sound { 28279149fb8SKuninori Morimoto compatible = "simple-audio-card"; 28379149fb8SKuninori Morimoto simple-audio-card,name = "Cubox Audio"; 28479149fb8SKuninori Morimoto 28579149fb8SKuninori Morimoto #address-cells = <1>; 28679149fb8SKuninori Morimoto #size-cells = <0>; 28779149fb8SKuninori Morimoto 28879149fb8SKuninori Morimoto simple-audio-card,dai-link@0 { /* I2S - HDMI */ 28979149fb8SKuninori Morimoto reg = <0>; 29079149fb8SKuninori Morimoto format = "i2s"; 29179149fb8SKuninori Morimoto cpu { 29279149fb8SKuninori Morimoto sound-dai = <&audio0>; 29379149fb8SKuninori Morimoto }; 29479149fb8SKuninori Morimoto codec { 29579149fb8SKuninori Morimoto sound-dai = <&tda998x0>; 29679149fb8SKuninori Morimoto }; 29779149fb8SKuninori Morimoto }; 29879149fb8SKuninori Morimoto 29979149fb8SKuninori Morimoto simple-audio-card,dai-link@1 { /* S/PDIF - HDMI */ 30079149fb8SKuninori Morimoto reg = <1>; 30179149fb8SKuninori Morimoto cpu { 30279149fb8SKuninori Morimoto sound-dai = <&audio1>; 30379149fb8SKuninori Morimoto }; 30479149fb8SKuninori Morimoto codec { 30579149fb8SKuninori Morimoto sound-dai = <&tda998x1>; 30679149fb8SKuninori Morimoto }; 30779149fb8SKuninori Morimoto }; 30879149fb8SKuninori Morimoto 30979149fb8SKuninori Morimoto simple-audio-card,dai-link@2 { /* S/PDIF - S/PDIF */ 31079149fb8SKuninori Morimoto reg = <2>; 31179149fb8SKuninori Morimoto cpu { 31279149fb8SKuninori Morimoto sound-dai = <&audio2>; 31379149fb8SKuninori Morimoto }; 31479149fb8SKuninori Morimoto codec { 31579149fb8SKuninori Morimoto sound-dai = <&spdif_codec>; 31679149fb8SKuninori Morimoto }; 31779149fb8SKuninori Morimoto }; 31879149fb8SKuninori Morimoto }; 31979149fb8SKuninori Morimoto 32079149fb8SKuninori Morimoto#-------------------- 32179149fb8SKuninori Morimoto# route audio from IMX6 SSI2 through TLV320DAC3100 codec 32279149fb8SKuninori Morimoto# through TPA6130A2 amplifier to headphones: 32379149fb8SKuninori Morimoto#-------------------- 32479149fb8SKuninori Morimoto - | 32579149fb8SKuninori Morimoto sound { 32679149fb8SKuninori Morimoto compatible = "simple-audio-card"; 32779149fb8SKuninori Morimoto 32879149fb8SKuninori Morimoto simple-audio-card,widgets = 32979149fb8SKuninori Morimoto "Headphone", "Headphone Jack"; 33079149fb8SKuninori Morimoto simple-audio-card,routing = 33179149fb8SKuninori Morimoto "Headphone Jack", "HPLEFT", 33279149fb8SKuninori Morimoto "Headphone Jack", "HPRIGHT", 33379149fb8SKuninori Morimoto "LEFTIN", "HPL", 33479149fb8SKuninori Morimoto "RIGHTIN", "HPR"; 33579149fb8SKuninori Morimoto simple-audio-card,aux-devs = <&>; 33679149fb8SKuninori Morimoto simple-audio-card,cpu { 33779149fb8SKuninori Morimoto sound-dai = <&ssi2>; 33879149fb8SKuninori Morimoto }; 33979149fb8SKuninori Morimoto simple-audio-card,codec { 34079149fb8SKuninori Morimoto sound-dai = <&codec>; 34179149fb8SKuninori Morimoto clocks = <&clocks>; 34279149fb8SKuninori Morimoto }; 34379149fb8SKuninori Morimoto }; 34479149fb8SKuninori Morimoto 34579149fb8SKuninori Morimoto#-------------------- 34679149fb8SKuninori Morimoto# Sampling Rate Conversion 34779149fb8SKuninori Morimoto#-------------------- 34879149fb8SKuninori Morimoto - | 34979149fb8SKuninori Morimoto sound { 35079149fb8SKuninori Morimoto compatible = "simple-audio-card"; 35179149fb8SKuninori Morimoto 35279149fb8SKuninori Morimoto simple-audio-card,name = "rsnd-ak4643"; 35379149fb8SKuninori Morimoto simple-audio-card,format = "left_j"; 35479149fb8SKuninori Morimoto simple-audio-card,bitclock-master = <&sndcodec>; 35579149fb8SKuninori Morimoto simple-audio-card,frame-master = <&sndcodec>; 35679149fb8SKuninori Morimoto 35779149fb8SKuninori Morimoto simple-audio-card,convert-rate = <48000>; 35879149fb8SKuninori Morimoto 35979149fb8SKuninori Morimoto simple-audio-card,prefix = "ak4642"; 36079149fb8SKuninori Morimoto simple-audio-card,routing = "ak4642 Playback", "DAI0 Playback", 36179149fb8SKuninori Morimoto "DAI0 Capture", "ak4642 Capture"; 36279149fb8SKuninori Morimoto 36379149fb8SKuninori Morimoto sndcpu: simple-audio-card,cpu { 36479149fb8SKuninori Morimoto sound-dai = <&rcar_sound>; 36579149fb8SKuninori Morimoto }; 36679149fb8SKuninori Morimoto 36779149fb8SKuninori Morimoto sndcodec: simple-audio-card,codec { 36879149fb8SKuninori Morimoto sound-dai = <&ak4643>; 36979149fb8SKuninori Morimoto system-clock-frequency = <11289600>; 37079149fb8SKuninori Morimoto }; 37179149fb8SKuninori Morimoto }; 37279149fb8SKuninori Morimoto 37379149fb8SKuninori Morimoto#-------------------- 37479149fb8SKuninori Morimoto# 2 CPU 1 Codec (Mixing) 37579149fb8SKuninori Morimoto#-------------------- 37679149fb8SKuninori Morimoto - | 37779149fb8SKuninori Morimoto sound { 37879149fb8SKuninori Morimoto compatible = "simple-audio-card"; 3795aaec71dSFabio Estevam #address-cells = <1>; 3805aaec71dSFabio Estevam #size-cells = <0>; 38179149fb8SKuninori Morimoto 38279149fb8SKuninori Morimoto simple-audio-card,name = "rsnd-ak4643"; 38379149fb8SKuninori Morimoto simple-audio-card,format = "left_j"; 38479149fb8SKuninori Morimoto simple-audio-card,bitclock-master = <&dpcmcpu>; 38579149fb8SKuninori Morimoto simple-audio-card,frame-master = <&dpcmcpu>; 38679149fb8SKuninori Morimoto 38779149fb8SKuninori Morimoto simple-audio-card,convert-rate = <48000>; 38879149fb8SKuninori Morimoto simple-audio-card,convert-channels = <2>; 38979149fb8SKuninori Morimoto 39079149fb8SKuninori Morimoto simple-audio-card,routing = "ak4642 Playback", "DAI0 Playback", 39179149fb8SKuninori Morimoto "ak4642 Playback", "DAI1 Playback"; 39279149fb8SKuninori Morimoto 39379149fb8SKuninori Morimoto dpcmcpu: simple-audio-card,cpu@0 { 3945aaec71dSFabio Estevam reg = <0>; 39579149fb8SKuninori Morimoto sound-dai = <&rcar_sound 0>; 39679149fb8SKuninori Morimoto }; 39779149fb8SKuninori Morimoto 39879149fb8SKuninori Morimoto simple-audio-card,cpu@1 { 3995aaec71dSFabio Estevam reg = <1>; 40079149fb8SKuninori Morimoto sound-dai = <&rcar_sound 1>; 40179149fb8SKuninori Morimoto }; 40279149fb8SKuninori Morimoto 40379149fb8SKuninori Morimoto simple-audio-card,codec { 40479149fb8SKuninori Morimoto prefix = "ak4642"; 40579149fb8SKuninori Morimoto sound-dai = <&ak4643>; 40679149fb8SKuninori Morimoto clocks = <&audio_clock>; 40779149fb8SKuninori Morimoto }; 40879149fb8SKuninori Morimoto }; 40979149fb8SKuninori Morimoto 41079149fb8SKuninori Morimoto#-------------------- 41179149fb8SKuninori Morimoto# Multi DAI links with DPCM: 41279149fb8SKuninori Morimoto# 41379149fb8SKuninori Morimoto# CPU0 ------ ak4613 41479149fb8SKuninori Morimoto# CPU1 ------ PCM3168A-p /* DPCM 1ch/2ch */ 41579149fb8SKuninori Morimoto# CPU2 --/ /* DPCM 3ch/4ch */ 41679149fb8SKuninori Morimoto# CPU3 --/ /* DPCM 5ch/6ch */ 41779149fb8SKuninori Morimoto# CPU4 --/ /* DPCM 7ch/8ch */ 41879149fb8SKuninori Morimoto# CPU5 ------ PCM3168A-c 41979149fb8SKuninori Morimoto#-------------------- 42079149fb8SKuninori Morimoto - | 42179149fb8SKuninori Morimoto sound { 42279149fb8SKuninori Morimoto compatible = "simple-audio-card"; 4235aaec71dSFabio Estevam #address-cells = <1>; 4245aaec71dSFabio Estevam #size-cells = <0>; 42579149fb8SKuninori Morimoto 42679149fb8SKuninori Morimoto simple-audio-card,routing = 42779149fb8SKuninori Morimoto "pcm3168a Playback", "DAI1 Playback", 42879149fb8SKuninori Morimoto "pcm3168a Playback", "DAI2 Playback", 42979149fb8SKuninori Morimoto "pcm3168a Playback", "DAI3 Playback", 43079149fb8SKuninori Morimoto "pcm3168a Playback", "DAI4 Playback"; 43179149fb8SKuninori Morimoto 43279149fb8SKuninori Morimoto simple-audio-card,dai-link@0 { 4335aaec71dSFabio Estevam reg = <0>; 43479149fb8SKuninori Morimoto format = "left_j"; 43579149fb8SKuninori Morimoto bitclock-master = <&sndcpu0>; 43679149fb8SKuninori Morimoto frame-master = <&sndcpu0>; 43779149fb8SKuninori Morimoto 43879149fb8SKuninori Morimoto sndcpu0: cpu { 43979149fb8SKuninori Morimoto sound-dai = <&rcar_sound 0>; 44079149fb8SKuninori Morimoto }; 44179149fb8SKuninori Morimoto codec { 44279149fb8SKuninori Morimoto sound-dai = <&ak4613>; 44379149fb8SKuninori Morimoto }; 44479149fb8SKuninori Morimoto }; 44579149fb8SKuninori Morimoto 44679149fb8SKuninori Morimoto simple-audio-card,dai-link@1 { 4475aaec71dSFabio Estevam reg = <1>; 44879149fb8SKuninori Morimoto format = "i2s"; 44979149fb8SKuninori Morimoto bitclock-master = <&sndcpu1>; 45079149fb8SKuninori Morimoto frame-master = <&sndcpu1>; 45179149fb8SKuninori Morimoto 45279149fb8SKuninori Morimoto convert-channels = <8>; /* TDM Split */ 45379149fb8SKuninori Morimoto 4545aaec71dSFabio Estevam sndcpu1: cpu0 { 45579149fb8SKuninori Morimoto sound-dai = <&rcar_sound 1>; 45679149fb8SKuninori Morimoto }; 4575aaec71dSFabio Estevam cpu1 { 45879149fb8SKuninori Morimoto sound-dai = <&rcar_sound 2>; 45979149fb8SKuninori Morimoto }; 4605aaec71dSFabio Estevam cpu2 { 46179149fb8SKuninori Morimoto sound-dai = <&rcar_sound 3>; 46279149fb8SKuninori Morimoto }; 4635aaec71dSFabio Estevam cpu3 { 46479149fb8SKuninori Morimoto sound-dai = <&rcar_sound 4>; 46579149fb8SKuninori Morimoto }; 46679149fb8SKuninori Morimoto codec { 46779149fb8SKuninori Morimoto mclk-fs = <512>; 46879149fb8SKuninori Morimoto prefix = "pcm3168a"; 46979149fb8SKuninori Morimoto dai-tdm-slot-num = <8>; 47079149fb8SKuninori Morimoto sound-dai = <&pcm3168a 0>; 47179149fb8SKuninori Morimoto }; 47279149fb8SKuninori Morimoto }; 47379149fb8SKuninori Morimoto 47479149fb8SKuninori Morimoto simple-audio-card,dai-link@2 { 4755aaec71dSFabio Estevam reg = <2>; 47679149fb8SKuninori Morimoto format = "i2s"; 47779149fb8SKuninori Morimoto bitclock-master = <&sndcpu2>; 47879149fb8SKuninori Morimoto frame-master = <&sndcpu2>; 47979149fb8SKuninori Morimoto 48079149fb8SKuninori Morimoto sndcpu2: cpu { 48179149fb8SKuninori Morimoto sound-dai = <&rcar_sound 5>; 48279149fb8SKuninori Morimoto }; 48379149fb8SKuninori Morimoto codec { 48479149fb8SKuninori Morimoto mclk-fs = <512>; 48579149fb8SKuninori Morimoto prefix = "pcm3168a"; 48679149fb8SKuninori Morimoto sound-dai = <&pcm3168a 1>; 48779149fb8SKuninori Morimoto }; 48879149fb8SKuninori Morimoto }; 48979149fb8SKuninori Morimoto }; 490