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> 8*616effc0SAlexander 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>; 31c4098885SFrank Li clocks = <&spi0_lpcg 0>, 32c4098885SFrank Li <&spi0_lpcg 1>; 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>; 37c4098885SFrank Li status = "disabled"; 38c4098885SFrank Li }; 39c4098885SFrank Li 40c4098885SFrank Li lpspi1: spi@5a010000 { 41c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 42c4098885SFrank Li reg = <0x5a010000 0x10000>; 43c4098885SFrank Li #address-cells = <1>; 44c4098885SFrank Li #size-cells = <0>; 45c4098885SFrank Li interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 46c4098885SFrank Li interrupt-parent = <&gic>; 47c4098885SFrank Li clocks = <&spi1_lpcg 0>, 48c4098885SFrank Li <&spi1_lpcg 1>; 49c4098885SFrank Li clock-names = "per", "ipg"; 50c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>; 51c4098885SFrank Li assigned-clock-rates = <60000000>; 52c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_1>; 53c4098885SFrank Li status = "disabled"; 54c4098885SFrank Li }; 55c4098885SFrank Li 56c4098885SFrank Li lpspi2: spi@5a020000 { 57c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 58c4098885SFrank Li reg = <0x5a020000 0x10000>; 59c4098885SFrank Li #address-cells = <1>; 60c4098885SFrank Li #size-cells = <0>; 61c4098885SFrank Li interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; 62c4098885SFrank Li interrupt-parent = <&gic>; 63c4098885SFrank Li clocks = <&spi2_lpcg 0>, 64c4098885SFrank Li <&spi2_lpcg 1>; 65c4098885SFrank Li clock-names = "per", "ipg"; 66c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>; 67c4098885SFrank Li assigned-clock-rates = <60000000>; 68c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_2>; 69c4098885SFrank Li status = "disabled"; 70c4098885SFrank Li }; 71c4098885SFrank Li 72c4098885SFrank Li lpspi3: spi@5a030000 { 73c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 74c4098885SFrank Li reg = <0x5a030000 0x10000>; 75c4098885SFrank Li #address-cells = <1>; 76c4098885SFrank Li #size-cells = <0>; 77c4098885SFrank Li interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 78c4098885SFrank Li interrupt-parent = <&gic>; 79c4098885SFrank Li clocks = <&spi3_lpcg 0>, 80c4098885SFrank Li <&spi3_lpcg 1>; 81c4098885SFrank Li clock-names = "per", "ipg"; 82c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>; 83c4098885SFrank Li assigned-clock-rates = <60000000>; 84c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_3>; 85c4098885SFrank Li status = "disabled"; 86c4098885SFrank Li }; 87c4098885SFrank Li 8835f4e9d7SDong Aisheng lpuart0: serial@5a060000 { 8935f4e9d7SDong Aisheng reg = <0x5a060000 0x1000>; 90e0d5a28bSFrank Li interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 9135f4e9d7SDong Aisheng clocks = <&uart0_lpcg IMX_LPCG_CLK_4>, 9235f4e9d7SDong Aisheng <&uart0_lpcg IMX_LPCG_CLK_0>; 9335f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 94ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>; 95ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 9635f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_0>; 97*616effc0SAlexander Stein dma-names = "rx", "tx"; 98*616effc0SAlexander Stein dmas = <&edma2 8 0 FSL_EDMA_RX>, <&edma2 9 0 0>; 9935f4e9d7SDong Aisheng status = "disabled"; 10035f4e9d7SDong Aisheng }; 10135f4e9d7SDong Aisheng 10235f4e9d7SDong Aisheng lpuart1: serial@5a070000 { 10335f4e9d7SDong Aisheng reg = <0x5a070000 0x1000>; 104e0d5a28bSFrank Li interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 10535f4e9d7SDong Aisheng clocks = <&uart1_lpcg IMX_LPCG_CLK_4>, 10635f4e9d7SDong Aisheng <&uart1_lpcg IMX_LPCG_CLK_0>; 10735f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 108ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>; 109ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 11035f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_1>; 111*616effc0SAlexander Stein dma-names = "rx", "tx"; 112*616effc0SAlexander Stein dmas = <&edma2 10 0 FSL_EDMA_RX>, <&edma2 11 0 0>; 11335f4e9d7SDong Aisheng status = "disabled"; 11435f4e9d7SDong Aisheng }; 11535f4e9d7SDong Aisheng 11635f4e9d7SDong Aisheng lpuart2: serial@5a080000 { 11735f4e9d7SDong Aisheng reg = <0x5a080000 0x1000>; 118e0d5a28bSFrank Li interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 11935f4e9d7SDong Aisheng clocks = <&uart2_lpcg IMX_LPCG_CLK_4>, 12035f4e9d7SDong Aisheng <&uart2_lpcg IMX_LPCG_CLK_0>; 12135f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 122ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>; 123ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 12435f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_2>; 125*616effc0SAlexander Stein dma-names = "rx", "tx"; 126*616effc0SAlexander Stein dmas = <&edma2 12 0 FSL_EDMA_RX>, <&edma2 13 0 0>; 12735f4e9d7SDong Aisheng status = "disabled"; 12835f4e9d7SDong Aisheng }; 12935f4e9d7SDong Aisheng 13035f4e9d7SDong Aisheng lpuart3: serial@5a090000 { 13135f4e9d7SDong Aisheng reg = <0x5a090000 0x1000>; 132e0d5a28bSFrank Li interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>; 13335f4e9d7SDong Aisheng clocks = <&uart3_lpcg IMX_LPCG_CLK_4>, 13435f4e9d7SDong Aisheng <&uart3_lpcg IMX_LPCG_CLK_0>; 13535f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 136ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>; 137ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 13835f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_3>; 139*616effc0SAlexander Stein dma-names = "rx", "tx"; 140*616effc0SAlexander Stein dmas = <&edma2 14 0 FSL_EDMA_RX>, <&edma2 15 0 0>; 14135f4e9d7SDong Aisheng status = "disabled"; 14235f4e9d7SDong Aisheng }; 14335f4e9d7SDong Aisheng 144f1d6a6b9SAlexander Stein adma_pwm: pwm@5a190000 { 145f1d6a6b9SAlexander Stein compatible = "fsl,imx8qxp-pwm", "fsl,imx27-pwm"; 146f1d6a6b9SAlexander Stein reg = <0x5a190000 0x1000>; 147f1d6a6b9SAlexander Stein interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 148f1d6a6b9SAlexander Stein clocks = <&adma_pwm_lpcg 1>, 149f1d6a6b9SAlexander Stein <&adma_pwm_lpcg 0>; 150f1d6a6b9SAlexander Stein clock-names = "ipg", "per"; 151f1d6a6b9SAlexander Stein assigned-clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>; 152f1d6a6b9SAlexander Stein assigned-clock-rates = <24000000>; 1537cef7c0bSAlexander Stein #pwm-cells = <3>; 154f1d6a6b9SAlexander Stein power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 155f1d6a6b9SAlexander Stein }; 156f1d6a6b9SAlexander Stein 157e4d7a330SFrank Li edma2: dma-controller@5a1f0000 { 158e4d7a330SFrank Li compatible = "fsl,imx8qm-edma"; 159e4d7a330SFrank Li reg = <0x5a1f0000 0x170000>; 160e4d7a330SFrank Li #dma-cells = <3>; 161e4d7a330SFrank Li dma-channels = <16>; 162e4d7a330SFrank Li interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 163e4d7a330SFrank Li <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 164e4d7a330SFrank Li <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 165e4d7a330SFrank Li <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 166e4d7a330SFrank Li <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 167e4d7a330SFrank Li <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 168e4d7a330SFrank Li <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 169e4d7a330SFrank Li <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 170e4d7a330SFrank Li <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>, 171e4d7a330SFrank Li <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>, 172e4d7a330SFrank Li <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>, 173e4d7a330SFrank Li <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>, 174e4d7a330SFrank Li <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, 175e4d7a330SFrank Li <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, 176e4d7a330SFrank Li <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>, 177e4d7a330SFrank Li <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>; 178e4d7a330SFrank Li power-domains = <&pd IMX_SC_R_DMA_2_CH0>, 179e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH1>, 180e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH2>, 181e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH3>, 182e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH4>, 183e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH5>, 184e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH6>, 185e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH7>, 186e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH8>, 187e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH9>, 188e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH10>, 189e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH11>, 190e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH12>, 191e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH13>, 192e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH14>, 193e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH15>; 194e4d7a330SFrank Li }; 195e4d7a330SFrank Li 196c4098885SFrank Li spi0_lpcg: clock-controller@5a400000 { 197c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 198c4098885SFrank Li reg = <0x5a400000 0x10000>; 199c4098885SFrank Li #clock-cells = <1>; 200c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>, 201c4098885SFrank Li <&dma_ipg_clk>; 202c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 203c4098885SFrank Li clock-output-names = "spi0_lpcg_clk", 204c4098885SFrank Li "spi0_lpcg_ipg_clk"; 205c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_0>; 206c4098885SFrank Li }; 207c4098885SFrank Li 208c4098885SFrank Li spi1_lpcg: clock-controller@5a410000 { 209c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 210c4098885SFrank Li reg = <0x5a410000 0x10000>; 211c4098885SFrank Li #clock-cells = <1>; 212c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>, 213c4098885SFrank Li <&dma_ipg_clk>; 214c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 215c4098885SFrank Li clock-output-names = "spi1_lpcg_clk", 216c4098885SFrank Li "spi1_lpcg_ipg_clk"; 217c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_1>; 218c4098885SFrank Li }; 219c4098885SFrank Li 220c4098885SFrank Li spi2_lpcg: clock-controller@5a420000 { 221c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 222c4098885SFrank Li reg = <0x5a420000 0x10000>; 223c4098885SFrank Li #clock-cells = <1>; 224c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>, 225c4098885SFrank Li <&dma_ipg_clk>; 226c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 227c4098885SFrank Li clock-output-names = "spi2_lpcg_clk", 228c4098885SFrank Li "spi2_lpcg_ipg_clk"; 229c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_2>; 230c4098885SFrank Li }; 231c4098885SFrank Li 232c4098885SFrank Li spi3_lpcg: clock-controller@5a430000 { 233c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 234c4098885SFrank Li reg = <0x5a430000 0x10000>; 235c4098885SFrank Li #clock-cells = <1>; 236c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>, 237c4098885SFrank Li <&dma_ipg_clk>; 238c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 239c4098885SFrank Li clock-output-names = "spi3_lpcg_clk", 240c4098885SFrank Li "spi3_lpcg_ipg_clk"; 241c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_3>; 242c4098885SFrank Li }; 243c4098885SFrank Li 24435f4e9d7SDong Aisheng uart0_lpcg: clock-controller@5a460000 { 24535f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 24635f4e9d7SDong Aisheng reg = <0x5a460000 0x10000>; 24735f4e9d7SDong Aisheng #clock-cells = <1>; 24835f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>, 24935f4e9d7SDong Aisheng <&dma_ipg_clk>; 25035f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 25135f4e9d7SDong Aisheng clock-output-names = "uart0_lpcg_baud_clk", 25235f4e9d7SDong Aisheng "uart0_lpcg_ipg_clk"; 25335f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_0>; 25435f4e9d7SDong Aisheng }; 25535f4e9d7SDong Aisheng 25635f4e9d7SDong Aisheng uart1_lpcg: clock-controller@5a470000 { 25735f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 25835f4e9d7SDong Aisheng reg = <0x5a470000 0x10000>; 25935f4e9d7SDong Aisheng #clock-cells = <1>; 26035f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>, 26135f4e9d7SDong Aisheng <&dma_ipg_clk>; 26235f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 26335f4e9d7SDong Aisheng clock-output-names = "uart1_lpcg_baud_clk", 26435f4e9d7SDong Aisheng "uart1_lpcg_ipg_clk"; 26535f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_1>; 26635f4e9d7SDong Aisheng }; 26735f4e9d7SDong Aisheng 26835f4e9d7SDong Aisheng uart2_lpcg: clock-controller@5a480000 { 26935f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 27035f4e9d7SDong Aisheng reg = <0x5a480000 0x10000>; 27135f4e9d7SDong Aisheng #clock-cells = <1>; 27235f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>, 27335f4e9d7SDong Aisheng <&dma_ipg_clk>; 27435f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 27535f4e9d7SDong Aisheng clock-output-names = "uart2_lpcg_baud_clk", 27635f4e9d7SDong Aisheng "uart2_lpcg_ipg_clk"; 27735f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_2>; 27835f4e9d7SDong Aisheng }; 27935f4e9d7SDong Aisheng 28035f4e9d7SDong Aisheng uart3_lpcg: clock-controller@5a490000 { 28135f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 28235f4e9d7SDong Aisheng reg = <0x5a490000 0x10000>; 28335f4e9d7SDong Aisheng #clock-cells = <1>; 28435f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>, 28535f4e9d7SDong Aisheng <&dma_ipg_clk>; 28635f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 28735f4e9d7SDong Aisheng clock-output-names = "uart3_lpcg_baud_clk", 28835f4e9d7SDong Aisheng "uart3_lpcg_ipg_clk"; 28935f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_3>; 29035f4e9d7SDong Aisheng }; 29135f4e9d7SDong Aisheng 292f1d6a6b9SAlexander Stein adma_pwm_lpcg: clock-controller@5a590000 { 293f1d6a6b9SAlexander Stein compatible = "fsl,imx8qxp-lpcg"; 294f1d6a6b9SAlexander Stein reg = <0x5a590000 0x10000>; 295f1d6a6b9SAlexander Stein #clock-cells = <1>; 296f1d6a6b9SAlexander Stein clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>, 297f1d6a6b9SAlexander Stein <&dma_ipg_clk>; 298f1d6a6b9SAlexander Stein clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 299f1d6a6b9SAlexander Stein clock-output-names = "adma_pwm_lpcg_clk", 300f1d6a6b9SAlexander Stein "adma_pwm_lpcg_ipg_clk"; 301f1d6a6b9SAlexander Stein power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 302f1d6a6b9SAlexander Stein }; 303f1d6a6b9SAlexander Stein 30435f4e9d7SDong Aisheng i2c0: i2c@5a800000 { 30535f4e9d7SDong Aisheng reg = <0x5a800000 0x4000>; 30635f4e9d7SDong Aisheng interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 307b57f7d21SPeng Fan clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>, 308b57f7d21SPeng Fan <&i2c0_lpcg IMX_LPCG_CLK_4>; 309b57f7d21SPeng Fan clock-names = "per", "ipg"; 31035f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>; 31135f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 31235f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_0>; 31335f4e9d7SDong Aisheng status = "disabled"; 31435f4e9d7SDong Aisheng }; 31535f4e9d7SDong Aisheng 31635f4e9d7SDong Aisheng i2c1: i2c@5a810000 { 31735f4e9d7SDong Aisheng reg = <0x5a810000 0x4000>; 31835f4e9d7SDong Aisheng interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 319b57f7d21SPeng Fan clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>, 320b57f7d21SPeng Fan <&i2c1_lpcg IMX_LPCG_CLK_4>; 321b57f7d21SPeng Fan clock-names = "per", "ipg"; 32235f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>; 32335f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 32435f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_1>; 32535f4e9d7SDong Aisheng status = "disabled"; 32635f4e9d7SDong Aisheng }; 32735f4e9d7SDong Aisheng 32835f4e9d7SDong Aisheng i2c2: i2c@5a820000 { 32935f4e9d7SDong Aisheng reg = <0x5a820000 0x4000>; 33035f4e9d7SDong Aisheng interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 331b57f7d21SPeng Fan clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>, 332b57f7d21SPeng Fan <&i2c2_lpcg IMX_LPCG_CLK_4>; 333b57f7d21SPeng Fan clock-names = "per", "ipg"; 33435f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>; 33535f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 33635f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_2>; 33735f4e9d7SDong Aisheng status = "disabled"; 33835f4e9d7SDong Aisheng }; 33935f4e9d7SDong Aisheng 34035f4e9d7SDong Aisheng i2c3: i2c@5a830000 { 34135f4e9d7SDong Aisheng reg = <0x5a830000 0x4000>; 34235f4e9d7SDong Aisheng interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 343b57f7d21SPeng Fan clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>, 344b57f7d21SPeng Fan <&i2c3_lpcg IMX_LPCG_CLK_4>; 345b57f7d21SPeng Fan clock-names = "per", "ipg"; 34635f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>; 34735f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 34835f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_3>; 34935f4e9d7SDong Aisheng status = "disabled"; 35035f4e9d7SDong Aisheng }; 35135f4e9d7SDong Aisheng 3521db044b2SFrank Li adc0: adc@5a880000 { 3531db044b2SFrank Li compatible = "nxp,imx8qxp-adc"; 354b503c3c0SMax Krummenacher #io-channel-cells = <1>; 3551db044b2SFrank Li reg = <0x5a880000 0x10000>; 3561db044b2SFrank Li interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; 3571db044b2SFrank Li interrupt-parent = <&gic>; 3581db044b2SFrank Li clocks = <&adc0_lpcg 0>, 3591db044b2SFrank Li <&adc0_lpcg 1>; 3601db044b2SFrank Li clock-names = "per", "ipg"; 3611db044b2SFrank Li assigned-clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>; 3621db044b2SFrank Li assigned-clock-rates = <24000000>; 3631db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_0>; 3641db044b2SFrank Li status = "disabled"; 3651db044b2SFrank Li }; 3661db044b2SFrank Li 3671db044b2SFrank Li adc1: adc@5a890000 { 3681db044b2SFrank Li compatible = "nxp,imx8qxp-adc"; 369b503c3c0SMax Krummenacher #io-channel-cells = <1>; 3701db044b2SFrank Li reg = <0x5a890000 0x10000>; 3711db044b2SFrank Li interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 3721db044b2SFrank Li interrupt-parent = <&gic>; 3731db044b2SFrank Li clocks = <&adc1_lpcg 0>, 3741db044b2SFrank Li <&adc1_lpcg 1>; 3751db044b2SFrank Li clock-names = "per", "ipg"; 3761db044b2SFrank Li assigned-clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>; 3771db044b2SFrank Li assigned-clock-rates = <24000000>; 3781db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_1>; 3791db044b2SFrank Li status = "disabled"; 3801db044b2SFrank Li }; 3811db044b2SFrank Li 3825e7d5b02SJoakim Zhang flexcan1: can@5a8d0000 { 3835e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 3845e7d5b02SJoakim Zhang reg = <0x5a8d0000 0x10000>; 3855e7d5b02SJoakim Zhang interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>; 3865e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 3875e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 3885e7d5b02SJoakim Zhang <&can0_lpcg 0>; 3895e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 3905e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 3915e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 3925e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_0>; 3935e7d5b02SJoakim Zhang /* SLSlice[4] */ 3945e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 3955e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <0>; 3965e7d5b02SJoakim Zhang status = "disabled"; 3975e7d5b02SJoakim Zhang }; 3985e7d5b02SJoakim Zhang 3995e7d5b02SJoakim Zhang flexcan2: can@5a8e0000 { 4005e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 4015e7d5b02SJoakim Zhang reg = <0x5a8e0000 0x10000>; 4025e7d5b02SJoakim Zhang interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>; 4035e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 4045e7d5b02SJoakim Zhang /* CAN0 clock and PD is shared among all CAN instances as 4055e7d5b02SJoakim Zhang * CAN1 shares CAN0's clock and to enable CAN0's clock it 4065e7d5b02SJoakim Zhang * has to be powered on. 4075e7d5b02SJoakim Zhang */ 4085e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 4095e7d5b02SJoakim Zhang <&can0_lpcg 0>; 4105e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 4115e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 4125e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 4135e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_1>; 4145e7d5b02SJoakim Zhang /* SLSlice[4] */ 4155e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 4165e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <1>; 4175e7d5b02SJoakim Zhang status = "disabled"; 4185e7d5b02SJoakim Zhang }; 4195e7d5b02SJoakim Zhang 4205e7d5b02SJoakim Zhang flexcan3: can@5a8f0000 { 4215e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 4225e7d5b02SJoakim Zhang reg = <0x5a8f0000 0x10000>; 4235e7d5b02SJoakim Zhang interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>; 4245e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 4255e7d5b02SJoakim Zhang /* CAN0 clock and PD is shared among all CAN instances as 4265e7d5b02SJoakim Zhang * CAN2 shares CAN0's clock and to enable CAN0's clock it 4275e7d5b02SJoakim Zhang * has to be powered on. 4285e7d5b02SJoakim Zhang */ 4295e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 4305e7d5b02SJoakim Zhang <&can0_lpcg 0>; 4315e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 4325e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 4335e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 4345e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_2>; 4355e7d5b02SJoakim Zhang /* SLSlice[4] */ 4365e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 4375e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <2>; 4385e7d5b02SJoakim Zhang status = "disabled"; 4395e7d5b02SJoakim Zhang }; 4405e7d5b02SJoakim Zhang 44130567925SAlexander Stein edma3: dma-controller@5a9f0000 { 44230567925SAlexander Stein compatible = "fsl,imx8qm-edma"; 44330567925SAlexander Stein reg = <0x5a9f0000 0x90000>; 44430567925SAlexander Stein #dma-cells = <3>; 44530567925SAlexander Stein dma-channels = <8>; 44630567925SAlexander Stein interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 44730567925SAlexander Stein <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>, 44830567925SAlexander Stein <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>, 44930567925SAlexander Stein <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>, 45030567925SAlexander Stein <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>, 45130567925SAlexander Stein <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, 45230567925SAlexander Stein <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>, 45330567925SAlexander Stein <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>; 45430567925SAlexander Stein power-domains = <&pd IMX_SC_R_DMA_3_CH0>, 45530567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH1>, 45630567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH2>, 45730567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH3>, 45830567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH4>, 45930567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH5>, 46030567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH6>, 46130567925SAlexander Stein <&pd IMX_SC_R_DMA_3_CH7>; 46230567925SAlexander Stein }; 46330567925SAlexander Stein 46435f4e9d7SDong Aisheng i2c0_lpcg: clock-controller@5ac00000 { 46535f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 46635f4e9d7SDong Aisheng reg = <0x5ac00000 0x10000>; 46735f4e9d7SDong Aisheng #clock-cells = <1>; 46835f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>, 46935f4e9d7SDong Aisheng <&dma_ipg_clk>; 47035f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 47135f4e9d7SDong Aisheng clock-output-names = "i2c0_lpcg_clk", 47235f4e9d7SDong Aisheng "i2c0_lpcg_ipg_clk"; 47335f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_0>; 47435f4e9d7SDong Aisheng }; 47535f4e9d7SDong Aisheng 47635f4e9d7SDong Aisheng i2c1_lpcg: clock-controller@5ac10000 { 47735f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 47835f4e9d7SDong Aisheng reg = <0x5ac10000 0x10000>; 47935f4e9d7SDong Aisheng #clock-cells = <1>; 48035f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>, 48135f4e9d7SDong Aisheng <&dma_ipg_clk>; 48235f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 48335f4e9d7SDong Aisheng clock-output-names = "i2c1_lpcg_clk", 48435f4e9d7SDong Aisheng "i2c1_lpcg_ipg_clk"; 48535f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_1>; 48635f4e9d7SDong Aisheng }; 48735f4e9d7SDong Aisheng 48835f4e9d7SDong Aisheng i2c2_lpcg: clock-controller@5ac20000 { 48935f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 49035f4e9d7SDong Aisheng reg = <0x5ac20000 0x10000>; 49135f4e9d7SDong Aisheng #clock-cells = <1>; 49235f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>, 49335f4e9d7SDong Aisheng <&dma_ipg_clk>; 49435f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 49535f4e9d7SDong Aisheng clock-output-names = "i2c2_lpcg_clk", 49635f4e9d7SDong Aisheng "i2c2_lpcg_ipg_clk"; 49735f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_2>; 49835f4e9d7SDong Aisheng }; 49935f4e9d7SDong Aisheng 50035f4e9d7SDong Aisheng i2c3_lpcg: clock-controller@5ac30000 { 50135f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 50235f4e9d7SDong Aisheng reg = <0x5ac30000 0x10000>; 50335f4e9d7SDong Aisheng #clock-cells = <1>; 50435f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>, 50535f4e9d7SDong Aisheng <&dma_ipg_clk>; 50635f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 50735f4e9d7SDong Aisheng clock-output-names = "i2c3_lpcg_clk", 50835f4e9d7SDong Aisheng "i2c3_lpcg_ipg_clk"; 50935f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_3>; 51035f4e9d7SDong Aisheng }; 5111db044b2SFrank Li 5121db044b2SFrank Li adc0_lpcg: clock-controller@5ac80000 { 5131db044b2SFrank Li compatible = "fsl,imx8qxp-lpcg"; 5141db044b2SFrank Li reg = <0x5ac80000 0x10000>; 5151db044b2SFrank Li #clock-cells = <1>; 5161db044b2SFrank Li clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>, 5171db044b2SFrank Li <&dma_ipg_clk>; 5181db044b2SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 5191db044b2SFrank Li clock-output-names = "adc0_lpcg_clk", 5201db044b2SFrank Li "adc0_lpcg_ipg_clk"; 5211db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_0>; 5221db044b2SFrank Li }; 5231db044b2SFrank Li 5241db044b2SFrank Li adc1_lpcg: clock-controller@5ac90000 { 5251db044b2SFrank Li compatible = "fsl,imx8qxp-lpcg"; 5261db044b2SFrank Li reg = <0x5ac90000 0x10000>; 5271db044b2SFrank Li #clock-cells = <1>; 5281db044b2SFrank Li clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>, 5291db044b2SFrank Li <&dma_ipg_clk>; 5301db044b2SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 5311db044b2SFrank Li clock-output-names = "adc1_lpcg_clk", 5321db044b2SFrank Li "adc1_lpcg_ipg_clk"; 5331db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_1>; 5341db044b2SFrank Li }; 5355e7d5b02SJoakim Zhang 5365e7d5b02SJoakim Zhang can0_lpcg: clock-controller@5acd0000 { 5375e7d5b02SJoakim Zhang compatible = "fsl,imx8qxp-lpcg"; 5385e7d5b02SJoakim Zhang reg = <0x5acd0000 0x10000>; 5395e7d5b02SJoakim Zhang #clock-cells = <1>; 5405e7d5b02SJoakim Zhang clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>, 5415e7d5b02SJoakim Zhang <&dma_ipg_clk>, <&dma_ipg_clk>; 5425e7d5b02SJoakim Zhang clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>; 5435e7d5b02SJoakim Zhang clock-output-names = "can0_lpcg_pe_clk", 5445e7d5b02SJoakim Zhang "can0_lpcg_ipg_clk", 5455e7d5b02SJoakim Zhang "can0_lpcg_chi_clk"; 5465e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_0>; 5475e7d5b02SJoakim Zhang }; 54835f4e9d7SDong Aisheng}; 549