blob: d4856b8590e0c540d69f8919d3cead8bd7c547ba [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2018-2019 NXP
4 * Dong Aisheng <aisheng.dong@nxp.com>
5 */
6
Tom Rini844493d2025-01-26 16:17:47 -06007/delete-node/ &adma_pwm;
8/delete-node/ &adma_pwm_lpcg;
9
Tom Rini53633a82024-02-29 12:33:36 -050010&dma_subsys {
11 uart4_lpcg: clock-controller@5a4a0000 {
12 compatible = "fsl,imx8qxp-lpcg";
13 reg = <0x5a4a0000 0x10000>;
14 #clock-cells = <1>;
15 clocks = <&clk IMX_SC_R_UART_4 IMX_SC_PM_CLK_PER>,
16 <&dma_ipg_clk>;
17 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
18 clock-output-names = "uart4_lpcg_baud_clk",
19 "uart4_lpcg_ipg_clk";
20 power-domains = <&pd IMX_SC_R_UART_4>;
21 };
22
Tom Rini6bb92fc2024-05-20 09:54:58 -060023 i2c4: i2c@5a840000 {
24 compatible = "fsl,imx8qm-lpi2c", "fsl,imx7ulp-lpi2c";
25 reg = <0x5a840000 0x4000>;
26 interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
27 interrupt-parent = <&gic>;
28 clocks = <&i2c4_lpcg 0>,
29 <&i2c4_lpcg 1>;
30 clock-names = "per", "ipg";
31 assigned-clocks = <&clk IMX_SC_R_I2C_4 IMX_SC_PM_CLK_PER>;
32 assigned-clock-rates = <24000000>;
33 power-domains = <&pd IMX_SC_R_I2C_4>;
34 status = "disabled";
35 };
36
37 i2c4_lpcg: clock-controller@5ac40000 {
38 compatible = "fsl,imx8qxp-lpcg";
39 reg = <0x5ac40000 0x10000>;
40 #clock-cells = <1>;
41 clocks = <&clk IMX_SC_R_I2C_4 IMX_SC_PM_CLK_PER>,
42 <&dma_ipg_clk>;
43 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
44 clock-output-names = "i2c4_lpcg_clk",
45 "i2c4_lpcg_ipg_clk";
46 power-domains = <&pd IMX_SC_R_I2C_4>;
47 };
48
Tom Rini53633a82024-02-29 12:33:36 -050049 can1_lpcg: clock-controller@5ace0000 {
50 compatible = "fsl,imx8qxp-lpcg";
51 reg = <0x5ace0000 0x10000>;
52 #clock-cells = <1>;
53 clocks = <&clk IMX_SC_R_CAN_1 IMX_SC_PM_CLK_PER>,
54 <&dma_ipg_clk>, <&dma_ipg_clk>;
55 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>;
56 clock-output-names = "can1_lpcg_pe_clk",
57 "can1_lpcg_ipg_clk",
58 "can1_lpcg_chi_clk";
59 power-domains = <&pd IMX_SC_R_CAN_1>;
60 };
61
62 can2_lpcg: clock-controller@5acf0000 {
63 compatible = "fsl,imx8qxp-lpcg";
64 reg = <0x5acf0000 0x10000>;
65 #clock-cells = <1>;
66 clocks = <&clk IMX_SC_R_CAN_2 IMX_SC_PM_CLK_PER>,
67 <&dma_ipg_clk>, <&dma_ipg_clk>;
68 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>;
69 clock-output-names = "can2_lpcg_pe_clk",
70 "can2_lpcg_ipg_clk",
71 "can2_lpcg_chi_clk";
72 power-domains = <&pd IMX_SC_R_CAN_2>;
73 };
74};
75
76&edma2 {
77 reg = <0x5a1f0000 0x170000>;
78 #dma-cells = <3>;
79 dma-channels = <22>;
80 dma-channel-mask = <0xf00>;
81 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
82 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
83 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
84 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
85 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
86 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
87 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
88 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
89 <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* unused */
90 <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* unused */
91 <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* unused */
92 <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, /* unused */
93 <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
94 <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
95 <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>,
96 <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>,
97 <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>,
98 <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>,
99 <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
100 <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>,
101 <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
102 <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>;
103 power-domains = <&pd IMX_SC_R_DMA_0_CH0>,
104 <&pd IMX_SC_R_DMA_0_CH1>,
105 <&pd IMX_SC_R_DMA_0_CH2>,
106 <&pd IMX_SC_R_DMA_0_CH3>,
107 <&pd IMX_SC_R_DMA_0_CH4>,
108 <&pd IMX_SC_R_DMA_0_CH5>,
109 <&pd IMX_SC_R_DMA_0_CH6>,
110 <&pd IMX_SC_R_DMA_0_CH7>,
111 <&pd IMX_SC_R_DMA_0_CH8>,
112 <&pd IMX_SC_R_DMA_0_CH9>,
113 <&pd IMX_SC_R_DMA_0_CH10>,
114 <&pd IMX_SC_R_DMA_0_CH11>,
115 <&pd IMX_SC_R_DMA_0_CH12>,
116 <&pd IMX_SC_R_DMA_0_CH13>,
117 <&pd IMX_SC_R_DMA_0_CH14>,
118 <&pd IMX_SC_R_DMA_0_CH15>,
119 <&pd IMX_SC_R_DMA_0_CH16>,
120 <&pd IMX_SC_R_DMA_0_CH17>,
121 <&pd IMX_SC_R_DMA_0_CH18>,
122 <&pd IMX_SC_R_DMA_0_CH19>,
123 <&pd IMX_SC_R_DMA_0_CH20>,
124 <&pd IMX_SC_R_DMA_0_CH21>;
125 status = "okay";
126};
127
Tom Rini6bb92fc2024-05-20 09:54:58 -0600128/* It is eDMA1 in 8QM RM, but 8QXP it is eDMA3 */
Tom Rini53633a82024-02-29 12:33:36 -0500129&edma3 {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600130 reg = <0x5a9f0000 0x210000>;
131 dma-channels = <10>;
132 interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
133 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
134 <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
135 <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
136 <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
137 <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
138 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
139 <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>,
140 <GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
141 <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -0500142 power-domains = <&pd IMX_SC_R_DMA_1_CH0>,
Tom Rini6bb92fc2024-05-20 09:54:58 -0600143 <&pd IMX_SC_R_DMA_1_CH1>,
144 <&pd IMX_SC_R_DMA_1_CH2>,
145 <&pd IMX_SC_R_DMA_1_CH3>,
146 <&pd IMX_SC_R_DMA_1_CH4>,
147 <&pd IMX_SC_R_DMA_1_CH5>,
148 <&pd IMX_SC_R_DMA_1_CH6>,
149 <&pd IMX_SC_R_DMA_1_CH7>,
150 <&pd IMX_SC_R_DMA_1_CH8>,
151 <&pd IMX_SC_R_DMA_1_CH9>;
Tom Rini53633a82024-02-29 12:33:36 -0500152};
153
154&flexcan1 {
155 fsl,clk-source = /bits/ 8 <1>;
156};
157
158&flexcan2 {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600159 clocks = <&can1_lpcg IMX_LPCG_CLK_4>,
160 <&can1_lpcg IMX_LPCG_CLK_0>;
Tom Rini53633a82024-02-29 12:33:36 -0500161 assigned-clocks = <&clk IMX_SC_R_CAN_1 IMX_SC_PM_CLK_PER>;
162 fsl,clk-source = /bits/ 8 <1>;
163};
164
165&flexcan3 {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600166 clocks = <&can2_lpcg IMX_LPCG_CLK_4>,
167 <&can2_lpcg IMX_LPCG_CLK_0>;
Tom Rini53633a82024-02-29 12:33:36 -0500168 assigned-clocks = <&clk IMX_SC_R_CAN_2 IMX_SC_PM_CLK_PER>;
169 fsl,clk-source = /bits/ 8 <1>;
170};
171
172&lpuart0 {
173 compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart";
174 dmas = <&edma2 13 0 0>, <&edma2 12 0 1>;
Tom Rini93743d22024-04-01 09:08:13 -0400175 dma-names = "rx","tx";
Tom Rini53633a82024-02-29 12:33:36 -0500176};
177
178&lpuart1 {
179 compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart";
180 dmas = <&edma2 15 0 0>, <&edma2 14 0 1>;
Tom Rini93743d22024-04-01 09:08:13 -0400181 dma-names = "rx","tx";
Tom Rini53633a82024-02-29 12:33:36 -0500182};
183
184&lpuart2 {
185 compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart";
186 dmas = <&edma2 17 0 0>, <&edma2 16 0 1>;
Tom Rini93743d22024-04-01 09:08:13 -0400187 dma-names = "rx","tx";
Tom Rini53633a82024-02-29 12:33:36 -0500188};
189
190&lpuart3 {
191 compatible = "fsl,imx8qm-lpuart", "fsl,imx8qxp-lpuart";
192 dmas = <&edma2 19 0 0>, <&edma2 18 0 1>;
Tom Rini93743d22024-04-01 09:08:13 -0400193 dma-names = "rx","tx";
Tom Rini53633a82024-02-29 12:33:36 -0500194};
195
196&i2c0 {
197 compatible = "fsl,imx8qm-lpi2c", "fsl,imx7ulp-lpi2c";
198};
199
200&i2c1 {
201 compatible = "fsl,imx8qm-lpi2c", "fsl,imx7ulp-lpi2c";
202};
203
204&i2c2 {
205 compatible = "fsl,imx8qm-lpi2c", "fsl,imx7ulp-lpi2c";
206};
207
208&i2c3 {
209 compatible = "fsl,imx8qm-lpi2c", "fsl,imx7ulp-lpi2c";
210};