[PATCH v3 2/2] arm64: dts: imx8mq: Deduplicate PCIe clock-names property
Hongxing Zhu
hongxing.zhu at nxp.com
Mon Jan 16 20:00:40 PST 2023
Hi Marek:
Thanks for your patches.
> -----Original Message-----
> From: Marek Vasut <marex at denx.de>
> Sent: 2023年1月16日 18:14
> To: linux-arm-kernel at lists.infradead.org
> Cc: Marek Vasut <marex at denx.de>; Alexander Stein
> <alexander.stein at ew.tq-group.com>; Fabio Estevam <festevam at denx.de>;
> Peng Fan <peng.fan at nxp.com>; Hongxing Zhu <hongxing.zhu at nxp.com>;
> Shawn Guo <shawnguo at kernel.org>; dl-linux-imx <linux-imx at nxp.com>
> Subject: [PATCH v3 2/2] arm64: dts: imx8mq: Deduplicate PCIe clock-names
> property
>
> Move the PCIe clock-names property from various DTs into SoC dtsi to reduce
> duplication. In case of a couple of boards, reorder the clock so they match the
> order in yaml DT bindings.
>
> Reviewed-by: Alexander Stein <alexander.stein at ew.tq-group.com> #
> imx8mq.dtsi, imx8mq-tqma8mq-mba8mx.dts
> Signed-off-by: Marek Vasut <marex at denx.de>
> ---
> Cc: Fabio Estevam <festevam at denx.de>
> Cc: Peng Fan <peng.fan at nxp.com>
> Cc: Richard Zhu <hongxing.zhu at nxp.com>
> Cc: Shawn Guo <shawnguo at kernel.org>
> Cc: NXP Linux Team <linux-imx at nxp.com>
> To: linux-arm-kernel at lists.infradead.org
> ---
> V2: - Add RB from Alex
> - Add default pcie clock entry into dtsi
> - Fix the Ultra board
> V3: Rebase on latest next-20230116
> ---
> arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 10 ++++------
> .../boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts | 10 ++++------
> arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts | 5 ++---
> .../arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts | 10 ++++------
> arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi | 10 ++++------
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 10
> ++++++++++
> 6 files changed, 28 insertions(+), 27 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> index 78937910f4039..7507548cdb16b 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> @@ -356,10 +356,9 @@ &pcie0 {
> pinctrl-0 = <&pinctrl_pcie0>;
> reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE1_AUX>,
> + <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE1_PHY>,
> - <&pcie0_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE1_AUX>;
> vph-supply = <&vgen5_reg>;
> status = "okay";
> };
> @@ -369,10 +368,9 @@ &pcie1 {
> pinctrl-0 = <&pinctrl_pcie1>;
> reset-gpio = <&gpio5 12 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE2_AUX>,
> + <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> - <&pcie0_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> vpcie-supply = <®_pcie1>;
> vph-supply = <&vgen5_reg>;
> status = "okay";
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts
> index a91c136797f60..6376417e918c2 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts
> @@ -245,20 +245,18 @@ &pcie0 {
> pinctrl-0 = <&pinctrl_pcie0>;
> reset-gpio = <&gpio1 9 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE1_AUX>,
> + <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE1_PHY>,
> - <&pcie0_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE1_AUX>;
> status = "okay";
> };
>
> /* Intel Ethernet Controller I210/I211 */
> &pcie1 {
> clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE2_AUX>,
> + <&pcie1_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> - <&pcie1_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> fsl,max-link-speed = <1>;
> status = "okay";
> };
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
> index 055031bba8c4b..200268660518d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
> @@ -197,10 +197,9 @@ &pcie1 {
> pinctrl-0 = <&pinctrl_pcie1>;
> reset-gpio = <&gpio3 23 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE2_AUX>,
> + <&pcie1_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> - <&pcie1_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> status = "okay";
> };
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
> index d7660eab68b94..344cfdaeb1d59 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
> @@ -105,10 +105,9 @@ &led2 {
> &pcie0 {
> reset-gpio = <&expander0 14 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE1_AUX>,
> + <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE1_PHY>,
> - <&pcie0_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE1_AUX>;
> epdev_on-supply = <®_vcc_3v3>;
> hard-wired = <1>;
> status = "okay";
> @@ -120,10 +119,9 @@ &pcie0 {
> */
> &pcie1 {
> clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE2_AUX>,
> + <&pcie1_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> - <&pcie1_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> epdev_on-supply = <®_vcc_3v3>;
> hard-wired = <1>;
> status = "okay";
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> index 4e05120c62d41..74a7a589a3296 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> @@ -551,10 +551,9 @@ &pcie0 {
> pinctrl-0 = <&pinctrl_pcie0>;
> reset-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE1_AUX>,
> + <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE1_PHY>,
> - <&pcie0_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE1_AUX>;
> vph-supply = <&vgen5_reg>;
> status = "okay";
> };
> @@ -564,10 +563,9 @@ &pcie1 {
> pinctrl-0 = <&pinctrl_pcie1>;
> reset-gpio = <&gpio1 6 GPIO_ACTIVE_LOW>;
> clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> - <&clk IMX8MQ_CLK_PCIE2_AUX>,
> + <&pcie1_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> - <&pcie1_refclk>;
> - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> vph-supply = <&vgen5_reg>;
> status = "okay";
> };
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index faed28e3ffa17..98fbba4c99a99 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1542,6 +1542,11 @@ pcie0: pcie at 33800000 {
> <0 0 0 4 &gic GIC_SPI 122
> IRQ_TYPE_LEVEL_HIGH>;
> fsl,max-link-speed = <2>;
> linux,pci-domain = <0>;
> + clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>,
> + <&clk IMX8MQ_CLK_PCIE1_PHY>,
> + <&clk IMX8MQ_CLK_PCIE1_PHY>,
Why there are two PHY clocks?
Do you want to define IMX8MQ_CLK_PCIE1_PHY clock as "pcie_bus" clock here,
and then change "pcie_bus" clock to "pcie0_refclk" in the evk board dts later?
How about to set the "pcie_bus" clock as " pcie#_refclk " directly in i.MX8MQ
dtsi file?
Thus, it can avoid more duplicated codes in boards dts files further.
> + <&clk IMX8MQ_CLK_PCIE1_AUX>;
> + clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
> power-domains = <&pgc_pcie>;
> resets = <&src IMX8MQ_RESET_PCIEPHY>,
> <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, @@
> -1579,6 +1584,11 @@ pcie1: pcie at 33c00000 {
> <0 0 0 4 &gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
> fsl,max-link-speed = <2>;
> linux,pci-domain = <1>;
> + clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>,
> + <&clk IMX8MQ_CLK_PCIE2_PHY>,
> + <&clk IMX8MQ_CLK_PCIE2_PHY>,
Same to above.
Best Regards
Richard Zhu
> + <&clk IMX8MQ_CLK_PCIE2_AUX>;
> + clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
> power-domains = <&pgc_pcie>;
> resets = <&src IMX8MQ_RESET_PCIEPHY2>,
> <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>,
> --
> 2.39.0
More information about the linux-arm-kernel
mailing list