diff --git a/litex_boards/targets/rcs_arctic_tern_bmc_card.py b/litex_boards/targets/rcs_arctic_tern_bmc_card.py index de66e71009f7e03e073bbd392c22ef77eb78b876..53025aad9170a0653f1e3d6b50f546a30352349e 100755 --- a/litex_boards/targets/rcs_arctic_tern_bmc_card.py +++ b/litex_boards/targets/rcs_arctic_tern_bmc_card.py @@ -52,6 +52,12 @@ from arcticterngpio.arcticterngpio import ArcticTernSDRHexDriver kB = 1024 mB = 1024*kB +# Production mode +# When enabled, boot time is prioritized +# and internal Flash is used as the boot source +# Various self-tests are disabled as well +production_mode = False + # Internal GPIO Output ----------------------------------------------------------------------------- class InternalGPIOOut(Module, AutoCSR): def __init__(self, data_out, nbits): @@ -557,8 +563,9 @@ def main(): "}\n") # Flash boot setup - flash_boot_adr = soc.mem_map["bmcspiflash"] + 0x800000 - soc.add_constant("FLASH_BOOT_ADDRESS", flash_boot_adr) + flash_boot_adr = soc.mem_map["bmcspiflash"] + if production_mode: + soc.add_constant("FLASH_BOOT_ADDRESS", flash_boot_adr) soc.set_gateware_dir(builder.gateware_dir) @@ -578,6 +585,9 @@ def main(): os.path.join(builder.gateware_dir, soc.platform.name + "_stuffed.config"), "--svf", os.path.join(builder.gateware_dir, soc.platform.name + ".svf"), "--bit", os.path.join(builder.gateware_dir, soc.platform.name + ".bit"), + "--spimode", "fast-read", + "--freq", "38.8", + "--compress", "--bootaddr", "0"]) if args.load: diff --git a/litex_boards/targets/sparrowhawk_bmc.py b/litex_boards/targets/sparrowhawk_bmc.py index ecb5e817f08b8133034d1dc79f90d0a04277442a..b173372807bed175fc0b7ed096cd7179705d931e 100755 --- a/litex_boards/targets/sparrowhawk_bmc.py +++ b/litex_boards/targets/sparrowhawk_bmc.py @@ -44,6 +44,12 @@ from opencoresi2c.opencoresi2c import OpenCoresI2CMaster kB = 1024 mB = 1024*kB +# Production mode +# When enabled, boot time is prioritized +# and internal Flash is used as the boot source +# Various self-tests are disabled as well +production_mode = False + # CRG ---------------------------------------------------------------------------------------------- class _CRG(Module): @@ -446,7 +452,8 @@ def main(): # Flash boot setup flash_boot_adr = soc.mem_map["bmcspiflash"] + 0x800000 - soc.add_constant("FLASH_BOOT_ADDRESS", flash_boot_adr) + if production_mode: + soc.add_constant("FLASH_BOOT_ADDRESS", flash_boot_adr) soc.set_gateware_dir(builder.gateware_dir) @@ -466,6 +473,9 @@ def main(): os.path.join(builder.gateware_dir, soc.platform.name + "_stuffed.config"), "--svf", os.path.join(builder.gateware_dir, soc.platform.name + ".svf"), "--bit", os.path.join(builder.gateware_dir, soc.platform.name + ".bit"), + "--spimode", "fast-read", + "--freq", "38.8", + "--compress", "--bootaddr", "0"]) if args.load: