@@ -4,7 +4,8 @@ SPI Engine Instruction Set Specification
44================================================================================
55
66The SPI Engine instruction set is a 16-bit instruction set of which 13-bits are
7- currently allocated (bits 15,11,10 are always 0).
7+ currently allocated (bits 15 and 11 are always 0). Bit 10 is only being used by
8+ the :ref: `spi_engine write-configuration-instruction `.
89
910Instructions
1011--------------------------------------------------------------------------------
@@ -165,6 +166,8 @@ prescaled).
165166 - Chip-select
166167 - The new chip-select configuration.
167168
169+ .. _spi_engine write-configuration-instruction :
170+
168171Configuration Write Instruction
169172~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
170173
@@ -192,7 +195,7 @@ Configuration Write Instruction
192195 - 1
193196 - 0
194197 - rv
195- - rv
198+ - rg
196199 - rg
197200 - rg
198201 - v
@@ -222,10 +225,11 @@ with a new value.
222225 - Register
223226 - Configuration register address:
224227
225- - 2'b00 = :ref: `spi_engine prescaler-configuration-register `.
226- - 2'b01 = :ref: `spi_engine spi-configuration-register `.
227- - 2'b10 = :ref: `spi_engine dynamic-transfer-length-register `.
228- - 2'b11 = :ref: `spi_engine spi-lane-mask-register `.
228+ - 3'b000 = :ref: `spi_engine prescaler-configuration-register `.
229+ - 3'b001 = :ref: `spi_engine spi-configuration-register `.
230+ - 3'b010 = :ref: `spi_engine dynamic-transfer-length-register `.
231+ - 3'b011 = :ref: `spi_engine sdi-lane-mask-register `.
232+ - 3'b100 = :ref: `spi_engine sdo-lane-mask-register `.
229233 * - v
230234 - Value
231235 - New value for the configuration register.
@@ -471,15 +475,36 @@ bus behavior.
471475 - When 1, data is sampled on the trailing edge and updated on the
472476 leading edge.
473477
478+ .. _spi_engine sdi-lane-mask-register :
479+
480+ SDI Lane Mask Register
481+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
482+
483+ This register configures the SDI mask that defines which lanes are active
484+ (active-high). The user must define a mask that contains up to ``NUM_OF_SDIO ``
485+ lanes (the number of activated lanes cannot be bigger than the number of lanes).
486+ For now, it is possible to have up to 8 lanes due to the instruction size.
487+
488+ .. list-table ::
489+ :widths: 10 15 50
490+ :header-rows: 1
491+
492+ * - Bits
493+ - Name
494+ - Description
495+ * - [7:0]
496+ - SDI lane mask
497+ - Only bits set to 1 have their respective lane active.
498+
474499
475- .. _spi_engine spi -lane-mask-register :
500+ .. _spi_engine sdo -lane-mask-register :
476501
477- SPI Lane Mask Register
502+ SDO Lane Mask Register
478503~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
479504
480- This register configures the mask that defines which lanes are active
481- (active-high). The user must define a mask that contains up to ``NUM_OF_SDI ``
482- lanes (the number of activated lanes cannot be bigger than the numer of lanes).
505+ This register configures the SDO mask that defines which lanes are active
506+ (active-high). The user must define a mask that contains up to ``NUM_OF_SDIO ``
507+ lanes (the number of activated lanes cannot be bigger than the number of lanes).
483508For now, it is possible to have up to 8 lanes due to the instruction size.
484509
485510.. list-table ::
@@ -490,7 +515,7 @@ For now, it is possible to have up to 8 lanes due to the instruction size.
490515 - Name
491516 - Description
492517 * - [7:0]
493- - Lane mask
518+ - SDO lane mask
494519 - Only bits set to 1 have their respective lane active.
495520
496521.. _spi_engine prescaler-configuration-register :
0 commit comments