ARM: dts: imx: Enable PCIe and NVMe on Data Modul i.MX8M Mini eDM SBC
authorMarek Vasut <marex@denx.de>
Fri, 29 Nov 2024 00:35:43 +0000 (01:35 +0100)
committerFabio Estevam <festevam@gmail.com>
Fri, 29 Nov 2024 12:20:47 +0000 (09:20 -0300)
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 <marex@denx.de>
arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi
configs/imx8mm_data_modul_edm_sbc_defconfig

index f5e98bf..3a4f7d0 100644 (file)
                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>;
        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;
 };
index 518243e..66cb133 100644 (file)
@@ -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