]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: imx8mm-var-som-symphony: Enable PCIe
authorStefano Radaelli <stefano.r@variscite.com>
Thu, 19 Mar 2026 18:40:31 +0000 (19:40 +0100)
committerFrank Li <Frank.Li@nxp.com>
Fri, 27 Mar 2026 13:52:39 +0000 (09:52 -0400)
Enable PCIe support on the VAR-SOM Symphony carrier board by adding the
external reference clock, configuring the PHY and providing the required
clock and reset properties.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts

index fbad5d2d4a97adc5f15344e53f4f0353f4cdaa1b..857325ef44619ae18ed94a20edf0a1db86add0f2 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include <dt-bindings/leds/common.h>
+#include <dt-bindings/phy/phy-imx8-pcie.h>
 #include "imx8mm-var-som.dtsi"
 #include "imx8mm-var-som-wifi-bt-iw61x.dtsi"
 
                stdout-path = &uart4;
        };
 
+       pcie0_refclk: pcie0-refclk {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <100000000>;
+       };
+
        reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
                compatible = "regulator-fixed";
                pinctrl-names = "default";
        status = "okay";
 };
 
+&pcie_phy {
+       clocks = <&pcie0_refclk>;
+       clock-names = "ref";
+       fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
+       fsl,tx-deemph-gen1 = <0x2d>;
+       fsl,tx-deemph-gen2 = <0xf>;
+       fsl,clkreq-unsupported;
+       status = "okay";
+};
+
+&pcie0 {
+       reset-gpio = <&pca6408 1 GPIO_ACTIVE_LOW>;
+       clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>,
+                <&clk IMX8MM_CLK_PCIE1_AUX>;
+       clock-names = "pcie", "pcie_bus", "pcie_aux";
+       assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
+                         <&clk IMX8MM_CLK_PCIE1_CTRL>;
+       assigned-clock-rates = <10000000>, <250000000>;
+       assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
+                                <&clk IMX8MM_SYS_PLL2_250M>;
+       status = "okay";
+};
+
 /* Header */
 &uart1 {
        pinctrl-names = "default";