The patch set is used to enable PCIE host controller on iMX95 EVK. We need below driver changes: 1. Add iMX95 support to pcie_dw_imx driver. 2. Add iXM95 blkctrl clock driver which is a abstract of clock gate in hsio blkctrl for PCIE. 3. Add vin-supply enablement for fixed regulator, since iMX95 EVK uses two levels regulators in DTS. 4. Fix issue in clk-uclass when assign high clock rate.
log on iMX95 19x19 EVK: u-boot=> pci BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x1131 0xe101 Network controller 0x00 00.01.00 0x1131 0xe001 Base system peripheral 0x07 01.00.00 0x1131 0xee00 Base system peripheral 0x80 01.01.00 0x1131 0xe001 Base system peripheral 0x07 02.00.00 0x1131 0x0000 Bridge device 0x04 03.00.00 0x1b4b 0x2b43 Network controller 0x00 03.00.01 0x1b4b 0x2b44 Network controller 0x00 PCIE-4: Link down Ye Li (8): pci: dw: Fix wrong register used for PCI_COMMAND pci: pcie_dw_imx: Add iMX9 support to the driver clk: imx: Add imx95 blkctrl clock driver power: regulator: Add vin-supply for GPIO and Fixed regulators clk: clk-uclass: Fix clk_set_default_rates issue arm: dts: imx95: Assign HSIOPLL_VCO as HSIOPLL parent clock arm: dts: imx95-evk: set alias for enetc PCI buses imx95_evk: Enable PCI host controller on iMX95 19x19 EVK arch/arm/dts/imx95-19x19-evk-u-boot.dtsi | 7 + arch/arm/dts/imx95-u-boot.dtsi | 16 ++ configs/imx95_19x19_evk_defconfig | 3 + drivers/clk/clk-uclass.c | 2 +- drivers/clk/imx/Kconfig | 9 + drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-imx95-blkctrl.c | 170 ++++++++++++ drivers/pci/Kconfig | 2 +- drivers/pci/pcie_dw_common.c | 3 +- drivers/pci/pcie_dw_imx.c | 420 ++++++++++++++++++++++++++--- drivers/power/regulator/regulator_common.c | 10 + drivers/power/regulator/regulator_common.h | 1 + 12 files changed, 596 insertions(+), 48 deletions(-) create mode 100644 drivers/clk/imx/clk-imx95-blkctrl.c -- 2.7.4