[RFC v1 0/3] mmc-spi - support controllers incapable of getting as low as 400KHz

From: Conor Dooley
Date: Wed Jun 12 2024 - 11:49:01 EST


From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Yo,

RFC for some stuff that I've got in-progress for a customer's board
where they want to use mmc-spi-slot with a QSPI controller that is
incapable of getting as low as 400KHz with the way clocks have been
configured on the system. At the moment, if a controller cannot get that
low, linux continuously reports that queuing a transfer fails. The first
couple of transfers will complete on this system, until mmc_start_host()
kicks in and clamps the frequency to the larger of host->f_min and 400
KHz.
Doing something like patch 1 of this set would allow the mmc-spi-slot to
function for some sd cards, an improvement on the current none. I don't
have any sd cards on hand that don't support the 5 MHz minimum frequency
that this controller is limited to, so I amn't sure at what point this
will blow up if such a card was used.

Is this sort of change something that would fly?

Patches 2 & 3 are just here b/c without #3 the qspi driver for this
platform doesn't support anything other than mem ops and #2 is required
to set the minimum frequency for mmc_spi to pick up.

Cheers,
Conor.

CC: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
CC: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
CC: cyril.jean@xxxxxxxxxxxxx
CC: Mark Brown <broonie@xxxxxxxxxx>
CC: linux-mmc@xxxxxxxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
CC: linux-riscv@xxxxxxxxxxxxxxxxxxx
CC: linux-spi@xxxxxxxxxxxxxxx

Conor Dooley (2):
mmc: mmc_spi: allow for spi controllers incapable of getting as low as
400k
spi: microchip-core-qspi: set min_speed_hz during probe

Cyril Jean (1):
spi: microchip-core-qspi: Add regular transfers

drivers/mmc/host/mmc_spi.c | 5 +-
drivers/spi/spi-microchip-core-qspi.c | 224 +++++++++++++++++++++++++-
2 files changed, 226 insertions(+), 3 deletions(-)

--
2.43.0