1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright 2018-2019 NXP 4 * Dong Aisheng <aisheng.dong@nxp.com> 5 */ 6 7#include <dt-bindings/clock/imx8-lpcg.h> 8#include <dt-bindings/dma/fsl-edma.h> 9#include <dt-bindings/firmware/imx/rsrc.h> 10 11dma_ipg_clk: clock-dma-ipg { 12 compatible = "fixed-clock"; 13 #clock-cells = <0>; 14 clock-frequency = <120000000>; 15 clock-output-names = "dma_ipg_clk"; 16}; 17 18dma_subsys: bus@5a000000 { 19 compatible = "simple-bus"; 20 #address-cells = <1>; 21 #size-cells = <1>; 22 ranges = <0x5a000000 0x0 0x5a000000 0x1000000>; 23 24 lpspi0: spi@5a000000 { 25 compatible = "fsl,imx7ulp-spi"; 26 reg = <0x5a000000 0x10000>; 27 #address-cells = <1>; 28 #size-cells = <0>; 29 interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>; 30 interrupt-parent = <&gic>; 31 clocks = <&spi0_lpcg 0>, 32 <&spi0_lpcg 1>; 33 clock-names = "per", "ipg"; 34 assigned-clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>; 35 assigned-clock-rates = <60000000>; 36 power-domains = <&pd IMX_SC_R_SPI_0>; 37 status = "disabled"; 38 }; 39 40 lpspi1: spi@5a010000 { 41 compatible = "fsl,imx7ulp-spi"; 42 reg = <0x5a010000 0x10000>; 43 #address-cells = <1>; 44 #size-cells = <0>; 45 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 46 interrupt-parent = <&gic>; 47 clocks = <&spi1_lpcg 0>, 48 <&spi1_lpcg 1>; 49 clock-names = "per", "ipg"; 50 assigned-clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>; 51 assigned-clock-rates = <60000000>; 52 power-domains = <&pd IMX_SC_R_SPI_1>; 53 status = "disabled"; 54 }; 55 56 lpspi2: spi@5a020000 { 57 compatible = "fsl,imx7ulp-spi"; 58 reg = <0x5a020000 0x10000>; 59 #address-cells = <1>; 60 #size-cells = <0>; 61 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; 62 interrupt-parent = <&gic>; 63 clocks = <&spi2_lpcg 0>, 64 <&spi2_lpcg 1>; 65 clock-names = "per", "ipg"; 66 assigned-clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>; 67 assigned-clock-rates = <60000000>; 68 power-domains = <&pd IMX_SC_R_SPI_2>; 69 status = "disabled"; 70 }; 71 72 lpspi3: spi@5a030000 { 73 compatible = "fsl,imx7ulp-spi"; 74 reg = <0x5a030000 0x10000>; 75 #address-cells = <1>; 76 #size-cells = <0>; 77 interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 78 interrupt-parent = <&gic>; 79 clocks = <&spi3_lpcg 0>, 80 <&spi3_lpcg 1>; 81 clock-names = "per", "ipg"; 82 assigned-clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>; 83 assigned-clock-rates = <60000000>; 84 power-domains = <&pd IMX_SC_R_SPI_3>; 85 status = "disabled"; 86 }; 87 88 lpuart0: serial@5a060000 { 89 reg = <0x5a060000 0x1000>; 90 interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 91 clocks = <&uart0_lpcg IMX_LPCG_CLK_4>, 92 <&uart0_lpcg IMX_LPCG_CLK_0>; 93 clock-names = "ipg", "baud"; 94 assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>; 95 assigned-clock-rates = <80000000>; 96 power-domains = <&pd IMX_SC_R_UART_0>; 97 dma-names = "rx", "tx"; 98 dmas = <&edma2 8 0 FSL_EDMA_RX>, <&edma2 9 0 0>; 99 status = "disabled"; 100 }; 101 102 lpuart1: serial@5a070000 { 103 reg = <0x5a070000 0x1000>; 104 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 105 clocks = <&uart1_lpcg IMX_LPCG_CLK_4>, 106 <&uart1_lpcg IMX_LPCG_CLK_0>; 107 clock-names = "ipg", "baud"; 108 assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>; 109 assigned-clock-rates = <80000000>; 110 power-domains = <&pd IMX_SC_R_UART_1>; 111 dma-names = "rx", "tx"; 112 dmas = <&edma2 10 0 FSL_EDMA_RX>, <&edma2 11 0 0>; 113 status = "disabled"; 114 }; 115 116 lpuart2: serial@5a080000 { 117 reg = <0x5a080000 0x1000>; 118 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 119 clocks = <&uart2_lpcg IMX_LPCG_CLK_4>, 120 <&uart2_lpcg IMX_LPCG_CLK_0>; 121 clock-names = "ipg", "baud"; 122 assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>; 123 assigned-clock-rates = <80000000>; 124 power-domains = <&pd IMX_SC_R_UART_2>; 125 dma-names = "rx", "tx"; 126 dmas = <&edma2 12 0 FSL_EDMA_RX>, <&edma2 13 0 0>; 127 status = "disabled"; 128 }; 129 130 lpuart3: serial@5a090000 { 131 reg = <0x5a090000 0x1000>; 132 interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>; 133 clocks = <&uart3_lpcg IMX_LPCG_CLK_4>, 134 <&uart3_lpcg IMX_LPCG_CLK_0>; 135 clock-names = "ipg", "baud"; 136 assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>; 137 assigned-clock-rates = <80000000>; 138 power-domains = <&pd IMX_SC_R_UART_3>; 139 dma-names = "rx", "tx"; 140 dmas = <&edma2 14 0 FSL_EDMA_RX>, <&edma2 15 0 0>; 141 status = "disabled"; 142 }; 143 144 adma_pwm: pwm@5a190000 { 145 compatible = "fsl,imx8qxp-pwm", "fsl,imx27-pwm"; 146 reg = <0x5a190000 0x1000>; 147 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 148 clocks = <&adma_pwm_lpcg 1>, 149 <&adma_pwm_lpcg 0>; 150 clock-names = "ipg", "per"; 151 assigned-clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>; 152 assigned-clock-rates = <24000000>; 153 #pwm-cells = <3>; 154 power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 155 }; 156 157 edma2: dma-controller@5a1f0000 { 158 compatible = "fsl,imx8qm-edma"; 159 reg = <0x5a1f0000 0x170000>; 160 #dma-cells = <3>; 161 dma-channels = <16>; 162 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 163 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 164 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 165 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 166 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 167 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 168 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 169 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 170 <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>, 171 <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>, 172 <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>, 173 <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>, 174 <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, 175 <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, 176 <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>, 177 <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>; 178 power-domains = <&pd IMX_SC_R_DMA_2_CH0>, 179 <&pd IMX_SC_R_DMA_2_CH1>, 180 <&pd IMX_SC_R_DMA_2_CH2>, 181 <&pd IMX_SC_R_DMA_2_CH3>, 182 <&pd IMX_SC_R_DMA_2_CH4>, 183 <&pd IMX_SC_R_DMA_2_CH5>, 184 <&pd IMX_SC_R_DMA_2_CH6>, 185 <&pd IMX_SC_R_DMA_2_CH7>, 186 <&pd IMX_SC_R_DMA_2_CH8>, 187 <&pd IMX_SC_R_DMA_2_CH9>, 188 <&pd IMX_SC_R_DMA_2_CH10>, 189 <&pd IMX_SC_R_DMA_2_CH11>, 190 <&pd IMX_SC_R_DMA_2_CH12>, 191 <&pd IMX_SC_R_DMA_2_CH13>, 192 <&pd IMX_SC_R_DMA_2_CH14>, 193 <&pd IMX_SC_R_DMA_2_CH15>; 194 }; 195 196 spi0_lpcg: clock-controller@5a400000 { 197 compatible = "fsl,imx8qxp-lpcg"; 198 reg = <0x5a400000 0x10000>; 199 #clock-cells = <1>; 200 clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>, 201 <&dma_ipg_clk>; 202 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 203 clock-output-names = "spi0_lpcg_clk", 204 "spi0_lpcg_ipg_clk"; 205 power-domains = <&pd IMX_SC_R_SPI_0>; 206 }; 207 208 spi1_lpcg: clock-controller@5a410000 { 209 compatible = "fsl,imx8qxp-lpcg"; 210 reg = <0x5a410000 0x10000>; 211 #clock-cells = <1>; 212 clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>, 213 <&dma_ipg_clk>; 214 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 215 clock-output-names = "spi1_lpcg_clk", 216 "spi1_lpcg_ipg_clk"; 217 power-domains = <&pd IMX_SC_R_SPI_1>; 218 }; 219 220 spi2_lpcg: clock-controller@5a420000 { 221 compatible = "fsl,imx8qxp-lpcg"; 222 reg = <0x5a420000 0x10000>; 223 #clock-cells = <1>; 224 clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>, 225 <&dma_ipg_clk>; 226 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 227 clock-output-names = "spi2_lpcg_clk", 228 "spi2_lpcg_ipg_clk"; 229 power-domains = <&pd IMX_SC_R_SPI_2>; 230 }; 231 232 spi3_lpcg: clock-controller@5a430000 { 233 compatible = "fsl,imx8qxp-lpcg"; 234 reg = <0x5a430000 0x10000>; 235 #clock-cells = <1>; 236 clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>, 237 <&dma_ipg_clk>; 238 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 239 clock-output-names = "spi3_lpcg_clk", 240 "spi3_lpcg_ipg_clk"; 241 power-domains = <&pd IMX_SC_R_SPI_3>; 242 }; 243 244 uart0_lpcg: clock-controller@5a460000 { 245 compatible = "fsl,imx8qxp-lpcg"; 246 reg = <0x5a460000 0x10000>; 247 #clock-cells = <1>; 248 clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>, 249 <&dma_ipg_clk>; 250 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 251 clock-output-names = "uart0_lpcg_baud_clk", 252 "uart0_lpcg_ipg_clk"; 253 power-domains = <&pd IMX_SC_R_UART_0>; 254 }; 255 256 uart1_lpcg: clock-controller@5a470000 { 257 compatible = "fsl,imx8qxp-lpcg"; 258 reg = <0x5a470000 0x10000>; 259 #clock-cells = <1>; 260 clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>, 261 <&dma_ipg_clk>; 262 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 263 clock-output-names = "uart1_lpcg_baud_clk", 264 "uart1_lpcg_ipg_clk"; 265 power-domains = <&pd IMX_SC_R_UART_1>; 266 }; 267 268 uart2_lpcg: clock-controller@5a480000 { 269 compatible = "fsl,imx8qxp-lpcg"; 270 reg = <0x5a480000 0x10000>; 271 #clock-cells = <1>; 272 clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>, 273 <&dma_ipg_clk>; 274 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 275 clock-output-names = "uart2_lpcg_baud_clk", 276 "uart2_lpcg_ipg_clk"; 277 power-domains = <&pd IMX_SC_R_UART_2>; 278 }; 279 280 uart3_lpcg: clock-controller@5a490000 { 281 compatible = "fsl,imx8qxp-lpcg"; 282 reg = <0x5a490000 0x10000>; 283 #clock-cells = <1>; 284 clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>, 285 <&dma_ipg_clk>; 286 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 287 clock-output-names = "uart3_lpcg_baud_clk", 288 "uart3_lpcg_ipg_clk"; 289 power-domains = <&pd IMX_SC_R_UART_3>; 290 }; 291 292 adma_pwm_lpcg: clock-controller@5a590000 { 293 compatible = "fsl,imx8qxp-lpcg"; 294 reg = <0x5a590000 0x10000>; 295 #clock-cells = <1>; 296 clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>, 297 <&dma_ipg_clk>; 298 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 299 clock-output-names = "adma_pwm_lpcg_clk", 300 "adma_pwm_lpcg_ipg_clk"; 301 power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 302 }; 303 304 i2c0: i2c@5a800000 { 305 reg = <0x5a800000 0x4000>; 306 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 307 clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>, 308 <&i2c0_lpcg IMX_LPCG_CLK_4>; 309 clock-names = "per", "ipg"; 310 assigned-clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>; 311 assigned-clock-rates = <24000000>; 312 power-domains = <&pd IMX_SC_R_I2C_0>; 313 status = "disabled"; 314 }; 315 316 i2c1: i2c@5a810000 { 317 reg = <0x5a810000 0x4000>; 318 interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 319 clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>, 320 <&i2c1_lpcg IMX_LPCG_CLK_4>; 321 clock-names = "per", "ipg"; 322 assigned-clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>; 323 assigned-clock-rates = <24000000>; 324 power-domains = <&pd IMX_SC_R_I2C_1>; 325 status = "disabled"; 326 }; 327 328 i2c2: i2c@5a820000 { 329 reg = <0x5a820000 0x4000>; 330 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 331 clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>, 332 <&i2c2_lpcg IMX_LPCG_CLK_4>; 333 clock-names = "per", "ipg"; 334 assigned-clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>; 335 assigned-clock-rates = <24000000>; 336 power-domains = <&pd IMX_SC_R_I2C_2>; 337 status = "disabled"; 338 }; 339 340 i2c3: i2c@5a830000 { 341 reg = <0x5a830000 0x4000>; 342 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 343 clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>, 344 <&i2c3_lpcg IMX_LPCG_CLK_4>; 345 clock-names = "per", "ipg"; 346 assigned-clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>; 347 assigned-clock-rates = <24000000>; 348 power-domains = <&pd IMX_SC_R_I2C_3>; 349 status = "disabled"; 350 }; 351 352 adc0: adc@5a880000 { 353 compatible = "nxp,imx8qxp-adc"; 354 #io-channel-cells = <1>; 355 reg = <0x5a880000 0x10000>; 356 interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; 357 interrupt-parent = <&gic>; 358 clocks = <&adc0_lpcg 0>, 359 <&adc0_lpcg 1>; 360 clock-names = "per", "ipg"; 361 assigned-clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>; 362 assigned-clock-rates = <24000000>; 363 power-domains = <&pd IMX_SC_R_ADC_0>; 364 status = "disabled"; 365 }; 366 367 adc1: adc@5a890000 { 368 compatible = "nxp,imx8qxp-adc"; 369 #io-channel-cells = <1>; 370 reg = <0x5a890000 0x10000>; 371 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 372 interrupt-parent = <&gic>; 373 clocks = <&adc1_lpcg 0>, 374 <&adc1_lpcg 1>; 375 clock-names = "per", "ipg"; 376 assigned-clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>; 377 assigned-clock-rates = <24000000>; 378 power-domains = <&pd IMX_SC_R_ADC_1>; 379 status = "disabled"; 380 }; 381 382 flexcan1: can@5a8d0000 { 383 compatible = "fsl,imx8qm-flexcan"; 384 reg = <0x5a8d0000 0x10000>; 385 interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>; 386 interrupt-parent = <&gic>; 387 clocks = <&can0_lpcg 1>, 388 <&can0_lpcg 0>; 389 clock-names = "ipg", "per"; 390 assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 391 assigned-clock-rates = <40000000>; 392 power-domains = <&pd IMX_SC_R_CAN_0>; 393 /* SLSlice[4] */ 394 fsl,clk-source = /bits/ 8 <0>; 395 fsl,scu-index = /bits/ 8 <0>; 396 status = "disabled"; 397 }; 398 399 flexcan2: can@5a8e0000 { 400 compatible = "fsl,imx8qm-flexcan"; 401 reg = <0x5a8e0000 0x10000>; 402 interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>; 403 interrupt-parent = <&gic>; 404 /* CAN0 clock and PD is shared among all CAN instances as 405 * CAN1 shares CAN0's clock and to enable CAN0's clock it 406 * has to be powered on. 407 */ 408 clocks = <&can0_lpcg 1>, 409 <&can0_lpcg 0>; 410 clock-names = "ipg", "per"; 411 assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 412 assigned-clock-rates = <40000000>; 413 power-domains = <&pd IMX_SC_R_CAN_1>; 414 /* SLSlice[4] */ 415 fsl,clk-source = /bits/ 8 <0>; 416 fsl,scu-index = /bits/ 8 <1>; 417 status = "disabled"; 418 }; 419 420 flexcan3: can@5a8f0000 { 421 compatible = "fsl,imx8qm-flexcan"; 422 reg = <0x5a8f0000 0x10000>; 423 interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>; 424 interrupt-parent = <&gic>; 425 /* CAN0 clock and PD is shared among all CAN instances as 426 * CAN2 shares CAN0's clock and to enable CAN0's clock it 427 * has to be powered on. 428 */ 429 clocks = <&can0_lpcg 1>, 430 <&can0_lpcg 0>; 431 clock-names = "ipg", "per"; 432 assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 433 assigned-clock-rates = <40000000>; 434 power-domains = <&pd IMX_SC_R_CAN_2>; 435 /* SLSlice[4] */ 436 fsl,clk-source = /bits/ 8 <0>; 437 fsl,scu-index = /bits/ 8 <2>; 438 status = "disabled"; 439 }; 440 441 edma3: dma-controller@5a9f0000 { 442 compatible = "fsl,imx8qm-edma"; 443 reg = <0x5a9f0000 0x90000>; 444 #dma-cells = <3>; 445 dma-channels = <8>; 446 interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 447 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>, 448 <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>, 449 <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>, 450 <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>, 451 <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, 452 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>, 453 <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>; 454 power-domains = <&pd IMX_SC_R_DMA_3_CH0>, 455 <&pd IMX_SC_R_DMA_3_CH1>, 456 <&pd IMX_SC_R_DMA_3_CH2>, 457 <&pd IMX_SC_R_DMA_3_CH3>, 458 <&pd IMX_SC_R_DMA_3_CH4>, 459 <&pd IMX_SC_R_DMA_3_CH5>, 460 <&pd IMX_SC_R_DMA_3_CH6>, 461 <&pd IMX_SC_R_DMA_3_CH7>; 462 }; 463 464 i2c0_lpcg: clock-controller@5ac00000 { 465 compatible = "fsl,imx8qxp-lpcg"; 466 reg = <0x5ac00000 0x10000>; 467 #clock-cells = <1>; 468 clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>, 469 <&dma_ipg_clk>; 470 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 471 clock-output-names = "i2c0_lpcg_clk", 472 "i2c0_lpcg_ipg_clk"; 473 power-domains = <&pd IMX_SC_R_I2C_0>; 474 }; 475 476 i2c1_lpcg: clock-controller@5ac10000 { 477 compatible = "fsl,imx8qxp-lpcg"; 478 reg = <0x5ac10000 0x10000>; 479 #clock-cells = <1>; 480 clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>, 481 <&dma_ipg_clk>; 482 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 483 clock-output-names = "i2c1_lpcg_clk", 484 "i2c1_lpcg_ipg_clk"; 485 power-domains = <&pd IMX_SC_R_I2C_1>; 486 }; 487 488 i2c2_lpcg: clock-controller@5ac20000 { 489 compatible = "fsl,imx8qxp-lpcg"; 490 reg = <0x5ac20000 0x10000>; 491 #clock-cells = <1>; 492 clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>, 493 <&dma_ipg_clk>; 494 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 495 clock-output-names = "i2c2_lpcg_clk", 496 "i2c2_lpcg_ipg_clk"; 497 power-domains = <&pd IMX_SC_R_I2C_2>; 498 }; 499 500 i2c3_lpcg: clock-controller@5ac30000 { 501 compatible = "fsl,imx8qxp-lpcg"; 502 reg = <0x5ac30000 0x10000>; 503 #clock-cells = <1>; 504 clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>, 505 <&dma_ipg_clk>; 506 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 507 clock-output-names = "i2c3_lpcg_clk", 508 "i2c3_lpcg_ipg_clk"; 509 power-domains = <&pd IMX_SC_R_I2C_3>; 510 }; 511 512 adc0_lpcg: clock-controller@5ac80000 { 513 compatible = "fsl,imx8qxp-lpcg"; 514 reg = <0x5ac80000 0x10000>; 515 #clock-cells = <1>; 516 clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>, 517 <&dma_ipg_clk>; 518 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 519 clock-output-names = "adc0_lpcg_clk", 520 "adc0_lpcg_ipg_clk"; 521 power-domains = <&pd IMX_SC_R_ADC_0>; 522 }; 523 524 adc1_lpcg: clock-controller@5ac90000 { 525 compatible = "fsl,imx8qxp-lpcg"; 526 reg = <0x5ac90000 0x10000>; 527 #clock-cells = <1>; 528 clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>, 529 <&dma_ipg_clk>; 530 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 531 clock-output-names = "adc1_lpcg_clk", 532 "adc1_lpcg_ipg_clk"; 533 power-domains = <&pd IMX_SC_R_ADC_1>; 534 }; 535 536 can0_lpcg: clock-controller@5acd0000 { 537 compatible = "fsl,imx8qxp-lpcg"; 538 reg = <0x5acd0000 0x10000>; 539 #clock-cells = <1>; 540 clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>, 541 <&dma_ipg_clk>, <&dma_ipg_clk>; 542 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>; 543 clock-output-names = "can0_lpcg_pe_clk", 544 "can0_lpcg_ipg_clk", 545 "can0_lpcg_chi_clk"; 546 power-domains = <&pd IMX_SC_R_CAN_0>; 547 }; 548}; 549