spi: aspeed: Adjust direct mapping to device size
authorCédric Le Goater <clg@kaod.org>
Mon, 9 May 2022 17:56:10 +0000 (19:56 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 16 May 2022 11:59:17 +0000 (12:59 +0100)
commitbb084f94e1bca4a5c4f689d7aa9b410220c1ed71
treec7d06de8ba59dfca274914492491329da0c4b555
parent9da06d7bdec7dad8018c23b180e410ef2e7a4367
spi: aspeed: Adjust direct mapping to device size

The segment registers of the FMC/SPI controllers provide a way to
configure the mapping window of the flash device contents on the AHB
bus. Adjust this window to the size of the spi-mem mapping.

Things get more complex with multiple devices. The driver needs to
also adjust the window of the next device to make sure that there is
no overlap, even if there is no available device. The proposal below
is not perfect but it is covering all the cases we have seen on
different boards with one and two devices on the same bus.

Reviewed-by: Joel Stanley <joel@jms.id.au>
Tested-by: Joel Stanley <joel@jms.id.au>
Tested-by: Tao Ren <rentao.bupt@gmail.com>
Tested-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Link: https://lore.kernel.org/r/20220509175616.1089346-6-clg@kaod.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-aspeed-smc.c