spi: sifive: Fix format register proto field
authorJagan Teki <jagan@amarulasolutions.com>
Thu, 23 Apr 2020 17:00:54 +0000 (22:30 +0530)
committerJagan Teki <jagan@amarulasolutions.com>
Thu, 30 Apr 2020 17:04:20 +0000 (22:34 +0530)
commit622b913ea179645a37dc4fcb75cea6f54d3b505f
tree17cce9082494287a275f9262670ccf7329fdc7ab
parentb7d6e104fbfd54b7ffe9e0a00200e98dd2904a65
spi: sifive: Fix format register proto field

SiFive SPI controller has a proto bit field in frame format
register which would be used to configure the SPI I/O protocol
lines used on specific transfer. 

Right now the driver is configuring this proto using slave->mode,
for all types of transctions. This makes the driver unable to
function since the proto needs to configure dynamically for
each and every transaction separately at runtime.

Now, the controller driver supports per transfer via spi-mem
exec_opo, so add the fmt_proto flag and fill the per transfer
buswidth so that the controller configures the proto bit at
runtime.

This patch fixes the SPI controller works with SPI NOR flash
on quad read with page program.

Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Sagar Kadam <sagar.kadam@sifive.com>
drivers/spi/spi-sifive.c