From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lucas Stach <l.stach@pengutronix.de>, Shawn Guo <shawnguo@kernel.org>, Sasha Levin <sashal@kernel.org>, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.4 40/51] arm64: dts: imx8mq: assign PCIe clocks Date: Wed, 14 Jul 2021 15:45:02 -0400 [thread overview] Message-ID: <20210714194513.54827-40-sashal@kernel.org> (raw) In-Reply-To: <20210714194513.54827-1-sashal@kernel.org> From: Lucas Stach <l.stach@pengutronix.de> [ Upstream commit 15a5261e4d052bf85c7fba24dbe0e9a7c8c05925 ] This fixes multiple issues with the current non-existent PCIe clock setup: The controller can run at up to 250MHz, so use a parent that provides this clock. The PHY needs an exact 100MHz reference clock to function if the PCIe refclock is not fed in via the refclock pads. While this mode is not supported (yet) in the driver it doesn't hurt to make sure we are providing a clock with the right rate. The AUX clock is specified to have a maximum clock rate of 10MHz. So the current setup, which drives it straight from the 25MHz oscillator is actually overclocking the AUX input. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index f1011bcd5ed5..3dae8d7c7619 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1056,6 +1056,14 @@ pcie0: pcie@33800000 { <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; reset-names = "pciephy", "apps", "turnoff"; + assigned-clocks = <&clk IMX8MQ_CLK_PCIE1_CTRL>, + <&clk IMX8MQ_CLK_PCIE1_PHY>, + <&clk IMX8MQ_CLK_PCIE1_AUX>; + assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, + <&clk IMX8MQ_SYS2_PLL_100M>, + <&clk IMX8MQ_SYS1_PLL_80M>; + assigned-clock-rates = <250000000>, <100000000>, + <10000000>; status = "disabled"; }; @@ -1085,6 +1093,14 @@ pcie1: pcie@33c00000 { <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>, <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>; reset-names = "pciephy", "apps", "turnoff"; + assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>, + <&clk IMX8MQ_CLK_PCIE2_PHY>, + <&clk IMX8MQ_CLK_PCIE2_AUX>; + assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, + <&clk IMX8MQ_SYS2_PLL_100M>, + <&clk IMX8MQ_SYS1_PLL_80M>; + assigned-clock-rates = <250000000>, <100000000>, + <10000000>; status = "disabled"; }; -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lucas Stach <l.stach@pengutronix.de>, Shawn Guo <shawnguo@kernel.org>, Sasha Levin <sashal@kernel.org>, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.4 40/51] arm64: dts: imx8mq: assign PCIe clocks Date: Wed, 14 Jul 2021 15:45:02 -0400 [thread overview] Message-ID: <20210714194513.54827-40-sashal@kernel.org> (raw) In-Reply-To: <20210714194513.54827-1-sashal@kernel.org> From: Lucas Stach <l.stach@pengutronix.de> [ Upstream commit 15a5261e4d052bf85c7fba24dbe0e9a7c8c05925 ] This fixes multiple issues with the current non-existent PCIe clock setup: The controller can run at up to 250MHz, so use a parent that provides this clock. The PHY needs an exact 100MHz reference clock to function if the PCIe refclock is not fed in via the refclock pads. While this mode is not supported (yet) in the driver it doesn't hurt to make sure we are providing a clock with the right rate. The AUX clock is specified to have a maximum clock rate of 10MHz. So the current setup, which drives it straight from the 25MHz oscillator is actually overclocking the AUX input. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index f1011bcd5ed5..3dae8d7c7619 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1056,6 +1056,14 @@ pcie0: pcie@33800000 { <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; reset-names = "pciephy", "apps", "turnoff"; + assigned-clocks = <&clk IMX8MQ_CLK_PCIE1_CTRL>, + <&clk IMX8MQ_CLK_PCIE1_PHY>, + <&clk IMX8MQ_CLK_PCIE1_AUX>; + assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, + <&clk IMX8MQ_SYS2_PLL_100M>, + <&clk IMX8MQ_SYS1_PLL_80M>; + assigned-clock-rates = <250000000>, <100000000>, + <10000000>; status = "disabled"; }; @@ -1085,6 +1093,14 @@ pcie1: pcie@33c00000 { <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>, <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>; reset-names = "pciephy", "apps", "turnoff"; + assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>, + <&clk IMX8MQ_CLK_PCIE2_PHY>, + <&clk IMX8MQ_CLK_PCIE2_AUX>; + assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, + <&clk IMX8MQ_SYS2_PLL_100M>, + <&clk IMX8MQ_SYS1_PLL_80M>; + assigned-clock-rates = <250000000>, <100000000>, + <10000000>; status = "disabled"; }; -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-07-14 19:58 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-14 19:44 [PATCH AUTOSEL 5.4 01/51] ARM: dts: gemini: rename mdio to the right name Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 02/51] ARM: dts: gemini: add device_type on pci Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 03/51] ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 04/51] arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 05/51] ARM: dts: rockchip: Fix the timer clocks order Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 06/51] ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 07/51] ARM: dts: rockchip: Fix power-controller node names for rk3066a Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 08/51] ARM: dts: rockchip: Fix power-controller node names for rk3188 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 09/51] ARM: dts: rockchip: Fix power-controller node names for rk3288 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 10/51] arm64: dts: rockchip: Fix power-controller node names for px30 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 11/51] arm64: dts: rockchip: Fix power-controller node names for rk3328 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 12/51] reset: ti-syscon: fix to_ti_syscon_reset_data macro Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 13/51] ARM: brcmstb: dts: fix NAND nodes names Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 14/51] ARM: Cygnus: " Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 15/51] ARM: NSP: " Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 16/51] ARM: dts: BCM63xx: Fix " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 17/51] ARM: dts: Hurricane 2: " Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 18/51] ARM: dts: imx25-pinfunc: Fix gpio function name for pads GPIO_[A-F] Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 19/51] ARM: dts: imx6: phyFLEX: Fix UART hardware flow control Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 20/51] ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 21/51] rtc: mxc_v2: add missing MODULE_DEVICE_TABLE Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 22/51] kbuild: sink stdout from cmd for silent build Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 23/51] ARM: dts: am335x: align GPIO hog names with dt-schema Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 24/51] ARM: dts: am437x: align gpio " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 25/51] ARM: dts: omap3: " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 26/51] ARM: dts: omap5-board-common: " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 27/51] ARM: dts: dra7x-evm: Align GPIO " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 28/51] ARM: dts: am57xx-cl-som-am57x: fix ti,no-reset-on-init flag for gpios Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 29/51] ARM: dts: am437x-gp-evm: " Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 30/51] ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 31/51] ARM: dts: stm32: fix RCC node name on stm32f429 MCU Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 32/51] ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 33/51] arm64: dts: juno: Update SCPI nodes as per the YAML schema Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 34/51] ARM: dts: rockchip: fix supply properties in io-domains nodes Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 35/51] ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 36/51] ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15 Sasha Levin 2021-07-14 19:44 ` Sasha Levin 2021-07-14 19:44 ` [PATCH AUTOSEL 5.4 37/51] soc/tegra: fuse: Fix Tegra234-only builds Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 38/51] firmware: tegra: bpmp: " Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 39/51] arm64: dts: ls208xa: remove bus-num from dspi node Sasha Levin 2021-07-14 19:45 ` Sasha Levin 2021-07-14 19:45 ` Sasha Levin [this message] 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 40/51] arm64: dts: imx8mq: assign PCIe clocks Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 41/51] thermal/core: Correct function name thermal_zone_device_unregister() Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 42/51] kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 43/51] rtc: max77686: Do not enforce (incorrect) interrupt trigger type Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 44/51] scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 45/51] scsi: libsas: Add LUN number check in .slave_alloc callback Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 46/51] scsi: be2iscsi: Fix some missing space in some messages Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 47/51] scsi: libfc: Fix array index out of bound exception Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 48/51] scsi: qedf: Add check to synchronize abort and flush Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 49/51] sched/fair: Fix CFS bandwidth hrtimer expiry type Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 50/51] s390: introduce proper type handling call_on_stack() macro Sasha Levin 2021-07-14 19:45 ` [PATCH AUTOSEL 5.4 51/51] cifs: prevent NULL deref in cifs_compose_mount_options() Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210714194513.54827-40-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=l.stach@pengutronix.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=shawnguo@kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.