Leveraging sifive-blocks and fpga-shells for other rocket-chip variants

I am looking to use the existing SiFive UART for inclusion in a rocket-chip variant. I am not using the Freedom U500 platform directly for this use case.

This is a fairly open-ended question, so I can understand the reluctance to respond. As part of the Freedom U500 platform, an expanded/custom build process was developed above and beyond the standard rocket chip.

Can you provide a pointer or two how to leverage the SiFive UART in a more traditional rocket-chip build flow? I know it is TileLink based, but there are challenges even compiling the Scala when including it as a rocket chip addon…

I have included the sifive-blocks and fpga-shells as submodules in my git repo.

Thanks,
Brendon