1
0

spi: Fix io.port.dq(3) output enable

Issue: The output enable signal for DQ[3] is not driven properly.

Symptoms: Output data from master to slave is not properly transmitted
in quad mode.  Data received from the slave is unaffected.

Workaround: When interfacing with SPI flash devices, do not use the
"Quad Input/Output Fast Read" command (opcode 0xEB) while in the
Extended SPI protocol.  Do not use the Native Quad SPI protocol.
This commit is contained in:
Albert Ou 2017-05-02 12:07:37 -07:00
parent 6eddf517a3
commit eea10f5129

View File

@ -82,7 +82,7 @@ class SPIPhysical(c: SPIParamsBase) extends Module {
} }
val tx = (ctrl.fmt.iodir === SPIDirection.Tx) val tx = (ctrl.fmt.iodir === SPIDirection.Tx)
val txen_in = (proto.head +: proto.tail.map(_ && tx)).scanRight(Bool(false))(_ || _) val txen_in = (proto.head +: proto.tail.map(_ && tx)).scanRight(Bool(false))(_ || _).init
val txen = txen_in :+ txen_in.last val txen = txen_in :+ txen_in.last
io.port.sck := sck io.port.sck := sck