Use case

Mr. Edmund Humenberger

I need a solution with several interfaces.

I buy a carrier board with enough cruvi slots and I buy all the different cruvi modules I need.

I plug in all cruvi modules into the carrier board and switch on the power.

The carrier board generates a device tree file which gets stored (where?).

I upload the device tree file to a web site. I configure othe website what kind of SoC I want (32bir Risc-V with Rust environment for all HW devices)

I download my system file, put it into my system(how?) Start the system and connect to it from my Rust development environment. 

I start writing my solution in Rust.


Antti Lukats

nice, that could be set as long term goal, but full 100% plug and play is not set as ultimate target, so it may take a while..

Some comments: when the carrier wakes up, then either SoC (if hard CPU part of main IC), or FPGA cold-boot image or baseboard controller would try to enumerate all detected modules. For some subset of modules this information maybe sufficient to generate the device tree, for all I2C, SPI like stuff and some more generic interfaces. For complex interfaces it gets more complicated as the FPGA "SoC" builder may have to pull in IP cores support different interfaces. Things that maybe possible are like generating the constraint files for the FPGA I/O connections and validating that the I/O banking and standard rules are OK, etc.