On Wed, Sep 8, 2021 at 8:27 AM Arendt, Steffen <s.are...@sensopart.de>
wrote:

> Enable clocks for SPI and QOS (Ethernet) for the imx8mp SoC
>
>
> diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c
> index c77500bcce..1ab5587e4e 100644
> --- a/drivers/clk/imx/clk-imx8mp.c
> +++ b/drivers/clk/imx/clk-imx8mp.c
> @@ -116,6 +116,30 @@ static const char *imx8mp_i2c6_sels[] =
> {"clock-osc-24m", "sys_pll1_160m", "sys_
>                                          "sys_pll3_out", "audio_pll1_out",
> "video_pll1_out",
>                                          "audio_pll2_out",
> "sys_pll1_133m", };
>
> +#if CONFIG_IS_ENABLED(DM_SPI)
> +static const char *imx8mp_ecspi1_sels[] = {"osc_24m", "sys_pll2_200m",
> "sys_pll1_40m",
> +                                          "sys_pll1_160m",
> "sys_pll1_800m", "sys_pll3_out",
> +                                          "sys_pll2_250m",
> "audio_pll2_out", };
> +
> +static const char *imx8mp_ecspi2_sels[] = {"osc_24m", "sys_pll2_200m",
> "sys_pll1_40m",
> +                                          "sys_pll1_160m",
> "sys_pll1_800m", "sys_pll3_out",
> +                                          "sys_pll2_250m",
> "audio_pll2_out", };
> +
> +static const char *imx8mp_ecspi3_sels[] = {"osc_24m", "sys_pll2_200m",
> "sys_pll1_40m",
> +                                          "sys_pll1_160m",
> "sys_pll1_800m", "sys_pll3_out",
> +                                          "sys_pll2_250m",
> "audio_pll2_out", };
> +#endif
> +
> +#if CONFIG_IS_ENABLED(DWC_ETH_QOS)
> +static const char *imx8mp_enet_qos_sels[] = {"osc_24m", "sys_pll2_125m",
> "sys_pll2_50m",
> +                                            "sys_pll2_100m",
> "sys_pll1_160m", "audio_pll1_out",
> +                                            "video_pll1_out", "clk_ext4",
> };
> +
> +static const char *imx8mp_enet_qos_timer_sels[] = {"osc_24m",
> "sys_pll2_100m", "audio_pll1_out",
> +                                                  "clk_ext1", "clk_ext2",
> "clk_ext3",
> +                                                  "clk_ext4",
> "video_pll1_out", };
> +#endif
> +
>  static const char *imx8mp_usdhc1_sels[] = {"clock-osc-24m",
> "sys_pll1_400m", "sys_pll1_800m",
>                                            "sys_pll2_500m",
> "sys_pll3_out", "sys_pll1_266m",
>                                            "audio_pll2_out",
> "sys_pll1_100m", };
> @@ -397,6 +421,28 @@ static int imx8mp_clk_probe(struct udevice *dev)
>
>         clk_dm(IMX8MP_CLK_USDHC3_ROOT, imx_clk_gate4("usdhc3_root_clk",
> "usdhc3", base + 0x45e0, 0));
>
> +#if CONFIG_IS_ENABLED(DM_SPI)
> +       clk_dm(IMX8MP_CLK_ECSPI1,
> +              imx8m_clk_composite("ecspi1", imx8mp_ecspi1_sels, base +
> 0xb280));
> +       clk_dm(IMX8MP_CLK_ECSPI2,
> +              imx8m_clk_composite("ecspi2", imx8mp_ecspi2_sels, base +
> 0xb300));
> +       clk_dm(IMX8MP_CLK_ECSPI3,
> +              imx8m_clk_composite("ecspi3", imx8mp_ecspi3_sels, base +
> 0xc180));
> +       clk_dm(IMX8MP_CLK_ECSPI1_ROOT,
> +              imx_clk_gate4("ecspi1_root_clk", "ecspi1", base + 0x4070,
> 0));
> +       clk_dm(IMX8MP_CLK_ECSPI2_ROOT,
> +              imx_clk_gate4("ecspi2_root_clk", "ecspi2", base + 0x4080,
> 0));
> +       clk_dm(IMX8MP_CLK_ECSPI3_ROOT,
> +              imx_clk_gate4("ecspi3_root_clk", "ecspi3", base + 0x4090,
> 0));
> +#endif
> +
> +#if CONFIG_IS_ENABLED(DWC_ETH_QOS)
> +       clk_dm(IMX8MP_CLK_ENET_QOS,
> +                       imx8m_clk_composite("enet_qos",
> imx8mp_enet_qos_sels, base + 0xa880));
> +       clk_dm(IMX8MP_CLK_ENET_QOS_TIMER,
> +                       imx8m_clk_composite("enet_qos_timer",
> imx8mp_enet_qos_timer_sels, base + 0xa900));
> +#endif
> +
>         return 0;
>  }
>
>
> [image: SensoPart] <https://www.sensopart.com/>
> <https://www.linkedin.com/company/sensopart>
> <https://www.youtube.com/user/sensopart>
> <https://www.xing.com/pages/sensopartindustriesensorikgmbh>
>
> *SensoPart Industriesensorik GmbH*
> Am Wiedenbach 1
> 79695 Wieden
> Deutschland
>
> Eingetragen im Amtsgericht Freiburg i.Br.
> Registernummer: HRB 660163
> USt-IdNr.: DE 811614252
> Geschäftsführer:  Dr. Theodor Wanner, Thorsten Wanner
>
> Informationen gem. Art. 13 DSGVO für unsere Kunden, Partner, Lieferanten
> finden Sie in unserer Erklärung zum Datenschutz unter
> https://www.sensopart.com/de/datenschutz
>
>
>
Please make sure not to send signatures when you send patches.
Thanks,
Ramon.

Reply via email to