simple-card.txt 2.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
Simple-Card:

Simple-Card specifies audio DAI connection of SoC <-> codec.

Required properties:

- compatible				: "simple-audio-card"

Optional properties:

- simple-audio-card,format		: CPU/CODEC common audio format.
12 13
					  "i2s", "right_j", "left_j" , "dsp_a"
					  "dsp_b", "ac97", "pdm", "msb", "lsb"
14
- simple-audio-card,routing		: A list of the connections between audio components.
15 16 17 18
					  Each entry is a pair of strings, the first being the
					  connection's sink, the second being the connection's
					  source.

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
Required subnodes:

- simple-audio-card,cpu			: CPU   sub-node
- simple-audio-card,codec		: CODEC sub-node

Required CPU/CODEC subnodes properties:

- sound-dai				: phandle and port of CPU/CODEC

Optional CPU/CODEC subnodes properties:

- format				: CPU/CODEC specific audio format if needed.
					  see simple-audio-card,format
- frame-master				: bool property. add this if subnode is frame master
- bitclock-master			: bool property. add this if subnode is bitclock master
- bitclock-inversion			: bool property. add this if subnode has clock inversion
- frame-inversion			: bool property. add this if subnode has frame inversion
- 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)

Example:

sound {
	compatible = "simple-audio-card";
	simple-audio-card,format = "left_j";
46
	simple-audio-card,routing =
47 48 49
		"MIC_IN", "Mic Jack",
		"Headphone Jack", "HP_OUT",
		"Ext Spk", "LINE_OUT";
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

	simple-audio-card,cpu {
		sound-dai = <&sh_fsi2 0>;
	};

	simple-audio-card,codec {
		sound-dai = <&ak4648>;
		bitclock-master;
		frame-master;
		clocks = <&osc>;
	};
};

&i2c0 {
	ak4648: ak4648@12 {
		#sound-dai-cells = <0>;
		compatible = "asahi-kasei,ak4648";
		reg = <0x12>;
	};
};

sh_fsi2: sh_fsi2@ec230000 {
	#sound-dai-cells = <1>;
	compatible = "renesas,sh_fsi2";
	reg = <0xec230000 0x400>;
	interrupt-parent = <&gic>;
	interrupts = <0 146 0x4>;
};