All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mxc_spi: Round up clock divider
Date: Sat, 11 Aug 2012 16:23:35 +0200 (CEST)	[thread overview]
Message-ID: <1126440883.2300301.1344695015769.JavaMail.root@advansee.com> (raw)
In-Reply-To: <50263605.1000601@denx.de>

Hi Stefano,

On 08/11/2012 12:37, Stefano Babic wrote:
> On 10/08/2012 20:51, Beno?t Th?baudeau wrote:
> > Since the input frequency of the API is a maximum that should not
> > be exceeded in
> > order for the devices to operate properly, the SPI clock divider
> > should be
> > rounded up, not truncated.
> > 
> 
> Hi Beno?t,
> 
> > Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
> > Cc: Wolfgang Denk <wd@denx.de>
> > Cc: Stefano Babic <sbabic@denx.de>
> > ---
> >  .../drivers/spi/mxc_spi.c                          |    4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git u-boot-4d3c95f.orig/drivers/spi/mxc_spi.c
> > u-boot-4d3c95f/drivers/spi/mxc_spi.c
> > index 2e15318..cf1462f 100644
> > --- u-boot-4d3c95f.orig/drivers/spi/mxc_spi.c
> > +++ u-boot-4d3c95f/drivers/spi/mxc_spi.c
> > @@ -96,7 +96,7 @@ static s32 spi_cfg_mxc(struct mxc_spi_slave
> > *mxcs, unsigned int cs,
> >  
> >  	clk_src = mxc_get_clock(MXC_CSPI_CLK);
> >  
> > -	div = clk_src / max_hz;
> > +	div = DIV_ROUND_UP(clk_src, max_hz);
> >  	div = get_cspi_div(div);
> >  
> >  	debug("clk %d Hz, div %d, real clk %d Hz\n",
> > @@ -147,7 +147,7 @@ static s32 spi_cfg_mxc(struct mxc_spi_slave
> > *mxcs, unsigned int cs,
> >  	 * The following computation is taken directly from Freescale's
> >  	 code.
> >  	 */
> >  	if (clk_src > max_hz) {
> > -		pre_div = clk_src / max_hz;
> > +		pre_div = DIV_ROUND_UP(clk_src, max_hz);
> >  		if (pre_div > 16) {
> >  			post_div = pre_div / 16;
> >  			pre_div = 15;
> > 
> 
> Agree - do you also get a case where the divider was too low and the
> SPI
> does not work or it was only examining the code ?

It was only examining the code. I had many clock issues on i.MX51, so I made a
global review of clock usage that led to that. Most i.MX5 clock functions are
broken. I have a series fixing these that I will post next week.

> Acked-by: Stefano Babic <sbabic@denx.de>
> 
> Best regards,
> Stefano Babic

Best regards,
Beno?t

  reply	other threads:[~2012-08-11 14:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <797579011.2281948.1344624706885.JavaMail.root@advansee.com>
2012-08-10 18:51 ` [U-Boot] [PATCH] mxc_spi: Round up clock divider Benoît Thébaudeau
2012-08-11 10:37   ` Stefano Babic
2012-08-11 14:23     ` Benoît Thébaudeau [this message]
2012-08-20  7:54   ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1126440883.2300301.1344695015769.JavaMail.root@advansee.com \
    --to=benoit.thebaudeau@advansee.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.