[spi_device] Add passthrough datapath

This commit introduces the SPI passthrough feature. It snoops the SPI
lines and intervenes if the incoming command from the attached host
system is not permitted (command filter) or the data of the command
should be swapped (address manipulation).

The details are given at the header of
hw/ip/spi_device/rtl/spi_passthrough.sv systemverilog code.

Signed-off-by: Eunchan Kim <eunchan@opentitan.org>
diff --git a/hw/top_earlgrey/data/top_earlgrey.hjson b/hw/top_earlgrey/data/top_earlgrey.hjson
index 514272b..1cffa00 100644
--- a/hw/top_earlgrey/data/top_earlgrey.hjson
+++ b/hw/top_earlgrey/data/top_earlgrey.hjson
@@ -950,6 +950,8 @@
       'lc_ctrl.lc_iso_part_sw_wr_en'       : ['flash_ctrl.lc_iso_part_sw_wr_en'],
       'lc_ctrl.lc_seed_hw_rd_en'           : ['otp_ctrl.lc_seed_hw_rd_en',
                                               'flash_ctrl.lc_seed_hw_rd_en'],
+
+      //'spi_device.passthrough': ['spi_host0.passthrough']
     }
 
     // top is to connect to top net/struct.