From 036ef929ec18f001d5413ce70f394c88a49f806b Mon Sep 17 00:00:00 2001 From: Oleksandr Suvorov Date: Thu, 1 Oct 2020 13:00:13 +0300 Subject: arm64: dts: bring up pcie/wifi Add required and fix wrong settings to make PCIe host and PCIe WiFI module AW-CM276AF on Colibri iMX8X work well. Related-to: ELB-3025 Signed-off-by: Oleksandr Suvorov --- arch/arm64/boot/dts/freescale/imx8qxp-colibri.dtsi | 36 +++++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-colibri.dtsi b/arch/arm64/boot/dts/freescale/imx8qxp-colibri.dtsi index d9f8f1325796..7c8c5dc3eaac 100644 --- a/arch/arm64/boot/dts/freescale/imx8qxp-colibri.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qxp-colibri.dtsi @@ -50,6 +50,19 @@ }; }; + pcie_refclk: pcie-clock-generator { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + }; + + pcie_refclk_gate: pcie-ref-clock { + compatible = "gpio-gate-clock"; + #clock-cells = <0>; + clocks = <&pcie_refclk>; + enable-gpios = <&gpio_expander_43 3 GPIO_ACTIVE_HIGH>; + }; + reg_module_3v3: regulator-module-3v3 { compatible = "regulator-fixed"; regulator-name = "+V3.3"; @@ -335,6 +348,10 @@ status = "okay"; }; +&hsio_refb_clk { + status = "disabled"; +}; + /* On-module I2C */ &i2c0 { #address-cells = <1>; @@ -1167,15 +1184,24 @@ /* On-module PCIe for wifi */ &pcieb{ compatible = "fsl,imx8qxp-pcie","snps,dw-pcie"; - /* - * WARNING! Enabling "epdev_on-supply" leads a crash of pcie driver on - * system suspend. - */ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pcieb &pinctrl_wifi>; - clkreq-gpio = <&gpio_expander_43 3 GPIO_ACTIVE_HIGH>; + clocks = <&pcieb_lpcg 0>, + <&pcieb_lpcg 1>, + <&pcieb_lpcg 2>, + <&phyx1_lpcg 0>, + <&phyx1_crr1_lpcg 0>, + <&pcieb_crr3_lpcg 0>, + <&misc_crr5_lpcg 0>, + <&pcie_refclk_gate>; + clock-names = "pcie", "pcie_bus", "pcie_inbound_axi", + "pcie_phy", "phy_per", "pcie_per", "misc_per", + "pcie_ext"; + + clkreq-gpio = <&lsio_gpio4 1 GPIO_ACTIVE_LOW>; ext_osc = <1>; fsl,max-link-speed = <1>; + hard-wired = <1>; disable-gpio = <&gpio_expander_43 6 GPIO_ACTIVE_LOW>; power-on-gpio = <&gpio_expander_43 2 GPIO_ACTIVE_LOW>; reserved-region = <&rpmsg_reserved>; -- cgit v1.2.3