Skip to content

Commit 667b5e8

Browse files
lategoodbyebroonie
authored andcommitted
spi: spi-fsl-lpspi: support effective_speed_hz
Setting spi_transfer->effective_speed_hz in transfer_one so that SPI client driver can use it. Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Frank Li <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 7086f49 commit 667b5e8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/spi/spi-fsl-lpspi.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ struct lpspi_config {
9292
u8 prescale;
9393
u16 mode;
9494
u32 speed_hz;
95+
u32 effective_speed_hz;
9596
};
9697

9798
struct fsl_lpspi_data {
@@ -351,6 +352,9 @@ static int fsl_lpspi_set_bitrate(struct fsl_lpspi_data *fsl_lpspi)
351352
writel(scldiv | (scldiv << 8) | ((scldiv >> 1) << 16),
352353
fsl_lpspi->base + IMX7ULP_CCR);
353354

355+
fsl_lpspi->config.effective_speed_hz = perclk_rate / (scldiv + 2) *
356+
(1 << prescale);
357+
354358
dev_dbg(fsl_lpspi->dev, "perclk=%u, speed=%u, prescale=%u, scldiv=%d\n",
355359
perclk_rate, config.speed_hz, prescale, scldiv);
356360

@@ -750,6 +754,8 @@ static int fsl_lpspi_transfer_one(struct spi_controller *controller,
750754
if (ret < 0)
751755
return ret;
752756

757+
t->effective_speed_hz = fsl_lpspi->config.effective_speed_hz;
758+
753759
fsl_lpspi_set_cmd(fsl_lpspi);
754760
fsl_lpspi->is_first_byte = false;
755761

0 commit comments

Comments
 (0)