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