15f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 25f62a964SEmmanuel Vadot/* 35f62a964SEmmanuel Vadot * Copyright 2024 NXP 45f62a964SEmmanuel Vadot * 55f62a964SEmmanuel Vadot * Richard Zhu <hongxing.zhu@nxp.com> 65f62a964SEmmanuel Vadot */ 75f62a964SEmmanuel Vadot#include <dt-bindings/phy/phy.h> 85f62a964SEmmanuel Vadot 95f62a964SEmmanuel Vadothsio_axi_clk: clock-hsio-axi { 105f62a964SEmmanuel Vadot compatible = "fixed-clock"; 115f62a964SEmmanuel Vadot #clock-cells = <0>; 125f62a964SEmmanuel Vadot clock-frequency = <400000000>; 135f62a964SEmmanuel Vadot clock-output-names = "hsio_axi_clk"; 145f62a964SEmmanuel Vadot}; 155f62a964SEmmanuel Vadot 165f62a964SEmmanuel Vadothsio_per_clk: clock-hsio-per { 175f62a964SEmmanuel Vadot compatible = "fixed-clock"; 185f62a964SEmmanuel Vadot #clock-cells = <0>; 195f62a964SEmmanuel Vadot clock-frequency = <133333333>; 205f62a964SEmmanuel Vadot clock-output-names = "hsio_per_clk"; 215f62a964SEmmanuel Vadot}; 225f62a964SEmmanuel Vadot 235f62a964SEmmanuel Vadothsio_refa_clk: clock-hsio-refa { 245f62a964SEmmanuel Vadot compatible = "gpio-gate-clock"; 255f62a964SEmmanuel Vadot clocks = <&xtal100m>; 265f62a964SEmmanuel Vadot #clock-cells = <0>; 275f62a964SEmmanuel Vadot enable-gpios = <&lsio_gpio4 27 GPIO_ACTIVE_LOW>; 285f62a964SEmmanuel Vadot}; 295f62a964SEmmanuel Vadot 305f62a964SEmmanuel Vadothsio_refb_clk: clock-hsio-refb { 315f62a964SEmmanuel Vadot compatible = "gpio-gate-clock"; 325f62a964SEmmanuel Vadot clocks = <&xtal100m>; 335f62a964SEmmanuel Vadot #clock-cells = <0>; 345f62a964SEmmanuel Vadot enable-gpios = <&lsio_gpio4 1 GPIO_ACTIVE_LOW>; 355f62a964SEmmanuel Vadot}; 365f62a964SEmmanuel Vadot 375f62a964SEmmanuel Vadotxtal100m: clock-xtal100m { 385f62a964SEmmanuel Vadot compatible = "fixed-clock"; 395f62a964SEmmanuel Vadot #clock-cells = <0>; 405f62a964SEmmanuel Vadot clock-frequency = <100000000>; 415f62a964SEmmanuel Vadot clock-output-names = "xtal_100MHz"; 425f62a964SEmmanuel Vadot}; 435f62a964SEmmanuel Vadot 445f62a964SEmmanuel Vadothsio_subsys: bus@5f000000 { 455f62a964SEmmanuel Vadot compatible = "simple-bus"; 465f62a964SEmmanuel Vadot ranges = <0x5f000000 0x0 0x5f000000 0x01000000>, 475f62a964SEmmanuel Vadot <0x80000000 0x0 0x70000000 0x10000000>; 485f62a964SEmmanuel Vadot #address-cells = <1>; 495f62a964SEmmanuel Vadot #size-cells = <1>; 505f62a964SEmmanuel Vadot dma-ranges = <0x80000000 0 0x80000000 0x80000000>; 515f62a964SEmmanuel Vadot 525f62a964SEmmanuel Vadot pcieb: pcie@5f010000 { 535f62a964SEmmanuel Vadot compatible = "fsl,imx8q-pcie"; 545f62a964SEmmanuel Vadot reg = <0x5f010000 0x10000>, 555f62a964SEmmanuel Vadot <0x8ff00000 0x80000>; 565f62a964SEmmanuel Vadot reg-names = "dbi", "config"; 575f62a964SEmmanuel Vadot ranges = <0x81000000 0 0x00000000 0x8ff80000 0 0x00010000>, 585f62a964SEmmanuel Vadot <0x82000000 0 0x80000000 0x80000000 0 0x0ff00000>; 595f62a964SEmmanuel Vadot #interrupt-cells = <1>; 60*8ccc0d23SEmmanuel Vadot interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 61*8ccc0d23SEmmanuel Vadot <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 62*8ccc0d23SEmmanuel Vadot interrupt-names = "msi", "dma"; 635f62a964SEmmanuel Vadot #address-cells = <3>; 645f62a964SEmmanuel Vadot #size-cells = <2>; 655f62a964SEmmanuel Vadot clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>, 665f62a964SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_4>, 675f62a964SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_5>; 685f62a964SEmmanuel Vadot clock-names = "dbi", "mstr", "slv"; 695f62a964SEmmanuel Vadot bus-range = <0x00 0xff>; 705f62a964SEmmanuel Vadot device_type = "pci"; 715f62a964SEmmanuel Vadot interrupt-map = <0 0 0 1 &gic 0 105 4>, 725f62a964SEmmanuel Vadot <0 0 0 2 &gic 0 106 4>, 735f62a964SEmmanuel Vadot <0 0 0 3 &gic 0 107 4>, 745f62a964SEmmanuel Vadot <0 0 0 4 &gic 0 108 4>; 755f62a964SEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 765f62a964SEmmanuel Vadot num-lanes = <1>; 775f62a964SEmmanuel Vadot num-viewport = <4>; 785f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 795f62a964SEmmanuel Vadot fsl,max-link-speed = <3>; 805f62a964SEmmanuel Vadot status = "disabled"; 815f62a964SEmmanuel Vadot }; 825f62a964SEmmanuel Vadot 83*8ccc0d23SEmmanuel Vadot pcieb_ep: pcie-ep@5f010000 { 84*8ccc0d23SEmmanuel Vadot compatible = "fsl,imx8q-pcie-ep"; 85*8ccc0d23SEmmanuel Vadot reg = <0x5f010000 0x00010000>, 86*8ccc0d23SEmmanuel Vadot <0x80000000 0x10000000>; 87*8ccc0d23SEmmanuel Vadot reg-names = "dbi", "addr_space"; 88*8ccc0d23SEmmanuel Vadot num-lanes = <1>; 89*8ccc0d23SEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 90*8ccc0d23SEmmanuel Vadot interrupt-names = "dma"; 91*8ccc0d23SEmmanuel Vadot clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>, 92*8ccc0d23SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_4>, 93*8ccc0d23SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_5>; 94*8ccc0d23SEmmanuel Vadot clock-names = "dbi", "mstr", "slv"; 95*8ccc0d23SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 96*8ccc0d23SEmmanuel Vadot fsl,max-link-speed = <3>; 97*8ccc0d23SEmmanuel Vadot num-ib-windows = <6>; 98*8ccc0d23SEmmanuel Vadot num-ob-windows = <6>; 99*8ccc0d23SEmmanuel Vadot status = "disabled"; 100*8ccc0d23SEmmanuel Vadot }; 101*8ccc0d23SEmmanuel Vadot 1025f62a964SEmmanuel Vadot pcieb_lpcg: clock-controller@5f060000 { 1035f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 1045f62a964SEmmanuel Vadot reg = <0x5f060000 0x10000>; 1055f62a964SEmmanuel Vadot clocks = <&hsio_axi_clk>, <&hsio_axi_clk>, <&hsio_axi_clk>; 1065f62a964SEmmanuel Vadot #clock-cells = <1>; 1075f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>, <IMX_LPCG_CLK_6>; 1085f62a964SEmmanuel Vadot clock-output-names = "hsio_pcieb_mstr_axi_clk", 1095f62a964SEmmanuel Vadot "hsio_pcieb_slv_axi_clk", 1105f62a964SEmmanuel Vadot "hsio_pcieb_dbi_axi_clk"; 1115f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 1125f62a964SEmmanuel Vadot }; 1135f62a964SEmmanuel Vadot 1145f62a964SEmmanuel Vadot phyx1_crr1_lpcg: clock-controller@5f0b0000 { 1155f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 1165f62a964SEmmanuel Vadot reg = <0x5f0b0000 0x10000>; 1175f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 1185f62a964SEmmanuel Vadot #clock-cells = <1>; 1195f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 1205f62a964SEmmanuel Vadot clock-output-names = "hsio_phyx1_per_clk"; 1215f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_SERDES_1>; 1225f62a964SEmmanuel Vadot }; 1235f62a964SEmmanuel Vadot 1245f62a964SEmmanuel Vadot pcieb_crr3_lpcg: clock-controller@5f0d0000 { 1255f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 1265f62a964SEmmanuel Vadot reg = <0x5f0d0000 0x10000>; 1275f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 1285f62a964SEmmanuel Vadot #clock-cells = <1>; 1295f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 1305f62a964SEmmanuel Vadot clock-output-names = "hsio_pcieb_per_clk"; 1315f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 1325f62a964SEmmanuel Vadot }; 1335f62a964SEmmanuel Vadot 1345f62a964SEmmanuel Vadot misc_crr5_lpcg: clock-controller@5f0f0000 { 1355f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 1365f62a964SEmmanuel Vadot reg = <0x5f0f0000 0x10000>; 1375f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 1385f62a964SEmmanuel Vadot #clock-cells = <1>; 1395f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 1405f62a964SEmmanuel Vadot clock-output-names = "hsio_misc_per_clk"; 1415f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_HSIO_GPIO>; 1425f62a964SEmmanuel Vadot }; 1435f62a964SEmmanuel Vadot}; 144