mc13xxx: Define maximum SPI clock frequency global to driver

Alexander Kurz akurz at blala.de
Tue Jul 19 13:31:49 PDT 2016



On Tue, 19 Jul 2016, Alexander Shiyan wrote:

> >Вторник, 19 июля 2016, 20:18 +03:00 от Alexander Kurz <akurz at blala.de>:
> >
> >Hi,
> >I just ran into a problem resulting from patch 6e18b3a48ee4
> >("mc13xxx: Define maximum SPI clock frequency global to driver").
> >
> >On a kindle2 board the SPI communication between an iMX31 and a MC13783 
> >won't work at 20MHz. Unfortunately both ICs are BGA mounted blocking any 
> >access with scope probes. Attempts to tweak the pad properties to
> >PAD_CTL_DRV_HIGH | PAD_CTL_SRE_FAST | PAD_CTL_100K_PU
> >did not solve the problem - anyway this is a battery powered device where
> >the original implementers took great care on long battery life,
> >e.g. PAD_CTL_DRV_HIGH should not be nessesary for PMIC control.
> >
> >I do not see any way to override the 20MHz bitrate from board code, and 
> >since the PMIC access is not time critical on an ebook-reader my choice
> >would be rather 200kHz.
> >
> >Is there any way to override the driver supplied default max_speed_hz?
> >If not, my proposal is to either
> >* revert this patch and let the board code choose frequency
> >or
> >* reduce the speed to some common acceptable rate, e.g. 6MHz are fine
> >
> >How was this solved with other SPI devices?
> 
> For me, the MC13783 with i.MX27 works fine with 20MHz.
> Anyway, you can change line in mc13xxx driver to:
> mc_dev->spi->max_speed_hz = mc_dev->spi->max_speed_hz ? : 20000000;
> So you can use struct spi_board_info field for specify exact frequency.
Perfect, this provides the default but provides the option to override it.
I'll send a patch for this,
thanks, Alexander


More information about the barebox mailing list