aboutsummaryrefslogtreecommitdiffstats
blob: 962748a8d9194dee2101c681a80f18ed06825422 (plain) (blame)
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
Renesas Sampling Rate Convert Sound Card:

Renesas Sampling Rate Convert Sound Card specifies audio DAI connections of SoC <-> codec.

Required properties:

- compatible				: "renesas,rsrc-card,<board>"
					  Examples with soctypes are:
					    - "renesas,rsrc-card"
					    - "renesas,rsrc-card,lager"
					    - "renesas,rsrc-card,koelsch"
Optional properties:

- card_name				: User specified audio sound card name, one string
					  property.
- cpu					: CPU   sub-node
- codec					: CODEC sub-node

Optional subnode properties:

- format				: CPU/CODEC common audio format.
					  "i2s", "right_j", "left_j" , "dsp_a"
					  "dsp_b", "ac97", "pdm", "msb", "lsb"
- frame-master				: Indicates dai-link frame master.
					  phandle to a cpu or codec subnode.
- bitclock-master			: Indicates dai-link bit clock master.
					  phandle to a cpu or codec subnode.
- bitclock-inversion			: bool property. Add this if the
					  dai-link uses bit clock inversion.
- frame-inversion			: bool property. Add this if the
					  dai-link uses frame clock inversion.
- convert-rate				: platform specified sampling rate convert
- audio-prefix				: see audio-routing
- audio-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

sound {
	compatible = "renesas,rsrc-card,lager";

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

	sndcpu: cpu {
		sound-dai = <&rcar_sound>;
	};

	sndcodec: codec {
		sound-dai = <&ak4643>;
		system-clock-frequency = <11289600>;
	};
};