summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-dsp.dts
blob: 0a10ac35627c705b30459fa1001209e2326a8694 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// SPDX-License-Identifier: (GPL-2.0+
// Copyright 2017 NXP

#include "fsl-imx8qxp-lpddr4-arm2.dts"

/ {
	sound-cs42888 {
		status = "disabled";
	};

	dspaudio: dspaudio {
		compatible = "fsl,dsp-audio";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_esai0>;
		clocks = <&clk IMX8QXP_AUD_ESAI_0_IPG>,
			<&clk IMX8QXP_AUD_ESAI_0_EXTAL_IPG>,
			<&clk IMX8QXP_AUD_ASRC_0_IPG>,
			<&clk IMX8QXP_CLK_DUMMY>,
			<&clk IMX8QXP_AUD_ACM_AUD_PLL_CLK0_CLK>,
			<&clk IMX8QXP_AUD_ACM_AUD_PLL_CLK1_CLK>,
			<&clk IMX8QXP_ACM_AUD_CLK0_SEL>,
			<&clk IMX8QXP_ACM_AUD_CLK1_SEL>;
		clock-names = "bus", "mclk", "ipg", "mem",
				"asrck_0", "asrck_1", "asrck_2", "asrck_3";
		assigned-clocks = <&clk IMX8QXP_ACM_ESAI0_MCLK_SEL>,
			<&clk IMX8QXP_AUD_PLL0_DIV>,
			<&clk IMX8QXP_AUD_ACM_AUD_PLL_CLK0_DIV>,
			<&clk IMX8QXP_AUD_ACM_AUD_REC_CLK0_DIV>,
			<&clk IMX8QXP_AUD_ESAI_0_EXTAL_IPG>;
		assigned-clock-parents = <&clk IMX8QXP_AUD_ACM_AUD_PLL_CLK0_CLK>;
		assigned-clock-rates = <0>, <786432000>, <49152000>, <24576000>, <49152000>;
		power-domains = <&pd_esai0>;
		status = "okay";
	};

	sound-dsp {
		compatible = "fsl,imx-dsp-audio";
		model = "dsp-audio";
		cpu-dai = <&dspaudio>;
		audio-codec = <&codec>;
		audio-platform = <&dsp>;
	};
};

&edma0 {
	compatible = "fsl,imx8qm-edma";
	reg = <0x0 0x59280000 0x0 0x10000>, /* spdif0 rx */
		<0x0 0x59290000 0x0 0x10000>, /* spdif0 tx */
		<0x0 0x592c0000 0x0 0x10000>, /* sai0 rx */
		<0x0 0x592d0000 0x0 0x10000>, /* sai0 tx */
		<0x0 0x592e0000 0x0 0x10000>, /* sai1 rx */
		<0x0 0x592f0000 0x0 0x10000>, /* sai1 tx */
		<0x0 0x59350000 0x0 0x10000>,
		<0x0 0x59370000 0x0 0x10000>;
	#dma-cells = <3>;
	shared-interrupt;
	dma-channels = <8>;
	interrupts = <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, /* spdif0 */
			<GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, /* sai0 */
			<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, /* sai1 */
			<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "edma0-chan8-rx", "edma0-chan9-tx", /* spdif0 */
			"edma0-chan12-rx", "edma0-chan13-tx", /* sai0 */
			"edma0-chan14-rx", "edma0-chan15-tx", /* sai1 */
			"edma0-chan21-tx",		/* gpt5 */
			"edma0-chan23-rx";		/* gpt7 */
	status = "okay";
};

/delete-node/ &pd_dma0_chan6;

&pd_asrc0 {
	reg = <SC_R_ASRC_0>;
	power-domains =<&pd_dma0_chan5>;
	#power-domain-cells = <0>;
	#address-cells = <1>;
	#size-cells = <0>;

	pd_dma0_chan6: PD_ESAI_0_RX {
		reg = <SC_R_DMA_0_CH6>;
		power-domains =<&pd_asrc0>;
		#power-domain-cells = <0>;
		#address-cells = <1>;
		#size-cells = <0>;

		pd_dma0_chan7: PD_ESAI_0_TX {
			reg = <SC_R_DMA_0_CH7>;
			power-domains =<&pd_dma0_chan6>;
			#power-domain-cells = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			pd_esai0: PD_AUD_ESAI_0 {
				reg = <SC_R_ESAI_0>;
				#power-domain-cells = <0>;
				power-domains =<&pd_dma0_chan7>;
			};
		};
	};
};

&esai0 {
	status = "disabled";
};

&asrc0 {
	status = "disabled";
};