On Thu, 15 Mar 2012 18:42:32 +0100, Sebastian Andrzej Siewior 
<[email protected]> wrote:
> The reference manual says that pm has to stay within 2 and 32. So the
> lowest frequency is 32 and DIV16 set, the highest is 2 and DIV16 unset.
> 
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>

Applied, thanks.

g.

> ---
>  drivers/spi/spi-fsl-espi.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/spi/spi-fsl-espi.c b/drivers/spi/spi-fsl-espi.c
> index 43350f9..7523a24 100644
> --- a/drivers/spi/spi-fsl-espi.c
> +++ b/drivers/spi/spi-fsl-espi.c
> @@ -182,16 +182,18 @@ static int fsl_espi_setup_transfer(struct spi_device 
> *spi,
>               cs->hw_mode |= CSMODE_DIV16;
>               pm = DIV_ROUND_UP(mpc8xxx_spi->spibrg, hz * 16 * 4);
>  
> -             WARN_ONCE(pm > 16, "%s: Requested speed is too low: %d Hz. "
> +             WARN_ONCE(pm > 33, "%s: Requested speed is too low: %d Hz. "
>                         "Will use %d Hz instead.\n", dev_name(&spi->dev),
> -                       hz, mpc8xxx_spi->spibrg / 1024);
> -             if (pm > 16)
> -                     pm = 16;
> +                             hz, mpc8xxx_spi->spibrg / (4 * 16 * (32 + 1)));
> +             if (pm > 33)
> +                     pm = 33;
>       } else {
>               pm = DIV_ROUND_UP(mpc8xxx_spi->spibrg, hz * 4);
>       }
>       if (pm)
>               pm--;
> +     if (pm < 2)
> +             pm = 2;
>  
>       cs->hw_mode |= CSMODE_PM(pm);
>  
> -- 
> 1.7.9.1
> 

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to