Re: mc13xxx: Define maximum SPI clock frequency global to driver

Alexander Shiyan shc_work at mail.ru
Tue Jul 19 11:15:31 PDT 2016


>Вторник, 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.

---



More information about the barebox mailing list