summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/devicetree/bindings/clock/clk-s5pv210-audss.txt
blob: 4fc869b69d4ac065da2b23c3f0ec2c90fec69c3a (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
* Samsung Audio Subsystem Clock Controller

The Samsung Audio Subsystem clock controller generates and supplies clocks
to Audio Subsystem block available in the S5PV210 and compatible SoCs.

Required Properties:

- compatible: should be "samsung,s5pv210-audss-clock".
- reg: physical base address and length of the controller's register set.

- #clock-cells: should be 1.

- clocks:
  - hclk: AHB bus clock of the Audio Subsystem.
  - xxti: Optional fixed rate PLL reference clock, parent of mout_audss. If
    not specified (i.e. xusbxti is used for PLL reference), it is fixed to
    a clock named "xxti".
  - fout_epll: Input PLL to the AudioSS block, parent of mout_audss.
  - iiscdclk0: Optional external i2s clock, parent of mout_i2s. If not
    specified, it is fixed to a clock named "iiscdclk0".
  - sclk_audio0: Audio bus clock, parent of mout_i2s.

- clock-names: Aliases for the above clocks. They should be "hclk",
  "xxti", "fout_epll", "iiscdclk0", and "sclk_audio0" respectively.

All available clocks are defined as preprocessor macros in
dt-bindings/clock/s5pv210-audss-clk.h header and can be used in device
tree sources.

Example: Clock controller node.

	clk_audss: clock-controller@c0900000 {
		compatible = "samsung,s5pv210-audss-clock";
		reg = <0xc0900000 0x1000>;
		#clock-cells = <1>;
		clock-names = "hclk", "xxti",
				"fout_epll", "sclk_audio0";
		clocks = <&clocks DOUT_HCLKP>, <&xxti>,
				<&clocks FOUT_EPLL>, <&clocks SCLK_AUDIO0>;
	};

Example: I2S controller node that consumes the clock generated by the clock
	 controller. Refer to the standard clock bindings for information
         about 'clocks' and 'clock-names' property.

	i2s0: i2s@03830000 {
		/* ... */
		clock-names = "iis", "i2s_opclk0",
				"i2s_opclk1";
		clocks = <&clk_audss CLK_I2S>, <&clk_audss CLK_I2S>,
				<&clk_audss CLK_DOUT_AUD_BUS>;
		/* ... */
	};