Enable PCIe/NVMe support on Data Modul i.MX8M Mini eDM SBC. Except for the configuration options which are enabled, add slight adjustment to board u-boot.dtsi, which is necessary as there is currently no driver for the I2C PCIe clock generator. Since the generator is strapped to be always on, it is possible to supplant the generator functionality by fixed-clock.
Signed-off-by: Marek Vasut <[email protected]> --- NOTE: Would be nice to have in v2025.01 --- Cc: "NXP i.MX U-Boot Team" <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Quentin Schulz <[email protected]> Cc: Sean Anderson <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected] --- .../arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi | 15 +++++++++++++++ configs/imx8mm_data_modul_edm_sbc_defconfig | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi b/arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi index f5e98bf7487..3a4f7d01b9e 100644 --- a/arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi @@ -16,6 +16,12 @@ dmo,ram-coding-gpios = <&gpio2 8 0>, <&gpio2 1 0>, <&gpio2 0 0>; }; + clk_pcie100: clk-pcie100 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + }; + wdt-reboot { compatible = "wdt-reboot"; wdt = <&wdog1>; @@ -35,6 +41,15 @@ bootph-pre-ram; }; +&pcie_phy { + clocks = <&clk_pcie100>; +}; + +&pcie0 { + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, + <&clk_pcie100>; +}; + &pinctrl_hog_sbc { bootph-pre-ram; }; diff --git a/configs/imx8mm_data_modul_edm_sbc_defconfig b/configs/imx8mm_data_modul_edm_sbc_defconfig index 260cdd4a5e3..25795701d54 100644 --- a/configs/imx8mm_data_modul_edm_sbc_defconfig +++ b/configs/imx8mm_data_modul_edm_sbc_defconfig @@ -5,12 +5,18 @@ CONFIG_ARCH_IMX8M=y CONFIG_TARGET_IMX8MM_DATA_MODUL_EDM_SBC=y CONFIG_CI_UDC=y CONFIG_CLK_IMX8MM=y +CONFIG_CMD_PCI=y CONFIG_DEFAULT_DEVICE_TREE="imx8mm-data-modul-edm-sbc" CONFIG_DEFAULT_FDT_FILE="imx8mm-data-modul-edm-sbc.dtb" CONFIG_DM_PMIC_BD71837=y CONFIG_DM_REGULATOR_BD71837=y CONFIG_IMX_CONFIG="board/data_modul/imx8mm_edm_sbc/imximage.cfg" +CONFIG_NVME_PCI=y +CONFIG_PCI=y +CONFIG_PCIE_DW_IMX=y +CONFIG_PHY=y CONFIG_PHYLIB=y +CONFIG_PHY_IMX8M_PCIE=y CONFIG_PREBOOT="run dmo_preboot" CONFIG_SDP_LOADADDR=0x60000000 CONFIG_SPL_BSS_MAX_SIZE=0x2000 -- 2.45.2

