[PATCH] mx6: peripheral clock from oscillator

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] mx6: peripheral clock from oscillator

Jorge Ramirez-Ortiz, Foundries
In order to be able to run the I2C bus at 400Khz, the chip errata[1]
recommends that the peripheral clock runs out of the 24MHz oscillator.

[1] Rev 2, 10/2019, ERR007805

Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
---
 arch/arm/mach-imx/mx6/soc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
index e129286065..1da250bbcd 100644
--- a/arch/arm/mach-imx/mx6/soc.c
+++ b/arch/arm/mach-imx/mx6/soc.c
@@ -469,7 +469,7 @@ int arch_cpu_init(void)
  }
 
  /* Set perclk to source from OSC 24MHz */
- if (is_mx6sl())
+ if (is_mx6sl() || is_mx6ull())
  setbits_le32(&ccm->cscmr1, MXC_CCM_CSCMR1_PER_CLK_SEL_MASK);
 
  imx_wdog_disable_powerdown(); /* Disable PDE bit of WMCR register */
--
2.17.1

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] mx6: peripheral clock from oscillator

Jorge Ramirez-Ortiz, Foundries

any thoughts?

On 14/10/20, Jorge Ramirez-Ortiz wrote:

> In order to be able to run the I2C bus at 400Khz, the chip errata[1]
> recommends that the peripheral clock runs out of the 24MHz oscillator.
>
> [1] Rev 2, 10/2019, ERR007805
>
> Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
> ---
>  arch/arm/mach-imx/mx6/soc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> index e129286065..1da250bbcd 100644
> --- a/arch/arm/mach-imx/mx6/soc.c
> +++ b/arch/arm/mach-imx/mx6/soc.c
> @@ -469,7 +469,7 @@ int arch_cpu_init(void)
>   }
>  
>   /* Set perclk to source from OSC 24MHz */
> - if (is_mx6sl())
> + if (is_mx6sl() || is_mx6ull())
>   setbits_le32(&ccm->cscmr1, MXC_CCM_CSCMR1_PER_CLK_SEL_MASK);
>  
>   imx_wdog_disable_powerdown(); /* Disable PDE bit of WMCR register */
> --
> 2.17.1
>
Reply | Threaded
Open this post in threaded view
|

RE: [PATCH] mx6: peripheral clock from oscillator

Peng Fan-4
In reply to this post by Jorge Ramirez-Ortiz, Foundries
> Subject: [PATCH] mx6: peripheral clock from oscillator
>
> In order to be able to run the I2C bus at 400Khz, the chip errata[1]
> recommends that the peripheral clock runs out of the 24MHz oscillator.
>
> [1] Rev 2, 10/2019, ERR007805
>
> Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
> ---
>  arch/arm/mach-imx/mx6/soc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> index e129286065..1da250bbcd 100644
> --- a/arch/arm/mach-imx/mx6/soc.c
> +++ b/arch/arm/mach-imx/mx6/soc.c
> @@ -469,7 +469,7 @@ int arch_cpu_init(void)
>   }
>
>   /* Set perclk to source from OSC 24MHz */
> - if (is_mx6sl())
> + if (is_mx6sl() || is_mx6ull())
>   setbits_le32(&ccm->cscmr1,
> MXC_CCM_CSCMR1_PER_CLK_SEL_MASK);
>
>   imx_wdog_disable_powerdown(); /* Disable PDE bit of WMCR register
> */
> --

Reviewed-by: Peng Fan <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] mx6: peripheral clock from oscillator

Fabio Estevam-2
In reply to this post by Jorge Ramirez-Ortiz, Foundries
Hi Jorge,

On Wed, Oct 14, 2020 at 10:07 AM Jorge Ramirez-Ortiz <[hidden email]> wrote:

>
> In order to be able to run the I2C bus at 400Khz, the chip errata[1]
> recommends that the peripheral clock runs out of the 24MHz oscillator.
>
> [1] Rev 2, 10/2019, ERR007805
>
> Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
> ---
>  arch/arm/mach-imx/mx6/soc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> index e129286065..1da250bbcd 100644
> --- a/arch/arm/mach-imx/mx6/soc.c
> +++ b/arch/arm/mach-imx/mx6/soc.c
> @@ -469,7 +469,7 @@ int arch_cpu_init(void)
>         }
>
>         /* Set perclk to source from OSC 24MHz */
> -       if (is_mx6sl())
> +       if (is_mx6sl() || is_mx6ull())

According to https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf the
mx6solo and mx6dl are also affected by ERR007805.

These variants should be handled too.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] mx6: peripheral clock from oscillator

Jorge Ramirez-Ortiz, Foundries
On 19/10/20, Fabio Estevam wrote:

> Hi Jorge,
>
> On Wed, Oct 14, 2020 at 10:07 AM Jorge Ramirez-Ortiz <[hidden email]> wrote:
> >
> > In order to be able to run the I2C bus at 400Khz, the chip errata[1]
> > recommends that the peripheral clock runs out of the 24MHz oscillator.
> >
> > [1] Rev 2, 10/2019, ERR007805
> >
> > Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
> > ---
> >  arch/arm/mach-imx/mx6/soc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> > index e129286065..1da250bbcd 100644
> > --- a/arch/arm/mach-imx/mx6/soc.c
> > +++ b/arch/arm/mach-imx/mx6/soc.c
> > @@ -469,7 +469,7 @@ int arch_cpu_init(void)
> >         }
> >
> >         /* Set perclk to source from OSC 24MHz */
> > -       if (is_mx6sl())
> > +       if (is_mx6sl() || is_mx6ull())
>
> According to https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf the
> mx6solo and mx6dl are also affected by ERR007805.

ah ok, I'll repost.

just as background info, this is needed in order for OP-TEE to access
the EdgeLock SE050 secure element at a decent speed. I couldnt merge
the support for the imx6ul i2c driver during the last OP-TEE release
but will try again when I find some time (surely before their next
release)


>
> These variants should be handled too.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] mx6: peripheral clock from oscillator

Jorge Ramirez-Ortiz, Foundries
On 19/10/20, Jorge Ramirez-Ortiz, Foundries wrote:

> On 19/10/20, Fabio Estevam wrote:
> > Hi Jorge,
> >
> > On Wed, Oct 14, 2020 at 10:07 AM Jorge Ramirez-Ortiz <[hidden email]> wrote:
> > >
> > > In order to be able to run the I2C bus at 400Khz, the chip errata[1]
> > > recommends that the peripheral clock runs out of the 24MHz oscillator.
> > >
> > > [1] Rev 2, 10/2019, ERR007805
> > >
> > > Signed-off-by: Jorge Ramirez-Ortiz <[hidden email]>
> > > ---
> > >  arch/arm/mach-imx/mx6/soc.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
> > > index e129286065..1da250bbcd 100644
> > > --- a/arch/arm/mach-imx/mx6/soc.c
> > > +++ b/arch/arm/mach-imx/mx6/soc.c
> > > @@ -469,7 +469,7 @@ int arch_cpu_init(void)
> > >         }
> > >
> > >         /* Set perclk to source from OSC 24MHz */
> > > -       if (is_mx6sl())
> > > +       if (is_mx6sl() || is_mx6ull())
> >
> > According to https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf the
> > mx6solo and mx6dl are also affected by ERR007805.
>
> ah ok, I'll repost.
>
> just as background info, this is needed in order for OP-TEE to access
> the EdgeLock SE050 secure element at a decent speed. I couldnt merge
> the support for the imx6ul i2c driver during the last OP-TEE release
> but will try again when I find some time (surely before their next
> release)
>
>
> >
> > These variants should be handled too.

I just reposted but realized I forgot to ammend the patch version. let
me know if you would like me to repost with that corrected or if that
is ok.