soc/cores/spi_opi: documentation fixes
The ModuleDoc-generated documentation for the spi_opi module produced slightly invalid output due to ambiguities in how rst assigns headers. As a result, sections from the spi_opi document would appear as full sections. This cleans up these errors so that it parses properly under sphinx. Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
d2f6139dc7
commit
a2f61b4e80
|
@ -18,9 +18,7 @@ class S7SPIOPI(Module, AutoCSR, AutoDoc):
|
||||||
sim = False,
|
sim = False,
|
||||||
spiread = False,
|
spiread = False,
|
||||||
prefetch_lines = 1):
|
prefetch_lines = 1):
|
||||||
self.intro = ModuleDoc("""
|
self.intro = ModuleDoc("""Intro
|
||||||
Intro
|
|
||||||
********
|
|
||||||
|
|
||||||
SpiOpi implements a dual-mode SPI or OPI interface. OPI is an octal (8-bit) wide variant of
|
SpiOpi implements a dual-mode SPI or OPI interface. OPI is an octal (8-bit) wide variant of
|
||||||
SPI, which is unique to Macronix parts. It is concurrently interoperable with SPI. The chip
|
SPI, which is unique to Macronix parts. It is concurrently interoperable with SPI. The chip
|
||||||
|
@ -300,14 +298,13 @@ class S7SPIOPI(Module, AutoCSR, AutoDoc):
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
self.architecture = ModuleDoc("""
|
self.architecture = ModuleDoc("""Architecture
|
||||||
Architecture
|
|
||||||
**************
|
|
||||||
|
|
||||||
The machine is split into two separate pieces, one to handle SPI, and one to handle OPI.
|
The machine is split into two separate pieces, one to handle SPI, and one to handle OPI.
|
||||||
|
|
||||||
SPI
|
SPI
|
||||||
=====
|
-----
|
||||||
|
|
||||||
The SPI machine architecture is split into two levels: MAC and PHY.
|
The SPI machine architecture is split into two levels: MAC and PHY.
|
||||||
|
|
||||||
The MAC layer is responsible for:
|
The MAC layer is responsible for:
|
||||||
|
@ -333,7 +330,8 @@ class S7SPIOPI(Module, AutoCSR, AutoDoc):
|
||||||
Thus holding "req" high can allow the PHY to back-to-back issue cycles without pause.
|
Thus holding "req" high can allow the PHY to back-to-back issue cycles without pause.
|
||||||
|
|
||||||
OPI
|
OPI
|
||||||
=====
|
-----
|
||||||
|
|
||||||
The OPI machine is split into three parts: a command controller, a Tx PHY, and an Rx PHY.
|
The OPI machine is split into three parts: a command controller, a Tx PHY, and an Rx PHY.
|
||||||
|
|
||||||
The Tx PHY is configured with a "dummy cycle" count register, as there is a variable length
|
The Tx PHY is configured with a "dummy cycle" count register, as there is a variable length
|
||||||
|
@ -389,6 +387,7 @@ class S7SPIOPI(Module, AutoCSR, AutoDoc):
|
||||||
- pre-fetch is aborted because bus_adr and next read address don't match and FIFO is reset
|
- pre-fetch is aborted because bus_adr and next read address don't match and FIFO is reset
|
||||||
|
|
||||||
RxPHY:
|
RxPHY:
|
||||||
|
|
||||||
- while CTI==2, assemble data into 32-bit words as soon as EMPTY is deasserted,
|
- while CTI==2, assemble data into 32-bit words as soon as EMPTY is deasserted,
|
||||||
present a bus_ack, and increment the next read address pointer
|
present a bus_ack, and increment the next read address pointer
|
||||||
- when CTI==7, ack the data, and wait until the next bus cycle with CTI==2 to resume
|
- when CTI==7, ack the data, and wait until the next bus cycle with CTI==2 to resume
|
||||||
|
|
Loading…
Reference in New Issue