aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/simple-scu-card.txt
blob: 327d229a51b27e126fad58678a75dd2c803fed54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
ASoC Simple SCU Sound Card

Simple SCU Sound Card is "Simple Sound Card" + "ALSA DPCM".
For example, you can use this driver if you want to exchange sampling rate convert,
Mixing, etc...

Required properties:

- compatible				: "simple-scu-audio-card"
					  "renesas,rsrc-card"
Optional properties:

- simple-audio-card,name		: see simple-audio-card.txt
- simple-audio-card,cpu			: see simple-audio-card.txt
- simple-audio-card,codec		: see simple-audio-card.txt

Optional subnode properties:

- simple-audio-card,format		: see simple-audio-card.txt
- simple-audio-card,frame-master	: see simple-audio-card.txt
- simple-audio-card,bitclock-master	: see simple-audio-card.txt
- simple-audio-card,bitclock-inversion	: see simple-audio-card.txt
- simple-audio-card,frame-inversion	: see simple-audio-card.txt
- 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 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				: see simple-audio-card.txt

Optional CPU/CODEC subnodes properties:

- clocks / system-clock-frequency	: see simple-audio-card.txt

Example 1. Sampling Rate Conversion

sound {
	compatible = "simple-scu-audio-card";

	simple-audio-card,name = "rsnd-ak4643";
	simple-audio-card,format = "left_j";
	simple-audio-card,bitclock-master = <&sndcodec>;
	simple-audio-card,frame-master = <&sndcodec>;

	simple-audio-card,convert-rate = <48000>;

	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 (Mixing)

sound {
	compatible = "simple-scu-audio-card";

	simple-audio-card,name = "rsnd-ak4643";
	simple-audio-card,format = "left_j";
	simple-audio-card,bitclock-master = <&dpcmcpu>;
	simple-audio-card,frame-master = <&dpcmcpu>;

	simple-audio-card,prefix = "ak4642";
	simple-audio-card,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>;
	};
};