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> 835f4e9d7SDong Aisheng#include <dt-bindings/firmware/imx/rsrc.h> 935f4e9d7SDong Aisheng 1035f4e9d7SDong Aishengdma_ipg_clk: clock-dma-ipg { 1135f4e9d7SDong Aisheng compatible = "fixed-clock"; 1235f4e9d7SDong Aisheng #clock-cells = <0>; 1335f4e9d7SDong Aisheng clock-frequency = <120000000>; 1435f4e9d7SDong Aisheng clock-output-names = "dma_ipg_clk"; 1535f4e9d7SDong Aisheng}; 1635f4e9d7SDong Aisheng 179a69f768SFabio Estevamdma_subsys: bus@5a000000 { 189a69f768SFabio Estevam compatible = "simple-bus"; 199a69f768SFabio Estevam #address-cells = <1>; 209a69f768SFabio Estevam #size-cells = <1>; 219a69f768SFabio Estevam ranges = <0x5a000000 0x0 0x5a000000 0x1000000>; 229a69f768SFabio Estevam 23c4098885SFrank Li lpspi0: spi@5a000000 { 24c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 25c4098885SFrank Li reg = <0x5a000000 0x10000>; 26c4098885SFrank Li #address-cells = <1>; 27c4098885SFrank Li #size-cells = <0>; 28c4098885SFrank Li interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>; 29c4098885SFrank Li interrupt-parent = <&gic>; 30c4098885SFrank Li clocks = <&spi0_lpcg 0>, 31c4098885SFrank Li <&spi0_lpcg 1>; 32c4098885SFrank Li clock-names = "per", "ipg"; 33c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>; 34033f5e7eSPhilippe Schenker assigned-clock-rates = <60000000>; 35c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_0>; 36c4098885SFrank Li status = "disabled"; 37c4098885SFrank Li }; 38c4098885SFrank Li 39c4098885SFrank Li lpspi1: spi@5a010000 { 40c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 41c4098885SFrank Li reg = <0x5a010000 0x10000>; 42c4098885SFrank Li #address-cells = <1>; 43c4098885SFrank Li #size-cells = <0>; 44c4098885SFrank Li interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 45c4098885SFrank Li interrupt-parent = <&gic>; 46c4098885SFrank Li clocks = <&spi1_lpcg 0>, 47c4098885SFrank Li <&spi1_lpcg 1>; 48c4098885SFrank Li clock-names = "per", "ipg"; 49c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>; 50c4098885SFrank Li assigned-clock-rates = <60000000>; 51c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_1>; 52c4098885SFrank Li status = "disabled"; 53c4098885SFrank Li }; 54c4098885SFrank Li 55c4098885SFrank Li lpspi2: spi@5a020000 { 56c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 57c4098885SFrank Li reg = <0x5a020000 0x10000>; 58c4098885SFrank Li #address-cells = <1>; 59c4098885SFrank Li #size-cells = <0>; 60c4098885SFrank Li interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; 61c4098885SFrank Li interrupt-parent = <&gic>; 62c4098885SFrank Li clocks = <&spi2_lpcg 0>, 63c4098885SFrank Li <&spi2_lpcg 1>; 64c4098885SFrank Li clock-names = "per", "ipg"; 65c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>; 66c4098885SFrank Li assigned-clock-rates = <60000000>; 67c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_2>; 68c4098885SFrank Li status = "disabled"; 69c4098885SFrank Li }; 70c4098885SFrank Li 71c4098885SFrank Li lpspi3: spi@5a030000 { 72c4098885SFrank Li compatible = "fsl,imx7ulp-spi"; 73c4098885SFrank Li reg = <0x5a030000 0x10000>; 74c4098885SFrank Li #address-cells = <1>; 75c4098885SFrank Li #size-cells = <0>; 76c4098885SFrank Li interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 77c4098885SFrank Li interrupt-parent = <&gic>; 78c4098885SFrank Li clocks = <&spi3_lpcg 0>, 79c4098885SFrank Li <&spi3_lpcg 1>; 80c4098885SFrank Li clock-names = "per", "ipg"; 81c4098885SFrank Li assigned-clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>; 82c4098885SFrank Li assigned-clock-rates = <60000000>; 83c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_3>; 84c4098885SFrank Li status = "disabled"; 85c4098885SFrank Li }; 86c4098885SFrank Li 8735f4e9d7SDong Aisheng lpuart0: serial@5a060000 { 8835f4e9d7SDong Aisheng reg = <0x5a060000 0x1000>; 89e0d5a28bSFrank Li interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 9035f4e9d7SDong Aisheng clocks = <&uart0_lpcg IMX_LPCG_CLK_4>, 9135f4e9d7SDong Aisheng <&uart0_lpcg IMX_LPCG_CLK_0>; 9235f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 93ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>; 94ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 9535f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_0>; 96eee3cad9SFrank Li dma-names = "tx","rx"; 97eee3cad9SFrank Li dmas = <&edma2 9 0 0>, <&edma2 8 0 1>; 9835f4e9d7SDong Aisheng status = "disabled"; 9935f4e9d7SDong Aisheng }; 10035f4e9d7SDong Aisheng 10135f4e9d7SDong Aisheng lpuart1: serial@5a070000 { 10235f4e9d7SDong Aisheng reg = <0x5a070000 0x1000>; 103e0d5a28bSFrank Li interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 10435f4e9d7SDong Aisheng clocks = <&uart1_lpcg IMX_LPCG_CLK_4>, 10535f4e9d7SDong Aisheng <&uart1_lpcg IMX_LPCG_CLK_0>; 10635f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 107ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>; 108ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 10935f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_1>; 110eee3cad9SFrank Li dma-names = "tx","rx"; 111eee3cad9SFrank Li dmas = <&edma2 11 0 0>, <&edma2 10 0 1>; 11235f4e9d7SDong Aisheng status = "disabled"; 11335f4e9d7SDong Aisheng }; 11435f4e9d7SDong Aisheng 11535f4e9d7SDong Aisheng lpuart2: serial@5a080000 { 11635f4e9d7SDong Aisheng reg = <0x5a080000 0x1000>; 117e0d5a28bSFrank Li interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 11835f4e9d7SDong Aisheng clocks = <&uart2_lpcg IMX_LPCG_CLK_4>, 11935f4e9d7SDong Aisheng <&uart2_lpcg IMX_LPCG_CLK_0>; 12035f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 121ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>; 122ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 12335f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_2>; 124eee3cad9SFrank Li dma-names = "tx","rx"; 125eee3cad9SFrank Li dmas = <&edma2 13 0 0>, <&edma2 12 0 1>; 12635f4e9d7SDong Aisheng status = "disabled"; 12735f4e9d7SDong Aisheng }; 12835f4e9d7SDong Aisheng 12935f4e9d7SDong Aisheng lpuart3: serial@5a090000 { 13035f4e9d7SDong Aisheng reg = <0x5a090000 0x1000>; 131e0d5a28bSFrank Li interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>; 13235f4e9d7SDong Aisheng clocks = <&uart3_lpcg IMX_LPCG_CLK_4>, 13335f4e9d7SDong Aisheng <&uart3_lpcg IMX_LPCG_CLK_0>; 13435f4e9d7SDong Aisheng clock-names = "ipg", "baud"; 135ca50d776SShenwei Wang assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>; 136ca50d776SShenwei Wang assigned-clock-rates = <80000000>; 13735f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_3>; 138eee3cad9SFrank Li dma-names = "tx","rx"; 139eee3cad9SFrank Li dmas = <&edma2 15 0 0>, <&edma2 14 0 1>; 14035f4e9d7SDong Aisheng status = "disabled"; 14135f4e9d7SDong Aisheng }; 14235f4e9d7SDong Aisheng 143f1d6a6b9SAlexander Stein adma_pwm: pwm@5a190000 { 144f1d6a6b9SAlexander Stein compatible = "fsl,imx8qxp-pwm", "fsl,imx27-pwm"; 145f1d6a6b9SAlexander Stein reg = <0x5a190000 0x1000>; 146f1d6a6b9SAlexander Stein interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 147f1d6a6b9SAlexander Stein clocks = <&adma_pwm_lpcg 1>, 148f1d6a6b9SAlexander Stein <&adma_pwm_lpcg 0>; 149f1d6a6b9SAlexander Stein clock-names = "ipg", "per"; 150f1d6a6b9SAlexander Stein assigned-clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>; 151f1d6a6b9SAlexander Stein assigned-clock-rates = <24000000>; 152*7cef7c0bSAlexander Stein #pwm-cells = <3>; 153f1d6a6b9SAlexander Stein power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 154f1d6a6b9SAlexander Stein }; 155f1d6a6b9SAlexander Stein 156e4d7a330SFrank Li edma2: dma-controller@5a1f0000 { 157e4d7a330SFrank Li compatible = "fsl,imx8qm-edma"; 158e4d7a330SFrank Li reg = <0x5a1f0000 0x170000>; 159e4d7a330SFrank Li #dma-cells = <3>; 160e4d7a330SFrank Li dma-channels = <16>; 161e4d7a330SFrank Li interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 162e4d7a330SFrank Li <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 163e4d7a330SFrank Li <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 164e4d7a330SFrank Li <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 165e4d7a330SFrank Li <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 166e4d7a330SFrank Li <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 167e4d7a330SFrank Li <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 168e4d7a330SFrank Li <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 169e4d7a330SFrank Li <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>, 170e4d7a330SFrank Li <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>, 171e4d7a330SFrank Li <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>, 172e4d7a330SFrank Li <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>, 173e4d7a330SFrank Li <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, 174e4d7a330SFrank Li <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, 175e4d7a330SFrank Li <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>, 176e4d7a330SFrank Li <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>; 177e4d7a330SFrank Li power-domains = <&pd IMX_SC_R_DMA_2_CH0>, 178e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH1>, 179e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH2>, 180e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH3>, 181e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH4>, 182e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH5>, 183e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH6>, 184e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH7>, 185e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH8>, 186e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH9>, 187e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH10>, 188e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH11>, 189e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH12>, 190e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH13>, 191e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH14>, 192e4d7a330SFrank Li <&pd IMX_SC_R_DMA_2_CH15>; 193e4d7a330SFrank Li }; 194e4d7a330SFrank Li 195e4d7a330SFrank Li edma3: dma-controller@5a9f0000 { 196e4d7a330SFrank Li compatible = "fsl,imx8qm-edma"; 197e4d7a330SFrank Li reg = <0x5a9f0000 0x90000>; 198e4d7a330SFrank Li #dma-cells = <3>; 199e4d7a330SFrank Li dma-channels = <8>; 200e4d7a330SFrank Li interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 201e4d7a330SFrank Li <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>, 202e4d7a330SFrank Li <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>, 203e4d7a330SFrank Li <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>, 204e4d7a330SFrank Li <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>, 205e4d7a330SFrank Li <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>, 206e4d7a330SFrank Li <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>, 207e4d7a330SFrank Li <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>; 208e4d7a330SFrank Li power-domains = <&pd IMX_SC_R_DMA_3_CH0>, 209e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH1>, 210e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH2>, 211e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH3>, 212e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH4>, 213e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH5>, 214e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH6>, 215e4d7a330SFrank Li <&pd IMX_SC_R_DMA_3_CH7>; 216e4d7a330SFrank Li }; 217e4d7a330SFrank Li 218c4098885SFrank Li spi0_lpcg: clock-controller@5a400000 { 219c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 220c4098885SFrank Li reg = <0x5a400000 0x10000>; 221c4098885SFrank Li #clock-cells = <1>; 222c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_0 IMX_SC_PM_CLK_PER>, 223c4098885SFrank Li <&dma_ipg_clk>; 224c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 225c4098885SFrank Li clock-output-names = "spi0_lpcg_clk", 226c4098885SFrank Li "spi0_lpcg_ipg_clk"; 227c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_0>; 228c4098885SFrank Li }; 229c4098885SFrank Li 230c4098885SFrank Li spi1_lpcg: clock-controller@5a410000 { 231c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 232c4098885SFrank Li reg = <0x5a410000 0x10000>; 233c4098885SFrank Li #clock-cells = <1>; 234c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_1 IMX_SC_PM_CLK_PER>, 235c4098885SFrank Li <&dma_ipg_clk>; 236c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 237c4098885SFrank Li clock-output-names = "spi1_lpcg_clk", 238c4098885SFrank Li "spi1_lpcg_ipg_clk"; 239c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_1>; 240c4098885SFrank Li }; 241c4098885SFrank Li 242c4098885SFrank Li spi2_lpcg: clock-controller@5a420000 { 243c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 244c4098885SFrank Li reg = <0x5a420000 0x10000>; 245c4098885SFrank Li #clock-cells = <1>; 246c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_2 IMX_SC_PM_CLK_PER>, 247c4098885SFrank Li <&dma_ipg_clk>; 248c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 249c4098885SFrank Li clock-output-names = "spi2_lpcg_clk", 250c4098885SFrank Li "spi2_lpcg_ipg_clk"; 251c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_2>; 252c4098885SFrank Li }; 253c4098885SFrank Li 254c4098885SFrank Li spi3_lpcg: clock-controller@5a430000 { 255c4098885SFrank Li compatible = "fsl,imx8qxp-lpcg"; 256c4098885SFrank Li reg = <0x5a430000 0x10000>; 257c4098885SFrank Li #clock-cells = <1>; 258c4098885SFrank Li clocks = <&clk IMX_SC_R_SPI_3 IMX_SC_PM_CLK_PER>, 259c4098885SFrank Li <&dma_ipg_clk>; 260c4098885SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 261c4098885SFrank Li clock-output-names = "spi3_lpcg_clk", 262c4098885SFrank Li "spi3_lpcg_ipg_clk"; 263c4098885SFrank Li power-domains = <&pd IMX_SC_R_SPI_3>; 264c4098885SFrank Li }; 265c4098885SFrank Li 26635f4e9d7SDong Aisheng uart0_lpcg: clock-controller@5a460000 { 26735f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 26835f4e9d7SDong Aisheng reg = <0x5a460000 0x10000>; 26935f4e9d7SDong Aisheng #clock-cells = <1>; 27035f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>, 27135f4e9d7SDong Aisheng <&dma_ipg_clk>; 27235f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 27335f4e9d7SDong Aisheng clock-output-names = "uart0_lpcg_baud_clk", 27435f4e9d7SDong Aisheng "uart0_lpcg_ipg_clk"; 27535f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_0>; 27635f4e9d7SDong Aisheng }; 27735f4e9d7SDong Aisheng 27835f4e9d7SDong Aisheng uart1_lpcg: clock-controller@5a470000 { 27935f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 28035f4e9d7SDong Aisheng reg = <0x5a470000 0x10000>; 28135f4e9d7SDong Aisheng #clock-cells = <1>; 28235f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>, 28335f4e9d7SDong Aisheng <&dma_ipg_clk>; 28435f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 28535f4e9d7SDong Aisheng clock-output-names = "uart1_lpcg_baud_clk", 28635f4e9d7SDong Aisheng "uart1_lpcg_ipg_clk"; 28735f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_1>; 28835f4e9d7SDong Aisheng }; 28935f4e9d7SDong Aisheng 29035f4e9d7SDong Aisheng uart2_lpcg: clock-controller@5a480000 { 29135f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 29235f4e9d7SDong Aisheng reg = <0x5a480000 0x10000>; 29335f4e9d7SDong Aisheng #clock-cells = <1>; 29435f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>, 29535f4e9d7SDong Aisheng <&dma_ipg_clk>; 29635f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 29735f4e9d7SDong Aisheng clock-output-names = "uart2_lpcg_baud_clk", 29835f4e9d7SDong Aisheng "uart2_lpcg_ipg_clk"; 29935f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_2>; 30035f4e9d7SDong Aisheng }; 30135f4e9d7SDong Aisheng 30235f4e9d7SDong Aisheng uart3_lpcg: clock-controller@5a490000 { 30335f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 30435f4e9d7SDong Aisheng reg = <0x5a490000 0x10000>; 30535f4e9d7SDong Aisheng #clock-cells = <1>; 30635f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>, 30735f4e9d7SDong Aisheng <&dma_ipg_clk>; 30835f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 30935f4e9d7SDong Aisheng clock-output-names = "uart3_lpcg_baud_clk", 31035f4e9d7SDong Aisheng "uart3_lpcg_ipg_clk"; 31135f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_UART_3>; 31235f4e9d7SDong Aisheng }; 31335f4e9d7SDong Aisheng 314f1d6a6b9SAlexander Stein adma_pwm_lpcg: clock-controller@5a590000 { 315f1d6a6b9SAlexander Stein compatible = "fsl,imx8qxp-lpcg"; 316f1d6a6b9SAlexander Stein reg = <0x5a590000 0x10000>; 317f1d6a6b9SAlexander Stein #clock-cells = <1>; 318f1d6a6b9SAlexander Stein clocks = <&clk IMX_SC_R_LCD_0_PWM_0 IMX_SC_PM_CLK_PER>, 319f1d6a6b9SAlexander Stein <&dma_ipg_clk>; 320f1d6a6b9SAlexander Stein clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 321f1d6a6b9SAlexander Stein clock-output-names = "adma_pwm_lpcg_clk", 322f1d6a6b9SAlexander Stein "adma_pwm_lpcg_ipg_clk"; 323f1d6a6b9SAlexander Stein power-domains = <&pd IMX_SC_R_LCD_0_PWM_0>; 324f1d6a6b9SAlexander Stein }; 325f1d6a6b9SAlexander Stein 32635f4e9d7SDong Aisheng i2c0: i2c@5a800000 { 32735f4e9d7SDong Aisheng reg = <0x5a800000 0x4000>; 32835f4e9d7SDong Aisheng interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 329b57f7d21SPeng Fan clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>, 330b57f7d21SPeng Fan <&i2c0_lpcg IMX_LPCG_CLK_4>; 331b57f7d21SPeng Fan clock-names = "per", "ipg"; 33235f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>; 33335f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 33435f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_0>; 33535f4e9d7SDong Aisheng status = "disabled"; 33635f4e9d7SDong Aisheng }; 33735f4e9d7SDong Aisheng 33835f4e9d7SDong Aisheng i2c1: i2c@5a810000 { 33935f4e9d7SDong Aisheng reg = <0x5a810000 0x4000>; 34035f4e9d7SDong Aisheng interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 341b57f7d21SPeng Fan clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>, 342b57f7d21SPeng Fan <&i2c1_lpcg IMX_LPCG_CLK_4>; 343b57f7d21SPeng Fan clock-names = "per", "ipg"; 34435f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>; 34535f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 34635f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_1>; 34735f4e9d7SDong Aisheng status = "disabled"; 34835f4e9d7SDong Aisheng }; 34935f4e9d7SDong Aisheng 35035f4e9d7SDong Aisheng i2c2: i2c@5a820000 { 35135f4e9d7SDong Aisheng reg = <0x5a820000 0x4000>; 35235f4e9d7SDong Aisheng interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 353b57f7d21SPeng Fan clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>, 354b57f7d21SPeng Fan <&i2c2_lpcg IMX_LPCG_CLK_4>; 355b57f7d21SPeng Fan clock-names = "per", "ipg"; 35635f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>; 35735f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 35835f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_2>; 35935f4e9d7SDong Aisheng status = "disabled"; 36035f4e9d7SDong Aisheng }; 36135f4e9d7SDong Aisheng 36235f4e9d7SDong Aisheng i2c3: i2c@5a830000 { 36335f4e9d7SDong Aisheng reg = <0x5a830000 0x4000>; 36435f4e9d7SDong Aisheng interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 365b57f7d21SPeng Fan clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>, 366b57f7d21SPeng Fan <&i2c3_lpcg IMX_LPCG_CLK_4>; 367b57f7d21SPeng Fan clock-names = "per", "ipg"; 36835f4e9d7SDong Aisheng assigned-clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>; 36935f4e9d7SDong Aisheng assigned-clock-rates = <24000000>; 37035f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_3>; 37135f4e9d7SDong Aisheng status = "disabled"; 37235f4e9d7SDong Aisheng }; 37335f4e9d7SDong Aisheng 3741db044b2SFrank Li adc0: adc@5a880000 { 3751db044b2SFrank Li compatible = "nxp,imx8qxp-adc"; 376b503c3c0SMax Krummenacher #io-channel-cells = <1>; 3771db044b2SFrank Li reg = <0x5a880000 0x10000>; 3781db044b2SFrank Li interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; 3791db044b2SFrank Li interrupt-parent = <&gic>; 3801db044b2SFrank Li clocks = <&adc0_lpcg 0>, 3811db044b2SFrank Li <&adc0_lpcg 1>; 3821db044b2SFrank Li clock-names = "per", "ipg"; 3831db044b2SFrank Li assigned-clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>; 3841db044b2SFrank Li assigned-clock-rates = <24000000>; 3851db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_0>; 3861db044b2SFrank Li status = "disabled"; 3871db044b2SFrank Li }; 3881db044b2SFrank Li 3891db044b2SFrank Li adc1: adc@5a890000 { 3901db044b2SFrank Li compatible = "nxp,imx8qxp-adc"; 391b503c3c0SMax Krummenacher #io-channel-cells = <1>; 3921db044b2SFrank Li reg = <0x5a890000 0x10000>; 3931db044b2SFrank Li interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; 3941db044b2SFrank Li interrupt-parent = <&gic>; 3951db044b2SFrank Li clocks = <&adc1_lpcg 0>, 3961db044b2SFrank Li <&adc1_lpcg 1>; 3971db044b2SFrank Li clock-names = "per", "ipg"; 3981db044b2SFrank Li assigned-clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>; 3991db044b2SFrank Li assigned-clock-rates = <24000000>; 4001db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_1>; 4011db044b2SFrank Li status = "disabled"; 4021db044b2SFrank Li }; 4031db044b2SFrank Li 4045e7d5b02SJoakim Zhang flexcan1: can@5a8d0000 { 4055e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 4065e7d5b02SJoakim Zhang reg = <0x5a8d0000 0x10000>; 4075e7d5b02SJoakim Zhang interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>; 4085e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 4095e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 4105e7d5b02SJoakim Zhang <&can0_lpcg 0>; 4115e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 4125e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 4135e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 4145e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_0>; 4155e7d5b02SJoakim Zhang /* SLSlice[4] */ 4165e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 4175e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <0>; 4185e7d5b02SJoakim Zhang status = "disabled"; 4195e7d5b02SJoakim Zhang }; 4205e7d5b02SJoakim Zhang 4215e7d5b02SJoakim Zhang flexcan2: can@5a8e0000 { 4225e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 4235e7d5b02SJoakim Zhang reg = <0x5a8e0000 0x10000>; 4245e7d5b02SJoakim Zhang interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>; 4255e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 4265e7d5b02SJoakim Zhang /* CAN0 clock and PD is shared among all CAN instances as 4275e7d5b02SJoakim Zhang * CAN1 shares CAN0's clock and to enable CAN0's clock it 4285e7d5b02SJoakim Zhang * has to be powered on. 4295e7d5b02SJoakim Zhang */ 4305e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 4315e7d5b02SJoakim Zhang <&can0_lpcg 0>; 4325e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 4335e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 4345e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 4355e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_1>; 4365e7d5b02SJoakim Zhang /* SLSlice[4] */ 4375e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 4385e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <1>; 4395e7d5b02SJoakim Zhang status = "disabled"; 4405e7d5b02SJoakim Zhang }; 4415e7d5b02SJoakim Zhang 4425e7d5b02SJoakim Zhang flexcan3: can@5a8f0000 { 4435e7d5b02SJoakim Zhang compatible = "fsl,imx8qm-flexcan"; 4445e7d5b02SJoakim Zhang reg = <0x5a8f0000 0x10000>; 4455e7d5b02SJoakim Zhang interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>; 4465e7d5b02SJoakim Zhang interrupt-parent = <&gic>; 4475e7d5b02SJoakim Zhang /* CAN0 clock and PD is shared among all CAN instances as 4485e7d5b02SJoakim Zhang * CAN2 shares CAN0's clock and to enable CAN0's clock it 4495e7d5b02SJoakim Zhang * has to be powered on. 4505e7d5b02SJoakim Zhang */ 4515e7d5b02SJoakim Zhang clocks = <&can0_lpcg 1>, 4525e7d5b02SJoakim Zhang <&can0_lpcg 0>; 4535e7d5b02SJoakim Zhang clock-names = "ipg", "per"; 4545e7d5b02SJoakim Zhang assigned-clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>; 4555e7d5b02SJoakim Zhang assigned-clock-rates = <40000000>; 4565e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_2>; 4575e7d5b02SJoakim Zhang /* SLSlice[4] */ 4585e7d5b02SJoakim Zhang fsl,clk-source = /bits/ 8 <0>; 4595e7d5b02SJoakim Zhang fsl,scu-index = /bits/ 8 <2>; 4605e7d5b02SJoakim Zhang status = "disabled"; 4615e7d5b02SJoakim Zhang }; 4625e7d5b02SJoakim Zhang 46335f4e9d7SDong Aisheng i2c0_lpcg: clock-controller@5ac00000 { 46435f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 46535f4e9d7SDong Aisheng reg = <0x5ac00000 0x10000>; 46635f4e9d7SDong Aisheng #clock-cells = <1>; 46735f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>, 46835f4e9d7SDong Aisheng <&dma_ipg_clk>; 46935f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 47035f4e9d7SDong Aisheng clock-output-names = "i2c0_lpcg_clk", 47135f4e9d7SDong Aisheng "i2c0_lpcg_ipg_clk"; 47235f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_0>; 47335f4e9d7SDong Aisheng }; 47435f4e9d7SDong Aisheng 47535f4e9d7SDong Aisheng i2c1_lpcg: clock-controller@5ac10000 { 47635f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 47735f4e9d7SDong Aisheng reg = <0x5ac10000 0x10000>; 47835f4e9d7SDong Aisheng #clock-cells = <1>; 47935f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>, 48035f4e9d7SDong Aisheng <&dma_ipg_clk>; 48135f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 48235f4e9d7SDong Aisheng clock-output-names = "i2c1_lpcg_clk", 48335f4e9d7SDong Aisheng "i2c1_lpcg_ipg_clk"; 48435f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_1>; 48535f4e9d7SDong Aisheng }; 48635f4e9d7SDong Aisheng 48735f4e9d7SDong Aisheng i2c2_lpcg: clock-controller@5ac20000 { 48835f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 48935f4e9d7SDong Aisheng reg = <0x5ac20000 0x10000>; 49035f4e9d7SDong Aisheng #clock-cells = <1>; 49135f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>, 49235f4e9d7SDong Aisheng <&dma_ipg_clk>; 49335f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 49435f4e9d7SDong Aisheng clock-output-names = "i2c2_lpcg_clk", 49535f4e9d7SDong Aisheng "i2c2_lpcg_ipg_clk"; 49635f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_2>; 49735f4e9d7SDong Aisheng }; 49835f4e9d7SDong Aisheng 49935f4e9d7SDong Aisheng i2c3_lpcg: clock-controller@5ac30000 { 50035f4e9d7SDong Aisheng compatible = "fsl,imx8qxp-lpcg"; 50135f4e9d7SDong Aisheng reg = <0x5ac30000 0x10000>; 50235f4e9d7SDong Aisheng #clock-cells = <1>; 50335f4e9d7SDong Aisheng clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>, 50435f4e9d7SDong Aisheng <&dma_ipg_clk>; 50535f4e9d7SDong Aisheng clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 50635f4e9d7SDong Aisheng clock-output-names = "i2c3_lpcg_clk", 50735f4e9d7SDong Aisheng "i2c3_lpcg_ipg_clk"; 50835f4e9d7SDong Aisheng power-domains = <&pd IMX_SC_R_I2C_3>; 50935f4e9d7SDong Aisheng }; 5101db044b2SFrank Li 5111db044b2SFrank Li adc0_lpcg: clock-controller@5ac80000 { 5121db044b2SFrank Li compatible = "fsl,imx8qxp-lpcg"; 5131db044b2SFrank Li reg = <0x5ac80000 0x10000>; 5141db044b2SFrank Li #clock-cells = <1>; 5151db044b2SFrank Li clocks = <&clk IMX_SC_R_ADC_0 IMX_SC_PM_CLK_PER>, 5161db044b2SFrank Li <&dma_ipg_clk>; 5171db044b2SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 5181db044b2SFrank Li clock-output-names = "adc0_lpcg_clk", 5191db044b2SFrank Li "adc0_lpcg_ipg_clk"; 5201db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_0>; 5211db044b2SFrank Li }; 5221db044b2SFrank Li 5231db044b2SFrank Li adc1_lpcg: clock-controller@5ac90000 { 5241db044b2SFrank Li compatible = "fsl,imx8qxp-lpcg"; 5251db044b2SFrank Li reg = <0x5ac90000 0x10000>; 5261db044b2SFrank Li #clock-cells = <1>; 5271db044b2SFrank Li clocks = <&clk IMX_SC_R_ADC_1 IMX_SC_PM_CLK_PER>, 5281db044b2SFrank Li <&dma_ipg_clk>; 5291db044b2SFrank Li clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>; 5301db044b2SFrank Li clock-output-names = "adc1_lpcg_clk", 5311db044b2SFrank Li "adc1_lpcg_ipg_clk"; 5321db044b2SFrank Li power-domains = <&pd IMX_SC_R_ADC_1>; 5331db044b2SFrank Li }; 5345e7d5b02SJoakim Zhang 5355e7d5b02SJoakim Zhang can0_lpcg: clock-controller@5acd0000 { 5365e7d5b02SJoakim Zhang compatible = "fsl,imx8qxp-lpcg"; 5375e7d5b02SJoakim Zhang reg = <0x5acd0000 0x10000>; 5385e7d5b02SJoakim Zhang #clock-cells = <1>; 5395e7d5b02SJoakim Zhang clocks = <&clk IMX_SC_R_CAN_0 IMX_SC_PM_CLK_PER>, 5405e7d5b02SJoakim Zhang <&dma_ipg_clk>, <&dma_ipg_clk>; 5415e7d5b02SJoakim Zhang clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>; 5425e7d5b02SJoakim Zhang clock-output-names = "can0_lpcg_pe_clk", 5435e7d5b02SJoakim Zhang "can0_lpcg_ipg_clk", 5445e7d5b02SJoakim Zhang "can0_lpcg_chi_clk"; 5455e7d5b02SJoakim Zhang power-domains = <&pd IMX_SC_R_CAN_0>; 5465e7d5b02SJoakim Zhang }; 54735f4e9d7SDong Aisheng}; 548