OSDN Git Service

iio: adc: stm32-dfsdm: make spi_master_freq more accurate
authorFabrice Gasnier <fabrice.gasnier@st.com>
Thu, 21 Mar 2019 16:47:22 +0000 (17:47 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 4 Apr 2019 19:20:32 +0000 (20:20 +0100)
commit2e19ba661ece580b23115f7eff1e5fad25317172
tree69286b366246f5ff954eabc6f47eea1b9c2bf389
parent57565828adf56e1a3200dd488ad86c84673a361e
iio: adc: stm32-dfsdm: make spi_master_freq more accurate

Current ckout divider may be set to a value that makes ckout to exceed
spi-max-frequency. Rather use lower value (e.g. round up divider when
ckout isn't accurate).

Also when the SPI clock isn't accurate, 'spi_master_freq' is filled in
with expected frequency. Use computed value instead to be more accurate:
- e.g. source clock / (CKOUTDIV + 1)

Enforce checks on the divider: ckoutdiv range can be from 1-255 to provide
divider of 2-256.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/stm32-dfsdm-core.c