xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/samsung,exynos5433-lpass.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotSamsung Exynos SoC Low Power Audio Subsystem (LPASS)
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel Vadot - compatible		: "samsung,exynos5433-lpass"
6*c66ec88fSEmmanuel Vadot - reg			: should contain the LPASS top SFR region location
7*c66ec88fSEmmanuel Vadot			  and size
8*c66ec88fSEmmanuel Vadot - clock-names		: should contain following required clocks: "sfr0_ctrl"
9*c66ec88fSEmmanuel Vadot - clocks		: should contain clock specifiers of all clocks, which
10*c66ec88fSEmmanuel Vadot			  input names have been specified in clock-names
11*c66ec88fSEmmanuel Vadot			  property, in same order.
12*c66ec88fSEmmanuel Vadot - #address-cells	: should be 1
13*c66ec88fSEmmanuel Vadot - #size-cells		: should be 1
14*c66ec88fSEmmanuel Vadot - ranges		: must be present
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel VadotEach IP block of the Low Power Audio Subsystem should be specified as
17*c66ec88fSEmmanuel Vadotan optional sub-node. For "samsung,exynos5433-lpass" compatible this includes:
18*c66ec88fSEmmanuel VadotUART, SLIMBUS, PCM, I2S, DMAC, Timers 0...4, VIC, WDT 0...1 devices.
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotBindings of the sub-nodes are described in:
21*c66ec88fSEmmanuel Vadot  ../serial/samsung_uart.yaml
22*c66ec88fSEmmanuel Vadot  ../sound/samsung-i2s.txt
23*c66ec88fSEmmanuel Vadot  ../dma/arm-pl330.txt
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel VadotExample:
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadotaudio-subsystem {
29*c66ec88fSEmmanuel Vadot	compatible = "samsung,exynos5433-lpass";
30*c66ec88fSEmmanuel Vadot	reg = <0x11400000 0x100>, <0x11500000 0x08>;
31*c66ec88fSEmmanuel Vadot	clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
32*c66ec88fSEmmanuel Vadot	clock-names = "sfr0_ctrl";
33*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
34*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
35*c66ec88fSEmmanuel Vadot	ranges;
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot	adma: adma@11420000 {
38*c66ec88fSEmmanuel Vadot		compatible = "arm,pl330", "arm,primecell";
39*c66ec88fSEmmanuel Vadot		reg = <0x11420000 0x1000>;
40*c66ec88fSEmmanuel Vadot		interrupts = <0 73 0>;
41*c66ec88fSEmmanuel Vadot		clocks = <&cmu_aud CLK_ACLK_DMAC>;
42*c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
43*c66ec88fSEmmanuel Vadot		#dma-cells = <1>;
44*c66ec88fSEmmanuel Vadot		#dma-channels = <8>;
45*c66ec88fSEmmanuel Vadot		#dma-requests = <32>;
46*c66ec88fSEmmanuel Vadot	};
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot	i2s0: i2s0@11440000 {
49*c66ec88fSEmmanuel Vadot		compatible = "samsung,exynos7-i2s";
50*c66ec88fSEmmanuel Vadot		reg = <0x11440000 0x100>;
51*c66ec88fSEmmanuel Vadot		dmas = <&adma 0 &adma 2>;
52*c66ec88fSEmmanuel Vadot		dma-names = "tx", "rx";
53*c66ec88fSEmmanuel Vadot		interrupts = <0 70 0>;
54*c66ec88fSEmmanuel Vadot		clocks = <&cmu_aud CLK_PCLK_AUD_I2S>,
55*c66ec88fSEmmanuel Vadot			 <&cmu_aud CLK_SCLK_AUD_I2S>,
56*c66ec88fSEmmanuel Vadot			 <&cmu_aud CLK_SCLK_I2S_BCLK>;
57*c66ec88fSEmmanuel Vadot		clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
58*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
59*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&i2s0_bus>;
60*c66ec88fSEmmanuel Vadot	};
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadot	serial_3: serial@11460000 {
63*c66ec88fSEmmanuel Vadot		compatible = "samsung,exynos5433-uart";
64*c66ec88fSEmmanuel Vadot		reg = <0x11460000 0x100>;
65*c66ec88fSEmmanuel Vadot		interrupts = <0 67 0>;
66*c66ec88fSEmmanuel Vadot		clocks = <&cmu_aud CLK_PCLK_AUD_UART>,
67*c66ec88fSEmmanuel Vadot			 <&cmu_aud CLK_SCLK_AUD_UART>;
68*c66ec88fSEmmanuel Vadot		clock-names = "uart", "clk_uart_baud0";
69*c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
70*c66ec88fSEmmanuel Vadot		pinctrl-0 = <&uart_aud_bus>;
71*c66ec88fSEmmanuel Vadot	};
72*c66ec88fSEmmanuel Vadot };
73