[v2,2/5] clk: imx: replace osc_hdmi with dummy

Message ID 20221117113637.1978703-3-dario.binacchi@amarulasolutions.com
State New
Headers
Series clk: imx8mn: miscellaneous cleanups and bug fixes |

Commit Message

Dario Binacchi Nov. 17, 2022, 11:36 a.m. UTC
  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 <dario.binacchi@amarulasolutions.com>
---

(no changes since v1)

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

Comments

Abel Vesa Nov. 21, 2022, 8:13 p.m. UTC | #1
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 <dario.binacchi@amarulasolutions.com>

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
>
  
Peng Fan Nov. 22, 2022, 2:48 a.m. UTC | #2
> 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 <dario.binacchi@amarulasolutions.com>
> 
> 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
> >
  

Patch

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",