libtrellis: Add multiboot ctrl0 flag Signed-off-by: Jens Andersen <jens.andersen@gmail.com>
diff --git a/libtrellis/src/Bitstream.cpp b/libtrellis/src/Bitstream.cpp index f8100ab..6bcf450 100644 --- a/libtrellis/src/Bitstream.cpp +++ b/libtrellis/src/Bitstream.cpp
@@ -28,6 +28,8 @@ {"dual-spi", 0x51}, {"qspi", 0x59}}; +static const uint32_t multiboot_flag = 1 << 20; + // The BitstreamReadWriter class stores state (including CRC16) whilst reading // the bitstream class BitstreamReadWriter { @@ -433,6 +435,12 @@ throw runtime_error("bad frequency option " + options.at("freq")); ctrl0 |= freq->second; } + if (options.count("multiboot")) { + if (options.at("multiboot") == "yes") + ctrl0 |= multiboot_flag; + else + ctrl0 &= ~multiboot_flag; + } wr.write_uint32(ctrl0); // Init address wr.write_byte(uint8_t(BitstreamCommand::LSC_INIT_ADDRESS));