-
Notifications
You must be signed in to change notification settings - Fork 792
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SPI device bootstrap support #20669
base: integrated_dev
Are you sure you want to change the base?
SPI device bootstrap support #20669
Conversation
@@ -30,12 +33,13 @@ module gpiodpi | |||
int gpiodpi_host_to_device_tick(input chandle ctx, | |||
input [N_GPIO-1:0] gpio_en_d2p, | |||
input [N_GPIO-1:0] gpio_pull_en, | |||
input [N_GPIO-1:0] gpio_pull_sel); | |||
input [N_GPIO-1:0] gpio_pull_sel, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explicitly define a storage type for every function parameter. [Style: function-task-argument-types] [explicit-function-task-parameter-type]
@@ -30,12 +33,13 @@ module gpiodpi | |||
int gpiodpi_host_to_device_tick(input chandle ctx, | |||
input [N_GPIO-1:0] gpio_en_d2p, | |||
input [N_GPIO-1:0] gpio_pull_en, | |||
input [N_GPIO-1:0] gpio_pull_sel); | |||
input [N_GPIO-1:0] gpio_pull_sel, | |||
output gpio_rst_n); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explicitly define a storage type for every function parameter. [Style: function-task-argument-types] [explicit-function-task-parameter-type]
@@ -55,8 +59,9 @@ module gpiodpi | |||
always_ff @(posedge clk_i or negedge rst_ni) begin | |||
if (!rst_ni) begin | |||
gpio_p2d <= '0; // default value | |||
gpio_rst_n = rst_ni; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use blocking assignments, at most, for locals inside 'always_ff' sequential blocks. [Style: sequential-logic] [always-ff-non-blocking]
end else begin | ||
gpio_p2d <= gpiodpi_host_to_device_tick(ctx, gpio_en_d2p, gpio_pull_en, gpio_pull_sel); | ||
gpio_p2d <= gpiodpi_host_to_device_tick(ctx, gpio_en_d2p, gpio_pull_en, gpio_pull_sel, gpio_rst_n); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line length exceeds max: 100; is: 106 [Style: line-length] [line-length]
17a3a4a
to
c9e336f
Compare
81f7b9d
to
f10f666
Compare
05a83eb
to
636cde4
Compare
249fc14
to
a269a55
Compare
916c9a5
to
31274bb
Compare
4914852
to
418583c
Compare
418583c
to
044e31e
Compare
Add carriage return to transitions from log info to console data from uart. Signed-off-by: Daniel Beitel <[email protected]>
Add TCP socket server to UART, GPIO, and SPI device interfaces. Add reset support in GPIO DPI. Support Socket Proxy protocol over SPI device DPI. Add mutex to manage data transfer in tcp server. Signed-off-by: Daniel Beitel <[email protected]>
Support split ingress/egress buffers in SPI device driver. Reenable bootstrap in rom and test rom (WIP). Enable verilator in openocd_test. Signed-off-by: Daniel Beitel <[email protected]>
Add support for second rom in opentitanlib Add TCP socket support to Verilator DPI interfaces. Support SPI device interface. Use Proxy Socket protocol Signed-off-by: Daniel Beitel <[email protected]>
Write/Read transactions should not deassert CSB in between. Change protocol generation to unsigned values Add delay between transactions Signed-off-by: Daniel Beitel <[email protected]>
Fix SPI device driver to initialize writable egress buffer. Change Bootstrap interface to write to Shared SRAM instead of Flash. Add verilator support to some bootstrap tests. On verilator build, ensure the async resets trigger at time 0. Signed-off-by: Daniel Beitel <[email protected]>
Format and trailing whitespace. Fix offsets for Shared SRAM. Optimize verify to compare 4k blocks. Fix SPI device unittest Signed-off-by: Daniel Beitel <[email protected]>
Implemented CTN SRAM driver that mimics Flash functionality for bootstrap. Signed-off-by: Daniel Beitel <[email protected]>
Update dmi dpi for configurable id. Add jtag interface into opentitanlib verilator transport. Update verilator jtag configuration files. Signed-off-by: Daniel Beitel <[email protected]>
Fix some SPI dpi corner cases. Fix Uart drain error. Signed-off-by: Daniel Beitel <[email protected]>
Fix some SPI dpi corner cases. Fix Uart drain error. Signed-off-by: Daniel Beitel <[email protected]>
044e31e
to
f97efeb
Compare
Bootstrap support downloading images into CTN SRAM has been added back into test rom in this PR. Waiting on merge of base/second rom implementation to add bootstrap support into production rom. Also added bootstrap protocol support back into verilator model. List of changes below:
[opentitantool/console] Fix transition from log to console data.
Add carriage return to transitions from log info to console data from uart.
[dv/dpi] Support DPI over TCP sockets
Add TCP socket server to UART, GPIO, and SPI device interfaces.
Add reset support in GPIO DPI.
Support Socket Proxy protocol over SPI device DPI.
Add mutex to manage data transfer in tcp server.
[rom/bootstrap] Add bootstrap support to OT integrated.
Support split ingress/egress buffers in SPI device driver.
Reenable bootstrap in rom and test rom (WIP).
Enable verilator in openocd_test.
[opentitantool/verilator] Support TCP socket connectivity.
Add support for second rom in opentitanlib.
Add TCP socket support to Verilator DPI interfaces.
Support SPI device interface. Use Proxy Socket protocol.
[dv/dpi] Fix SPI device transactions
Write/Read transactions should not deassert CSB in between.
Change protocol generation to unsigned values.
Add delay between transactions.
[rom/spi_device] Bootstrap to Shared SRAM
Fix SPI device driver to initialize writable egress buffer.
Change Bootstrap interface to write to Shared SRAM instead of Flash.
Add verilator support to some bootstrap tests.
On verilator build, ensure the async resets trigger at time 0.
[dv/dpi] Fix CI issues
Format and trailing whitespace.
Fix offsets for Shared SRAM.
Optimize verify to compare 4k blocks.
Fix SPI device unittest.
[rom/bootstrap] CTN SRAM driver
Implemented CTN SRAM driver that mimics Flash functionality for bootstrap.
[verilator/jtag] Update jtag support for verilator
Update dmi dpi for configurable id.
Add jtag interface into opentitanlib verilator transport.
Update verilator jtag configuration files.