1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*5f62a964SEmmanuel Vadot/* 3*5f62a964SEmmanuel Vadot * Copyright 2024 NXP 4*5f62a964SEmmanuel Vadot * 5*5f62a964SEmmanuel Vadot * Richard Zhu <hongxing.zhu@nxp.com> 6*5f62a964SEmmanuel Vadot */ 7*5f62a964SEmmanuel Vadot#include <dt-bindings/phy/phy.h> 8*5f62a964SEmmanuel Vadot 9*5f62a964SEmmanuel Vadothsio_axi_clk: clock-hsio-axi { 10*5f62a964SEmmanuel Vadot compatible = "fixed-clock"; 11*5f62a964SEmmanuel Vadot #clock-cells = <0>; 12*5f62a964SEmmanuel Vadot clock-frequency = <400000000>; 13*5f62a964SEmmanuel Vadot clock-output-names = "hsio_axi_clk"; 14*5f62a964SEmmanuel Vadot}; 15*5f62a964SEmmanuel Vadot 16*5f62a964SEmmanuel Vadothsio_per_clk: clock-hsio-per { 17*5f62a964SEmmanuel Vadot compatible = "fixed-clock"; 18*5f62a964SEmmanuel Vadot #clock-cells = <0>; 19*5f62a964SEmmanuel Vadot clock-frequency = <133333333>; 20*5f62a964SEmmanuel Vadot clock-output-names = "hsio_per_clk"; 21*5f62a964SEmmanuel Vadot}; 22*5f62a964SEmmanuel Vadot 23*5f62a964SEmmanuel Vadothsio_refa_clk: clock-hsio-refa { 24*5f62a964SEmmanuel Vadot compatible = "gpio-gate-clock"; 25*5f62a964SEmmanuel Vadot clocks = <&xtal100m>; 26*5f62a964SEmmanuel Vadot #clock-cells = <0>; 27*5f62a964SEmmanuel Vadot enable-gpios = <&lsio_gpio4 27 GPIO_ACTIVE_LOW>; 28*5f62a964SEmmanuel Vadot}; 29*5f62a964SEmmanuel Vadot 30*5f62a964SEmmanuel Vadothsio_refb_clk: clock-hsio-refb { 31*5f62a964SEmmanuel Vadot compatible = "gpio-gate-clock"; 32*5f62a964SEmmanuel Vadot clocks = <&xtal100m>; 33*5f62a964SEmmanuel Vadot #clock-cells = <0>; 34*5f62a964SEmmanuel Vadot enable-gpios = <&lsio_gpio4 1 GPIO_ACTIVE_LOW>; 35*5f62a964SEmmanuel Vadot}; 36*5f62a964SEmmanuel Vadot 37*5f62a964SEmmanuel Vadotxtal100m: clock-xtal100m { 38*5f62a964SEmmanuel Vadot compatible = "fixed-clock"; 39*5f62a964SEmmanuel Vadot #clock-cells = <0>; 40*5f62a964SEmmanuel Vadot clock-frequency = <100000000>; 41*5f62a964SEmmanuel Vadot clock-output-names = "xtal_100MHz"; 42*5f62a964SEmmanuel Vadot}; 43*5f62a964SEmmanuel Vadot 44*5f62a964SEmmanuel Vadothsio_subsys: bus@5f000000 { 45*5f62a964SEmmanuel Vadot compatible = "simple-bus"; 46*5f62a964SEmmanuel Vadot ranges = <0x5f000000 0x0 0x5f000000 0x01000000>, 47*5f62a964SEmmanuel Vadot <0x80000000 0x0 0x70000000 0x10000000>; 48*5f62a964SEmmanuel Vadot #address-cells = <1>; 49*5f62a964SEmmanuel Vadot #size-cells = <1>; 50*5f62a964SEmmanuel Vadot dma-ranges = <0x80000000 0 0x80000000 0x80000000>; 51*5f62a964SEmmanuel Vadot 52*5f62a964SEmmanuel Vadot pcieb: pcie@5f010000 { 53*5f62a964SEmmanuel Vadot compatible = "fsl,imx8q-pcie"; 54*5f62a964SEmmanuel Vadot reg = <0x5f010000 0x10000>, 55*5f62a964SEmmanuel Vadot <0x8ff00000 0x80000>; 56*5f62a964SEmmanuel Vadot reg-names = "dbi", "config"; 57*5f62a964SEmmanuel Vadot ranges = <0x81000000 0 0x00000000 0x8ff80000 0 0x00010000>, 58*5f62a964SEmmanuel Vadot <0x82000000 0 0x80000000 0x80000000 0 0x0ff00000>; 59*5f62a964SEmmanuel Vadot #interrupt-cells = <1>; 60*5f62a964SEmmanuel Vadot interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 61*5f62a964SEmmanuel Vadot interrupt-names = "msi"; 62*5f62a964SEmmanuel Vadot #address-cells = <3>; 63*5f62a964SEmmanuel Vadot #size-cells = <2>; 64*5f62a964SEmmanuel Vadot clocks = <&pcieb_lpcg IMX_LPCG_CLK_6>, 65*5f62a964SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_4>, 66*5f62a964SEmmanuel Vadot <&pcieb_lpcg IMX_LPCG_CLK_5>; 67*5f62a964SEmmanuel Vadot clock-names = "dbi", "mstr", "slv"; 68*5f62a964SEmmanuel Vadot bus-range = <0x00 0xff>; 69*5f62a964SEmmanuel Vadot device_type = "pci"; 70*5f62a964SEmmanuel Vadot interrupt-map = <0 0 0 1 &gic 0 105 4>, 71*5f62a964SEmmanuel Vadot <0 0 0 2 &gic 0 106 4>, 72*5f62a964SEmmanuel Vadot <0 0 0 3 &gic 0 107 4>, 73*5f62a964SEmmanuel Vadot <0 0 0 4 &gic 0 108 4>; 74*5f62a964SEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 75*5f62a964SEmmanuel Vadot num-lanes = <1>; 76*5f62a964SEmmanuel Vadot num-viewport = <4>; 77*5f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 78*5f62a964SEmmanuel Vadot fsl,max-link-speed = <3>; 79*5f62a964SEmmanuel Vadot status = "disabled"; 80*5f62a964SEmmanuel Vadot }; 81*5f62a964SEmmanuel Vadot 82*5f62a964SEmmanuel Vadot pcieb_lpcg: clock-controller@5f060000 { 83*5f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 84*5f62a964SEmmanuel Vadot reg = <0x5f060000 0x10000>; 85*5f62a964SEmmanuel Vadot clocks = <&hsio_axi_clk>, <&hsio_axi_clk>, <&hsio_axi_clk>; 86*5f62a964SEmmanuel Vadot #clock-cells = <1>; 87*5f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>, <IMX_LPCG_CLK_6>; 88*5f62a964SEmmanuel Vadot clock-output-names = "hsio_pcieb_mstr_axi_clk", 89*5f62a964SEmmanuel Vadot "hsio_pcieb_slv_axi_clk", 90*5f62a964SEmmanuel Vadot "hsio_pcieb_dbi_axi_clk"; 91*5f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 92*5f62a964SEmmanuel Vadot }; 93*5f62a964SEmmanuel Vadot 94*5f62a964SEmmanuel Vadot phyx1_crr1_lpcg: clock-controller@5f0b0000 { 95*5f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 96*5f62a964SEmmanuel Vadot reg = <0x5f0b0000 0x10000>; 97*5f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 98*5f62a964SEmmanuel Vadot #clock-cells = <1>; 99*5f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 100*5f62a964SEmmanuel Vadot clock-output-names = "hsio_phyx1_per_clk"; 101*5f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_SERDES_1>; 102*5f62a964SEmmanuel Vadot }; 103*5f62a964SEmmanuel Vadot 104*5f62a964SEmmanuel Vadot pcieb_crr3_lpcg: clock-controller@5f0d0000 { 105*5f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 106*5f62a964SEmmanuel Vadot reg = <0x5f0d0000 0x10000>; 107*5f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 108*5f62a964SEmmanuel Vadot #clock-cells = <1>; 109*5f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 110*5f62a964SEmmanuel Vadot clock-output-names = "hsio_pcieb_per_clk"; 111*5f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_PCIE_B>; 112*5f62a964SEmmanuel Vadot }; 113*5f62a964SEmmanuel Vadot 114*5f62a964SEmmanuel Vadot misc_crr5_lpcg: clock-controller@5f0f0000 { 115*5f62a964SEmmanuel Vadot compatible = "fsl,imx8qxp-lpcg"; 116*5f62a964SEmmanuel Vadot reg = <0x5f0f0000 0x10000>; 117*5f62a964SEmmanuel Vadot clocks = <&hsio_per_clk>; 118*5f62a964SEmmanuel Vadot #clock-cells = <1>; 119*5f62a964SEmmanuel Vadot clock-indices = <IMX_LPCG_CLK_4>; 120*5f62a964SEmmanuel Vadot clock-output-names = "hsio_misc_per_clk"; 121*5f62a964SEmmanuel Vadot power-domains = <&pd IMX_SC_R_HSIO_GPIO>; 122*5f62a964SEmmanuel Vadot }; 123*5f62a964SEmmanuel Vadot}; 124