2022-11-17 11:51:55

by Dario Binacchi

[permalink] [raw]
Subject: [PATCH v2 2/5] clk: imx: replace osc_hdmi with dummy

There is no occurrence of the hdmi oscillator in the reference manual
(document IMX8MNRM Rev 2, 07/2022). Further, if we consider the indexes
76-81 and 134 of the "Clock Root" table of chapter 5 of the RM, there is
no entry for the source select bits 101b, which is the setting referenced
by "osc_hdmi".
Fix by renaming "osc_hdmi" with "dummy", a clock which has already been
used for missing source select bits.

Tested on the BSH SystemMaster (SMM) S2 board.

Fixes: 96d6392b54dbb ("clk: imx: Add support for i.MX8MN clock driver")
Signed-off-by: Dario Binacchi <[email protected]>
---

(no changes since v1)

drivers/clk/imx/clk-imx8mn.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c
index 72f9563a0ff6..0fae97e61e2c 100644
--- a/drivers/clk/imx/clk-imx8mn.c
+++ b/drivers/clk/imx/clk-imx8mn.c
@@ -108,27 +108,27 @@ static const char * const imx8mn_disp_pixel_sels[] = {"osc_24m", "video_pll1_out
"sys_pll3_out", "clk_ext4", };

static const char * const imx8mn_sai2_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext3", "clk_ext4", };

static const char * const imx8mn_sai3_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext3", "clk_ext4", };

static const char * const imx8mn_sai5_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext2", "clk_ext3", };

static const char * const imx8mn_sai6_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext3", "clk_ext4", };

static const char * const imx8mn_sai7_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext3", "clk_ext4", };

static const char * const imx8mn_spdif1_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
- "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
+ "video_pll1_out", "sys_pll1_133m", "dummy",
"clk_ext2", "clk_ext3", };

static const char * const imx8mn_enet_ref_sels[] = {"osc_24m", "sys_pll2_125m", "sys_pll2_50m",
--
2.32.0



2022-11-21 20:36:24

by Abel Vesa

[permalink] [raw]
Subject: Re: [PATCH v2 2/5] clk: imx: replace osc_hdmi with dummy

On 22-11-17 12:36:34, Dario Binacchi wrote:
> There is no occurrence of the hdmi oscillator in the reference manual
> (document IMX8MNRM Rev 2, 07/2022). Further, if we consider the indexes
> 76-81 and 134 of the "Clock Root" table of chapter 5 of the RM, there is
> no entry for the source select bits 101b, which is the setting referenced
> by "osc_hdmi".
> Fix by renaming "osc_hdmi" with "dummy", a clock which has already been
> used for missing source select bits.
>
> Tested on the BSH SystemMaster (SMM) S2 board.
>
> Fixes: 96d6392b54dbb ("clk: imx: Add support for i.MX8MN clock driver")
> Signed-off-by: Dario Binacchi <[email protected]>

I don't think this is correct. It might even break the EVKs HDMI
support.

Peng, can you please confirm ?

> ---
>
> (no changes since v1)
>
> drivers/clk/imx/clk-imx8mn.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c
> index 72f9563a0ff6..0fae97e61e2c 100644
> --- a/drivers/clk/imx/clk-imx8mn.c
> +++ b/drivers/clk/imx/clk-imx8mn.c
> @@ -108,27 +108,27 @@ static const char * const imx8mn_disp_pixel_sels[] = {"osc_24m", "video_pll1_out
> "sys_pll3_out", "clk_ext4", };
>
> static const char * const imx8mn_sai2_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext3", "clk_ext4", };
>
> static const char * const imx8mn_sai3_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext3", "clk_ext4", };
>
> static const char * const imx8mn_sai5_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext2", "clk_ext3", };
>
> static const char * const imx8mn_sai6_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext3", "clk_ext4", };
>
> static const char * const imx8mn_sai7_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext3", "clk_ext4", };
>
> static const char * const imx8mn_spdif1_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out",
> - "video_pll1_out", "sys_pll1_133m", "osc_hdmi",
> + "video_pll1_out", "sys_pll1_133m", "dummy",
> "clk_ext2", "clk_ext3", };
>
> static const char * const imx8mn_enet_ref_sels[] = {"osc_24m", "sys_pll2_125m", "sys_pll2_50m",
> --
> 2.32.0
>

2022-11-22 03:08:23

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH v2 2/5] clk: imx: replace osc_hdmi with dummy

> Subject: Re: [PATCH v2 2/5] clk: imx: replace osc_hdmi with dummy
>
> On 22-11-17 12:36:34, Dario Binacchi wrote:
> > There is no occurrence of the hdmi oscillator in the reference manual
> > (document IMX8MNRM Rev 2, 07/2022). Further, if we consider the
> > indexes
> > 76-81 and 134 of the "Clock Root" table of chapter 5 of the RM, there
> > is no entry for the source select bits 101b, which is the setting
> > referenced by "osc_hdmi".
> > Fix by renaming "osc_hdmi" with "dummy", a clock which has already
> > been used for missing source select bits.
> >
> > Tested on the BSH SystemMaster (SMM) S2 board.
> >
> > Fixes: 96d6392b54dbb ("clk: imx: Add support for i.MX8MN clock
> > driver")
> > Signed-off-by: Dario Binacchi <[email protected]>
>
> I don't think this is correct. It might even break the EVKs HDMI support.
>
> Peng, can you please confirm ?

The reference manual not has osc hdmi as clk sel. So It is ok to use dummy.

Regards,
Peng.
>
> > ---
> >
> > (no changes since v1)
> >
> > drivers/clk/imx/clk-imx8mn.c | 12 ++++++------
> > 1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/clk/imx/clk-imx8mn.c
> > b/drivers/clk/imx/clk-imx8mn.c index 72f9563a0ff6..0fae97e61e2c 100644
> > --- a/drivers/clk/imx/clk-imx8mn.c
> > +++ b/drivers/clk/imx/clk-imx8mn.c
> > @@ -108,27 +108,27 @@ static const char * const
> imx8mn_disp_pixel_sels[] = {"osc_24m", "video_pll1_out
> > "sys_pll3_out",
> "clk_ext4", };
> >
> > static const char * const imx8mn_sai2_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext3", "clk_ext4", };
> >
> > static const char * const imx8mn_sai3_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext3", "clk_ext4", };
> >
> > static const char * const imx8mn_sai5_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext2", "clk_ext3", };
> >
> > static const char * const imx8mn_sai6_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext3", "clk_ext4", };
> >
> > static const char * const imx8mn_sai7_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext3", "clk_ext4", };
> >
> > static const char * const imx8mn_spdif1_sels[] = {"osc_24m",
> "audio_pll1_out", "audio_pll2_out",
> > - "video_pll1_out",
> "sys_pll1_133m", "osc_hdmi",
> > + "video_pll1_out",
> "sys_pll1_133m", "dummy",
> > "clk_ext2", "clk_ext3", };
> >
> > static const char * const imx8mn_enet_ref_sels[] = {"osc_24m",
> > "sys_pll2_125m", "sys_pll2_50m",
> > --
> > 2.32.0
> >