xref: /linux/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
135f4e9d7SDong Aisheng// SPDX-License-Identifier: GPL-2.0+
235f4e9d7SDong Aisheng/*
335f4e9d7SDong Aisheng * Copyright 2018-2019 NXP
435f4e9d7SDong Aisheng *	Dong Aisheng <aisheng.dong@nxp.com>
535f4e9d7SDong Aisheng */
635f4e9d7SDong Aisheng
735f4e9d7SDong Aisheng#include <dt-bindings/clock/imx8-lpcg.h>
8616effc0SAlexander Stein#include <dt-bindings/dma/fsl-edma.h>
935f4e9d7SDong Aisheng#include <dt-bindings/firmware/imx/rsrc.h>
1035f4e9d7SDong Aisheng
1135f4e9d7SDong Aishengdma_ipg_clk: clock-dma-ipg {
1235f4e9d7SDong Aisheng	compatible = "fixed-clock";
1335f4e9d7SDong Aisheng	#clock-cells = <0>;
1435f4e9d7SDong Aisheng	clock-frequency = <120000000>;
1535f4e9d7SDong Aisheng	clock-output-names = "dma_ipg_clk";
1635f4e9d7SDong Aisheng};
1735f4e9d7SDong Aisheng
189a69f768SFabio Estevamdma_subsys: bus@5a000000 {
199a69f768SFabio Estevam	compatible = "simple-bus";
209a69f768SFabio Estevam	#address-cells = <1>;
219a69f768SFabio Estevam	#size-cells = <1>;
229a69f768SFabio Estevam	ranges = <0x5a000000 0x0 0x5a000000 0x1000000>;
239a69f768SFabio Estevam
24c4098885SFrank Li	lpspi0: spi@5a000000 {
25c4098885SFrank Li		compatible = "fsl,imx7ulp-spi";
26c4098885SFrank Li		reg = <0x5a000000 0x10000>;
27c4098885SFrank Li		#address-cells = <1>;
28c4098885SFrank Li		#size-cells = <0>;
29c4098885SFrank Li		interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>;
30c4098885SFrank Li		interrupt-parent = <&gic>;
31f72b544aSFrank Li		clocks = <&spi0_lpcg IMX_LPCG_CLK_0>,
32f72b544aSFrank Li			 <&spi0_lpcg IMX_LPCG_CLK_4>;
33c4098885SFrank Li		clock-names = "per", "ipg";
34c4098885SFrank Li		assigned-clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>;
35033f5e7eSPhilippe Schenker		assigned-clock-rates = <60000000>;
36c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_0>;
37*280899d4SClark Wang		dmas = <&edma2 1 0 0>, <&edma2 0 0 FSL_EDMA_RX>;
38*280899d4SClark Wang		dma-names = "tx", "rx";
39c4098885SFrank Li		status = "disabled";
40c4098885SFrank Li	};
41c4098885SFrank Li
42c4098885SFrank Li	lpspi1: spi@5a010000 {
43c4098885SFrank Li		compatible = "fsl,imx7ulp-spi";
44c4098885SFrank Li		reg = <0x5a010000 0x10000>;
45c4098885SFrank Li		#address-cells = <1>;
46c4098885SFrank Li		#size-cells = <0>;
47c4098885SFrank Li		interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
48c4098885SFrank Li		interrupt-parent = <&gic>;
49f72b544aSFrank Li		clocks = <&spi1_lpcg IMX_LPCG_CLK_0>,
50f72b544aSFrank Li			 <&spi1_lpcg IMX_LPCG_CLK_4>;
51c4098885SFrank Li		clock-names = "per", "ipg";
52c4098885SFrank Li		assigned-clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>;
53c4098885SFrank Li		assigned-clock-rates = <60000000>;
54c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_1>;
55*280899d4SClark Wang		dmas = <&edma2 3 0 0>, <&edma2 2 0 FSL_EDMA_RX>;
56*280899d4SClark Wang		dma-names = "tx", "rx";
57c4098885SFrank Li		status = "disabled";
58c4098885SFrank Li	};
59c4098885SFrank Li
60c4098885SFrank Li	lpspi2: spi@5a020000 {
61c4098885SFrank Li		compatible = "fsl,imx7ulp-spi";
62c4098885SFrank Li		reg = <0x5a020000 0x10000>;
63c4098885SFrank Li		#address-cells = <1>;
64c4098885SFrank Li		#size-cells = <0>;
65c4098885SFrank Li		interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>;
66c4098885SFrank Li		interrupt-parent = <&gic>;
67f72b544aSFrank Li		clocks = <&spi2_lpcg IMX_LPCG_CLK_0>,
68f72b544aSFrank Li			 <&spi2_lpcg IMX_LPCG_CLK_4>;
69c4098885SFrank Li		clock-names = "per", "ipg";
70c4098885SFrank Li		assigned-clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>;
71c4098885SFrank Li		assigned-clock-rates = <60000000>;
72c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_2>;
73*280899d4SClark Wang		dmas = <&edma2 5 0 0>, <&edma2 4 0 FSL_EDMA_RX>;
74*280899d4SClark Wang		dma-names = "tx", "rx";
75c4098885SFrank Li		status = "disabled";
76c4098885SFrank Li	};
77c4098885SFrank Li
78c4098885SFrank Li	lpspi3: spi@5a030000 {
79c4098885SFrank Li		compatible = "fsl,imx7ulp-spi";
80c4098885SFrank Li		reg = <0x5a030000 0x10000>;
81c4098885SFrank Li		#address-cells = <1>;
82c4098885SFrank Li		#size-cells = <0>;
83c4098885SFrank Li		interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
84c4098885SFrank Li		interrupt-parent = <&gic>;
85f72b544aSFrank Li		clocks = <&spi3_lpcg IMX_LPCG_CLK_0>,
86f72b544aSFrank Li			 <&spi3_lpcg IMX_LPCG_CLK_4>;
87c4098885SFrank Li		clock-names = "per", "ipg";
88c4098885SFrank Li		assigned-clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>;
89c4098885SFrank Li		assigned-clock-rates = <60000000>;
90c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_3>;
91*280899d4SClark Wang		dmas = <&edma2 7 0 0>, <&edma2 6 0 FSL_EDMA_RX>;
92*280899d4SClark Wang		dma-names = "tx", "rx";
93c4098885SFrank Li		status = "disabled";
94c4098885SFrank Li	};
95c4098885SFrank Li
9635f4e9d7SDong Aisheng	lpuart0: serial@5a060000 {
9735f4e9d7SDong Aisheng		reg = <0x5a060000 0x1000>;
98e0d5a28bSFrank Li		interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
9935f4e9d7SDong Aisheng		clocks = <&uart0_lpcg IMX_LPCG_CLK_4>,
10035f4e9d7SDong Aisheng			 <&uart0_lpcg IMX_LPCG_CLK_0>;
10135f4e9d7SDong Aisheng		clock-names = "ipg", "baud";
102ca50d776SShenwei Wang		assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>;
103ca50d776SShenwei Wang		assigned-clock-rates = <80000000>;
10435f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_0>;
105616effc0SAlexander Stein		dma-names = "rx", "tx";
106616effc0SAlexander Stein		dmas = <&edma2 8 0 FSL_EDMA_RX>, <&edma2 9 0 0>;
10735f4e9d7SDong Aisheng		status = "disabled";
10835f4e9d7SDong Aisheng	};
10935f4e9d7SDong Aisheng
11035f4e9d7SDong Aisheng	lpuart1: serial@5a070000 {
11135f4e9d7SDong Aisheng		reg = <0x5a070000 0x1000>;
112e0d5a28bSFrank Li		interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
11335f4e9d7SDong Aisheng		clocks = <&uart1_lpcg IMX_LPCG_CLK_4>,
11435f4e9d7SDong Aisheng			 <&uart1_lpcg IMX_LPCG_CLK_0>;
11535f4e9d7SDong Aisheng		clock-names = "ipg", "baud";
116ca50d776SShenwei Wang		assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>;
117ca50d776SShenwei Wang		assigned-clock-rates = <80000000>;
11835f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_1>;
119616effc0SAlexander Stein		dma-names = "rx", "tx";
120616effc0SAlexander Stein		dmas = <&edma2 10 0 FSL_EDMA_RX>, <&edma2 11 0 0>;
12135f4e9d7SDong Aisheng		status = "disabled";
12235f4e9d7SDong Aisheng	};
12335f4e9d7SDong Aisheng
12435f4e9d7SDong Aisheng	lpuart2: serial@5a080000 {
12535f4e9d7SDong Aisheng		reg = <0x5a080000 0x1000>;
126e0d5a28bSFrank Li		interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>;
12735f4e9d7SDong Aisheng		clocks = <&uart2_lpcg IMX_LPCG_CLK_4>,
12835f4e9d7SDong Aisheng			 <&uart2_lpcg IMX_LPCG_CLK_0>;
12935f4e9d7SDong Aisheng		clock-names = "ipg", "baud";
130ca50d776SShenwei Wang		assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>;
131ca50d776SShenwei Wang		assigned-clock-rates = <80000000>;
13235f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_2>;
133616effc0SAlexander Stein		dma-names = "rx", "tx";
134616effc0SAlexander Stein		dmas = <&edma2 12 0 FSL_EDMA_RX>, <&edma2 13 0 0>;
13535f4e9d7SDong Aisheng		status = "disabled";
13635f4e9d7SDong Aisheng	};
13735f4e9d7SDong Aisheng
13835f4e9d7SDong Aisheng	lpuart3: serial@5a090000 {
13935f4e9d7SDong Aisheng		reg = <0x5a090000 0x1000>;
140e0d5a28bSFrank Li		interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>;
14135f4e9d7SDong Aisheng		clocks = <&uart3_lpcg IMX_LPCG_CLK_4>,
14235f4e9d7SDong Aisheng			 <&uart3_lpcg IMX_LPCG_CLK_0>;
14335f4e9d7SDong Aisheng		clock-names = "ipg", "baud";
144ca50d776SShenwei Wang		assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>;
145ca50d776SShenwei Wang		assigned-clock-rates = <80000000>;
14635f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_3>;
147616effc0SAlexander Stein		dma-names = "rx", "tx";
148616effc0SAlexander Stein		dmas = <&edma2 14 0 FSL_EDMA_RX>, <&edma2 15 0 0>;
14935f4e9d7SDong Aisheng		status = "disabled";
15035f4e9d7SDong Aisheng	};
15135f4e9d7SDong Aisheng
152f1d6a6b9SAlexander Stein	adma_pwm: pwm@5a190000 {
153f1d6a6b9SAlexander Stein		compatible = "fsl,imx8qxp-pwm", "fsl,imx27-pwm";
154f1d6a6b9SAlexander Stein		reg = <0x5a190000 0x1000>;
155f1d6a6b9SAlexander Stein		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1569055d87bSFrank Li		clocks = <&adma_pwm_lpcg IMX_LPCG_CLK_4>,
1579055d87bSFrank Li			 <&adma_pwm_lpcg IMX_LPCG_CLK_0>;
158f1d6a6b9SAlexander Stein		clock-names = "ipg", "per";
159f1d6a6b9SAlexander Stein		assigned-clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>;
160f1d6a6b9SAlexander Stein		assigned-clock-rates = <24000000>;
1617cef7c0bSAlexander Stein		#pwm-cells = <3>;
162f1d6a6b9SAlexander Stein		power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>;
163f1d6a6b9SAlexander Stein	};
164f1d6a6b9SAlexander Stein
165e4d7a330SFrank Li	edma2: dma-controller@5a1f0000 {
166e4d7a330SFrank Li		compatible = "fsl,imx8qm-edma";
167e4d7a330SFrank Li		reg = <0x5a1f0000 0x170000>;
168e4d7a330SFrank Li		#dma-cells = <3>;
169e4d7a330SFrank Li		dma-channels = <16>;
170e4d7a330SFrank Li		interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
171e4d7a330SFrank Li			     <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
172e4d7a330SFrank Li			     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
173e4d7a330SFrank Li			     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
174e4d7a330SFrank Li			     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
175e4d7a330SFrank Li			     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
176e4d7a330SFrank Li			     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
177e4d7a330SFrank Li			     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
178e4d7a330SFrank Li			     <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
179e4d7a330SFrank Li			     <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
180e4d7a330SFrank Li			     <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>,
181e4d7a330SFrank Li			     <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>,
182e4d7a330SFrank Li			     <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>,
183e4d7a330SFrank Li			     <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>,
184e4d7a330SFrank Li			     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
185e4d7a330SFrank Li			     <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>;
186e4d7a330SFrank Li		power-domains = <&pd IMX_SC_R_DMA_2_CH0>,
187e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH1>,
188e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH2>,
189e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH3>,
190e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH4>,
191e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH5>,
192e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH6>,
193e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH7>,
194e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH8>,
195e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH9>,
196e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH10>,
197e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH11>,
198e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH12>,
199e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH13>,
200e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH14>,
201e4d7a330SFrank Li				<&pd IMX_SC_R_DMA_2_CH15>;
202e4d7a330SFrank Li	};
203e4d7a330SFrank Li
204c4098885SFrank Li	spi0_lpcg: clock-controller@5a400000 {
205c4098885SFrank Li		compatible = "fsl,imx8qxp-lpcg";
206c4098885SFrank Li		reg = <0x5a400000 0x10000>;
207c4098885SFrank Li		#clock-cells = <1>;
208c4098885SFrank Li		clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>,
209c4098885SFrank Li			 <&dma_ipg_clk>;
210c4098885SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
211c4098885SFrank Li		clock-output-names = "spi0_lpcg_clk",
212c4098885SFrank Li				     "spi0_lpcg_ipg_clk";
213c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_0>;
214c4098885SFrank Li	};
215c4098885SFrank Li
216c4098885SFrank Li	spi1_lpcg: clock-controller@5a410000 {
217c4098885SFrank Li		compatible = "fsl,imx8qxp-lpcg";
218c4098885SFrank Li		reg = <0x5a410000 0x10000>;
219c4098885SFrank Li		#clock-cells = <1>;
220c4098885SFrank Li		clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>,
221c4098885SFrank Li			 <&dma_ipg_clk>;
222c4098885SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
223c4098885SFrank Li		clock-output-names = "spi1_lpcg_clk",
224c4098885SFrank Li				     "spi1_lpcg_ipg_clk";
225c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_1>;
226c4098885SFrank Li	};
227c4098885SFrank Li
228c4098885SFrank Li	spi2_lpcg: clock-controller@5a420000 {
229c4098885SFrank Li		compatible = "fsl,imx8qxp-lpcg";
230c4098885SFrank Li		reg = <0x5a420000 0x10000>;
231c4098885SFrank Li		#clock-cells = <1>;
232c4098885SFrank Li		clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>,
233c4098885SFrank Li			 <&dma_ipg_clk>;
234c4098885SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
235c4098885SFrank Li		clock-output-names = "spi2_lpcg_clk",
236c4098885SFrank Li				     "spi2_lpcg_ipg_clk";
237c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_2>;
238c4098885SFrank Li	};
239c4098885SFrank Li
240c4098885SFrank Li	spi3_lpcg: clock-controller@5a430000 {
241c4098885SFrank Li		compatible = "fsl,imx8qxp-lpcg";
242c4098885SFrank Li		reg = <0x5a430000 0x10000>;
243c4098885SFrank Li		#clock-cells = <1>;
244c4098885SFrank Li		clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>,
245c4098885SFrank Li			 <&dma_ipg_clk>;
246c4098885SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
247c4098885SFrank Li		clock-output-names = "spi3_lpcg_clk",
248c4098885SFrank Li				     "spi3_lpcg_ipg_clk";
249c4098885SFrank Li		power-domains = <&pd IMX_SC_R_SPI_3>;
250c4098885SFrank Li	};
251c4098885SFrank Li
25235f4e9d7SDong Aisheng	uart0_lpcg: clock-controller@5a460000 {
25335f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
25435f4e9d7SDong Aisheng		reg = <0x5a460000 0x10000>;
25535f4e9d7SDong Aisheng		#clock-cells = <1>;
25635f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>,
25735f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
25835f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
25935f4e9d7SDong Aisheng		clock-output-names = "uart0_lpcg_baud_clk",
26035f4e9d7SDong Aisheng				     "uart0_lpcg_ipg_clk";
26135f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_0>;
26235f4e9d7SDong Aisheng	};
26335f4e9d7SDong Aisheng
26435f4e9d7SDong Aisheng	uart1_lpcg: clock-controller@5a470000 {
26535f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
26635f4e9d7SDong Aisheng		reg = <0x5a470000 0x10000>;
26735f4e9d7SDong Aisheng		#clock-cells = <1>;
26835f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>,
26935f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
27035f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
27135f4e9d7SDong Aisheng		clock-output-names = "uart1_lpcg_baud_clk",
27235f4e9d7SDong Aisheng				     "uart1_lpcg_ipg_clk";
27335f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_1>;
27435f4e9d7SDong Aisheng	};
27535f4e9d7SDong Aisheng
27635f4e9d7SDong Aisheng	uart2_lpcg: clock-controller@5a480000 {
27735f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
27835f4e9d7SDong Aisheng		reg = <0x5a480000 0x10000>;
27935f4e9d7SDong Aisheng		#clock-cells = <1>;
28035f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>,
28135f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
28235f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
28335f4e9d7SDong Aisheng		clock-output-names = "uart2_lpcg_baud_clk",
28435f4e9d7SDong Aisheng				     "uart2_lpcg_ipg_clk";
28535f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_2>;
28635f4e9d7SDong Aisheng	};
28735f4e9d7SDong Aisheng
28835f4e9d7SDong Aisheng	uart3_lpcg: clock-controller@5a490000 {
28935f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
29035f4e9d7SDong Aisheng		reg = <0x5a490000 0x10000>;
29135f4e9d7SDong Aisheng		#clock-cells = <1>;
29235f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>,
29335f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
29435f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
29535f4e9d7SDong Aisheng		clock-output-names = "uart3_lpcg_baud_clk",
29635f4e9d7SDong Aisheng				     "uart3_lpcg_ipg_clk";
29735f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_UART_3>;
29835f4e9d7SDong Aisheng	};
29935f4e9d7SDong Aisheng
300f1d6a6b9SAlexander Stein	adma_pwm_lpcg: clock-controller@5a590000 {
301f1d6a6b9SAlexander Stein		compatible = "fsl,imx8qxp-lpcg";
302f1d6a6b9SAlexander Stein		reg = <0x5a590000 0x10000>;
303f1d6a6b9SAlexander Stein		#clock-cells = <1>;
304f1d6a6b9SAlexander Stein		clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>,
305f1d6a6b9SAlexander Stein			 <&dma_ipg_clk>;
306f1d6a6b9SAlexander Stein		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
307f1d6a6b9SAlexander Stein		clock-output-names = "adma_pwm_lpcg_clk",
308f1d6a6b9SAlexander Stein				     "adma_pwm_lpcg_ipg_clk";
309f1d6a6b9SAlexander Stein		power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>;
310f1d6a6b9SAlexander Stein	};
311f1d6a6b9SAlexander Stein
31235f4e9d7SDong Aisheng	i2c0: i2c@5a800000 {
31335f4e9d7SDong Aisheng		reg = <0x5a800000 0x4000>;
31433b49409SAlexander Stein		#address-cells = <1>;
31533b49409SAlexander Stein		#size-cells = <0>;
31635f4e9d7SDong Aisheng		interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
317b57f7d21SPeng Fan		clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>,
318b57f7d21SPeng Fan			 <&i2c0_lpcg IMX_LPCG_CLK_4>;
319b57f7d21SPeng Fan		clock-names = "per", "ipg";
32035f4e9d7SDong Aisheng		assigned-clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>;
32135f4e9d7SDong Aisheng		assigned-clock-rates = <24000000>;
32235f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_0>;
32335f4e9d7SDong Aisheng		status = "disabled";
32435f4e9d7SDong Aisheng	};
32535f4e9d7SDong Aisheng
32635f4e9d7SDong Aisheng	i2c1: i2c@5a810000 {
32735f4e9d7SDong Aisheng		reg = <0x5a810000 0x4000>;
32833b49409SAlexander Stein		#address-cells = <1>;
32933b49409SAlexander Stein		#size-cells = <0>;
33035f4e9d7SDong Aisheng		interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
331b57f7d21SPeng Fan		clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>,
332b57f7d21SPeng Fan			 <&i2c1_lpcg IMX_LPCG_CLK_4>;
333b57f7d21SPeng Fan		clock-names = "per", "ipg";
33435f4e9d7SDong Aisheng		assigned-clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>;
33535f4e9d7SDong Aisheng		assigned-clock-rates = <24000000>;
33635f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_1>;
33735f4e9d7SDong Aisheng		status = "disabled";
33835f4e9d7SDong Aisheng	};
33935f4e9d7SDong Aisheng
34035f4e9d7SDong Aisheng	i2c2: i2c@5a820000 {
34135f4e9d7SDong Aisheng		reg = <0x5a820000 0x4000>;
34233b49409SAlexander Stein		#address-cells = <1>;
34333b49409SAlexander Stein		#size-cells = <0>;
34435f4e9d7SDong Aisheng		interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
345b57f7d21SPeng Fan		clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>,
346b57f7d21SPeng Fan			 <&i2c2_lpcg IMX_LPCG_CLK_4>;
347b57f7d21SPeng Fan		clock-names = "per", "ipg";
34835f4e9d7SDong Aisheng		assigned-clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>;
34935f4e9d7SDong Aisheng		assigned-clock-rates = <24000000>;
35035f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_2>;
35135f4e9d7SDong Aisheng		status = "disabled";
35235f4e9d7SDong Aisheng	};
35335f4e9d7SDong Aisheng
35435f4e9d7SDong Aisheng	i2c3: i2c@5a830000 {
35535f4e9d7SDong Aisheng		reg = <0x5a830000 0x4000>;
35633b49409SAlexander Stein		#address-cells = <1>;
35733b49409SAlexander Stein		#size-cells = <0>;
35835f4e9d7SDong Aisheng		interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
359b57f7d21SPeng Fan		clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>,
360b57f7d21SPeng Fan			 <&i2c3_lpcg IMX_LPCG_CLK_4>;
361b57f7d21SPeng Fan		clock-names = "per", "ipg";
36235f4e9d7SDong Aisheng		assigned-clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>;
36335f4e9d7SDong Aisheng		assigned-clock-rates = <24000000>;
36435f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_3>;
36535f4e9d7SDong Aisheng		status = "disabled";
36635f4e9d7SDong Aisheng	};
36735f4e9d7SDong Aisheng
3681db044b2SFrank Li	adc0: adc@5a880000 {
3691db044b2SFrank Li		compatible = "nxp,imx8qxp-adc";
370b503c3c0SMax Krummenacher		#io-channel-cells = <1>;
3711db044b2SFrank Li		reg = <0x5a880000 0x10000>;
3721db044b2SFrank Li		interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
3731db044b2SFrank Li		interrupt-parent = <&gic>;
37481975080SFrank Li		clocks = <&adc0_lpcg IMX_LPCG_CLK_0>,
37581975080SFrank Li			 <&adc0_lpcg IMX_LPCG_CLK_4>;
3761db044b2SFrank Li		clock-names = "per", "ipg";
3771db044b2SFrank Li		assigned-clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>;
3781db044b2SFrank Li		assigned-clock-rates = <24000000>;
3791db044b2SFrank Li		power-domains = <&pd IMX_SC_R_ADC_0>;
3801db044b2SFrank Li		status = "disabled";
3811db044b2SFrank Li	};
3821db044b2SFrank Li
3831db044b2SFrank Li	adc1: adc@5a890000 {
3841db044b2SFrank Li		compatible = "nxp,imx8qxp-adc";
385b503c3c0SMax Krummenacher		#io-channel-cells = <1>;
3861db044b2SFrank Li		reg = <0x5a890000 0x10000>;
3871db044b2SFrank Li		interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
3881db044b2SFrank Li		interrupt-parent = <&gic>;
38981975080SFrank Li		clocks = <&adc1_lpcg IMX_LPCG_CLK_0>,
39081975080SFrank Li			 <&adc1_lpcg IMX_LPCG_CLK_4>;
3911db044b2SFrank Li		clock-names = "per", "ipg";
3921db044b2SFrank Li		assigned-clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>;
3931db044b2SFrank Li		assigned-clock-rates = <24000000>;
3941db044b2SFrank Li		power-domains = <&pd IMX_SC_R_ADC_1>;
3951db044b2SFrank Li		status = "disabled";
3961db044b2SFrank Li	};
3971db044b2SFrank Li
3985e7d5b02SJoakim Zhang	flexcan1: can@5a8d0000 {
3995e7d5b02SJoakim Zhang		compatible = "fsl,imx8qm-flexcan";
4005e7d5b02SJoakim Zhang		reg = <0x5a8d0000 0x10000>;
4015e7d5b02SJoakim Zhang		interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
4025e7d5b02SJoakim Zhang		interrupt-parent = <&gic>;
40308933923SFrank Li		clocks = <&can0_lpcg IMX_LPCG_CLK_4>,
40408933923SFrank Li			 <&can0_lpcg IMX_LPCG_CLK_0>;
4055e7d5b02SJoakim Zhang		clock-names = "ipg", "per";
4065e7d5b02SJoakim Zhang		assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>;
4075e7d5b02SJoakim Zhang		assigned-clock-rates = <40000000>;
4085e7d5b02SJoakim Zhang		power-domains = <&pd IMX_SC_R_CAN_0>;
4095e7d5b02SJoakim Zhang		/* SLSlice[4] */
4105e7d5b02SJoakim Zhang		fsl,clk-source = /bits/ 8 <0>;
4115e7d5b02SJoakim Zhang		fsl,scu-index = /bits/ 8 <0>;
4125e7d5b02SJoakim Zhang		status = "disabled";
4135e7d5b02SJoakim Zhang	};
4145e7d5b02SJoakim Zhang
4155e7d5b02SJoakim Zhang	flexcan2: can@5a8e0000 {
4165e7d5b02SJoakim Zhang		compatible = "fsl,imx8qm-flexcan";
4175e7d5b02SJoakim Zhang		reg = <0x5a8e0000 0x10000>;
4185e7d5b02SJoakim Zhang		interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>;
4195e7d5b02SJoakim Zhang		interrupt-parent = <&gic>;
4205e7d5b02SJoakim Zhang		/* CAN0 clock and PD is shared among all CAN instances as
4215e7d5b02SJoakim Zhang		 * CAN1 shares CAN0's clock and to enable CAN0's clock it
4225e7d5b02SJoakim Zhang		 * has to be powered on.
4235e7d5b02SJoakim Zhang		 */
42408933923SFrank Li		clocks = <&can0_lpcg IMX_LPCG_CLK_4>,
42508933923SFrank Li			 <&can0_lpcg IMX_LPCG_CLK_0>;
4265e7d5b02SJoakim Zhang		clock-names = "ipg", "per";
4275e7d5b02SJoakim Zhang		assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>;
4285e7d5b02SJoakim Zhang		assigned-clock-rates = <40000000>;
4295e7d5b02SJoakim Zhang		power-domains = <&pd IMX_SC_R_CAN_1>;
4305e7d5b02SJoakim Zhang		/* SLSlice[4] */
4315e7d5b02SJoakim Zhang		fsl,clk-source = /bits/ 8 <0>;
4325e7d5b02SJoakim Zhang		fsl,scu-index = /bits/ 8 <1>;
4335e7d5b02SJoakim Zhang		status = "disabled";
4345e7d5b02SJoakim Zhang	};
4355e7d5b02SJoakim Zhang
4365e7d5b02SJoakim Zhang	flexcan3: can@5a8f0000 {
4375e7d5b02SJoakim Zhang		compatible = "fsl,imx8qm-flexcan";
4385e7d5b02SJoakim Zhang		reg = <0x5a8f0000 0x10000>;
4395e7d5b02SJoakim Zhang		interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
4405e7d5b02SJoakim Zhang		interrupt-parent = <&gic>;
4415e7d5b02SJoakim Zhang		/* CAN0 clock and PD is shared among all CAN instances as
4425e7d5b02SJoakim Zhang		 * CAN2 shares CAN0's clock and to enable CAN0's clock it
4435e7d5b02SJoakim Zhang		 * has to be powered on.
4445e7d5b02SJoakim Zhang		 */
44508933923SFrank Li		clocks = <&can0_lpcg IMX_LPCG_CLK_4>,
44608933923SFrank Li			 <&can0_lpcg IMX_LPCG_CLK_0>;
4475e7d5b02SJoakim Zhang		clock-names = "ipg", "per";
4485e7d5b02SJoakim Zhang		assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>;
4495e7d5b02SJoakim Zhang		assigned-clock-rates = <40000000>;
4505e7d5b02SJoakim Zhang		power-domains = <&pd IMX_SC_R_CAN_2>;
4515e7d5b02SJoakim Zhang		/* SLSlice[4] */
4525e7d5b02SJoakim Zhang		fsl,clk-source = /bits/ 8 <0>;
4535e7d5b02SJoakim Zhang		fsl,scu-index = /bits/ 8 <2>;
4545e7d5b02SJoakim Zhang		status = "disabled";
4555e7d5b02SJoakim Zhang	};
4565e7d5b02SJoakim Zhang
45730567925SAlexander Stein	edma3: dma-controller@5a9f0000 {
45830567925SAlexander Stein		compatible = "fsl,imx8qm-edma";
45930567925SAlexander Stein		reg = <0x5a9f0000 0x90000>;
46030567925SAlexander Stein		#dma-cells = <3>;
46130567925SAlexander Stein		dma-channels = <8>;
46230567925SAlexander Stein		interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
46330567925SAlexander Stein			     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
46430567925SAlexander Stein			     <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
46530567925SAlexander Stein			     <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
46630567925SAlexander Stein			     <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
46730567925SAlexander Stein			     <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
46830567925SAlexander Stein			     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
46930567925SAlexander Stein			     <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>;
47030567925SAlexander Stein		power-domains = <&pd IMX_SC_R_DMA_3_CH0>,
47130567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH1>,
47230567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH2>,
47330567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH3>,
47430567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH4>,
47530567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH5>,
47630567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH6>,
47730567925SAlexander Stein				<&pd IMX_SC_R_DMA_3_CH7>;
47830567925SAlexander Stein	};
47930567925SAlexander Stein
48035f4e9d7SDong Aisheng	i2c0_lpcg: clock-controller@5ac00000 {
48135f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
48235f4e9d7SDong Aisheng		reg = <0x5ac00000 0x10000>;
48335f4e9d7SDong Aisheng		#clock-cells = <1>;
48435f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>,
48535f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
48635f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
48735f4e9d7SDong Aisheng		clock-output-names = "i2c0_lpcg_clk",
48835f4e9d7SDong Aisheng				     "i2c0_lpcg_ipg_clk";
48935f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_0>;
49035f4e9d7SDong Aisheng	};
49135f4e9d7SDong Aisheng
49235f4e9d7SDong Aisheng	i2c1_lpcg: clock-controller@5ac10000 {
49335f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
49435f4e9d7SDong Aisheng		reg = <0x5ac10000 0x10000>;
49535f4e9d7SDong Aisheng		#clock-cells = <1>;
49635f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>,
49735f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
49835f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
49935f4e9d7SDong Aisheng		clock-output-names = "i2c1_lpcg_clk",
50035f4e9d7SDong Aisheng				     "i2c1_lpcg_ipg_clk";
50135f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_1>;
50235f4e9d7SDong Aisheng	};
50335f4e9d7SDong Aisheng
50435f4e9d7SDong Aisheng	i2c2_lpcg: clock-controller@5ac20000 {
50535f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
50635f4e9d7SDong Aisheng		reg = <0x5ac20000 0x10000>;
50735f4e9d7SDong Aisheng		#clock-cells = <1>;
50835f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>,
50935f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
51035f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
51135f4e9d7SDong Aisheng		clock-output-names = "i2c2_lpcg_clk",
51235f4e9d7SDong Aisheng				     "i2c2_lpcg_ipg_clk";
51335f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_2>;
51435f4e9d7SDong Aisheng	};
51535f4e9d7SDong Aisheng
51635f4e9d7SDong Aisheng	i2c3_lpcg: clock-controller@5ac30000 {
51735f4e9d7SDong Aisheng		compatible = "fsl,imx8qxp-lpcg";
51835f4e9d7SDong Aisheng		reg = <0x5ac30000 0x10000>;
51935f4e9d7SDong Aisheng		#clock-cells = <1>;
52035f4e9d7SDong Aisheng		clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>,
52135f4e9d7SDong Aisheng			 <&dma_ipg_clk>;
52235f4e9d7SDong Aisheng		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
52335f4e9d7SDong Aisheng		clock-output-names = "i2c3_lpcg_clk",
52435f4e9d7SDong Aisheng				     "i2c3_lpcg_ipg_clk";
52535f4e9d7SDong Aisheng		power-domains = <&pd IMX_SC_R_I2C_3>;
52635f4e9d7SDong Aisheng	};
5271db044b2SFrank Li
5281db044b2SFrank Li	adc0_lpcg: clock-controller@5ac80000 {
5291db044b2SFrank Li		compatible = "fsl,imx8qxp-lpcg";
5301db044b2SFrank Li		reg = <0x5ac80000 0x10000>;
5311db044b2SFrank Li		#clock-cells = <1>;
5321db044b2SFrank Li		clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>,
5331db044b2SFrank Li			 <&dma_ipg_clk>;
5341db044b2SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
5351db044b2SFrank Li		clock-output-names = "adc0_lpcg_clk",
5361db044b2SFrank Li				     "adc0_lpcg_ipg_clk";
5371db044b2SFrank Li		power-domains = <&pd IMX_SC_R_ADC_0>;
5381db044b2SFrank Li	};
5391db044b2SFrank Li
5401db044b2SFrank Li	adc1_lpcg: clock-controller@5ac90000 {
5411db044b2SFrank Li		compatible = "fsl,imx8qxp-lpcg";
5421db044b2SFrank Li		reg = <0x5ac90000 0x10000>;
5431db044b2SFrank Li		#clock-cells = <1>;
5441db044b2SFrank Li		clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>,
5451db044b2SFrank Li			 <&dma_ipg_clk>;
5461db044b2SFrank Li		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
5471db044b2SFrank Li		clock-output-names = "adc1_lpcg_clk",
5481db044b2SFrank Li				     "adc1_lpcg_ipg_clk";
5491db044b2SFrank Li		power-domains = <&pd IMX_SC_R_ADC_1>;
5501db044b2SFrank Li	};
5515e7d5b02SJoakim Zhang
5525e7d5b02SJoakim Zhang	can0_lpcg: clock-controller@5acd0000 {
5535e7d5b02SJoakim Zhang		compatible = "fsl,imx8qxp-lpcg";
5545e7d5b02SJoakim Zhang		reg = <0x5acd0000 0x10000>;
5555e7d5b02SJoakim Zhang		#clock-cells = <1>;
5565e7d5b02SJoakim Zhang		clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>,
5575e7d5b02SJoakim Zhang			 <&dma_ipg_clk>, <&dma_ipg_clk>;
5585e7d5b02SJoakim Zhang		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>;
5595e7d5b02SJoakim Zhang		clock-output-names = "can0_lpcg_pe_clk",
5605e7d5b02SJoakim Zhang				     "can0_lpcg_ipg_clk",
5615e7d5b02SJoakim Zhang				     "can0_lpcg_chi_clk";
5625e7d5b02SJoakim Zhang		power-domains = <&pd IMX_SC_R_CAN_0>;
5635e7d5b02SJoakim Zhang	};
56435f4e9d7SDong Aisheng};
565