| ASoC simple SCU Sound Card |
| |
| Simple-Card specifies audio DAI connections of SoC <-> codec. |
| |
| Required properties: |
| |
| - compatible : "simple-scu-audio-card" |
| "renesas,rsrc-card" |
| |
| Optional properties: |
| |
| - simple-audio-card,name : User specified audio sound card name, one string |
| property. |
| - simple-audio-card,cpu : CPU sub-node |
| - simple-audio-card,codec : CODEC sub-node |
| |
| Optional subnode properties: |
| |
| - simple-audio-card,format : CPU/CODEC common audio format. |
| "i2s", "right_j", "left_j" , "dsp_a" |
| "dsp_b", "ac97", "pdm", "msb", "lsb" |
| - simple-audio-card,frame-master : Indicates dai-link frame master. |
| phandle to a cpu or codec subnode. |
| - simple-audio-card,bitclock-master : Indicates dai-link bit clock master. |
| phandle to a cpu or codec subnode. |
| - simple-audio-card,bitclock-inversion : bool property. Add this if the |
| dai-link uses bit clock inversion. |
| - simple-audio-card,frame-inversion : bool property. Add this if the |
| dai-link uses frame clock inversion. |
| - simple-audio-card,convert-rate : platform specified sampling rate convert |
| - simple-audio-card,convert-channels : platform specified converted channel size (2 - 8 ch) |
| - simple-audio-card,prefix : see audio-routing |
| - simple-audio-card,routing : A list of the connections between audio components. |
| Each entry is a pair of strings, the first being the connection's sink, |
| the second being the connection's source. Valid names for sources. |
| use audio-prefix if some components is using same sink/sources naming. |
| it can be used if compatible was "renesas,rsrc-card"; |
| |
| Required CPU/CODEC subnodes properties: |
| |
| - sound-dai : phandle and port of CPU/CODEC |
| |
| Optional CPU/CODEC subnodes properties: |
| |
| - clocks / system-clock-frequency : specify subnode's clock if needed. |
| it can be specified via "clocks" if system has |
| clock node (= common clock), or "system-clock-frequency" |
| (if system doens't support common clock) |
| If a clock is specified, it is |
| enabled with clk_prepare_enable() |
| in dai startup() and disabled with |
| clk_disable_unprepare() in dai |
| shutdown(). |
| |
| Example 1. Sampling Rate Covert |
| |
| sound { |
| compatible = "simple-scu-audio-card"; |
| |
| simple-audio-card,name = "rsnd-ak4643"; |
| simple-audio-card,format = "left_j"; |
| simple-audio-card,format = "left_j"; |
| simple-audio-card,bitclock-master = <&sndcodec>; |
| simple-audio-card,frame-master = <&sndcodec>; |
| |
| simple-audio-card,convert-rate = <48000>; /* see audio_clk_a */ |
| |
| simple-audio-card,prefix = "ak4642"; |
| simple-audio-card,routing = "ak4642 Playback", "DAI0 Playback", |
| "DAI0 Capture", "ak4642 Capture"; |
| |
| sndcpu: simple-audio-card,cpu { |
| sound-dai = <&rcar_sound>; |
| }; |
| |
| sndcodec: simple-audio-card,codec { |
| sound-dai = <&ak4643>; |
| system-clock-frequency = <11289600>; |
| }; |
| }; |
| |
| Example 2. 2 CPU 1 Codec |
| |
| sound { |
| compatible = "renesas,rsrc-card"; |
| |
| card-name = "rsnd-ak4643"; |
| format = "left_j"; |
| bitclock-master = <&dpcmcpu>; |
| frame-master = <&dpcmcpu>; |
| |
| convert-rate = <48000>; /* see audio_clk_a */ |
| |
| audio-prefix = "ak4642"; |
| audio-routing = "ak4642 Playback", "DAI0 Playback", |
| "ak4642 Playback", "DAI1 Playback"; |
| |
| dpcmcpu: cpu@0 { |
| sound-dai = <&rcar_sound 0>; |
| }; |
| |
| cpu@1 { |
| sound-dai = <&rcar_sound 1>; |
| }; |
| |
| codec { |
| sound-dai = <&ak4643>; |
| clocks = <&audio_clock>; |
| }; |
| }; |