This repo contains the gateware (or pointers to the gateware) needed to build the various pieces of the BMC FPGA image. This includes the following:
- Kernels supported -- currently microwatt
- Needs to be incorporated with lite-x
- Need to pull in Peripherals from lite-x such as I2C,etc. supported_peripherals
- Need to pull in other peripherals pulled in such as LPC
- Need to create new peripherals as needed. See list below. It is desired that all peripherals are in lite-x, but that is not required.
- Need the build instructions for the FPGA image.
List of all peripherals needed:
Full Litex FPGA support (I2C, FSI, etc):
See this doc --> https://docs.google.com/document/d/10RJUk_uXhku6FTnb-WtpIDHrkrEaWdAREF4wafYzfV4/edit
* PCIe - https://github.com/enjoy-digital/litepcie This is not needed for AC922
* I2C/I3C Can bit bang
* USB https://luna.readthedocs.io/ This was used for Keyboard Video Mouse. Not needed unless we plan to use this to demo.
* VGA to drive the display Only needed if we intend to demo this live. No plans to do so at this time
* FSI (uses I3C) Can bit bang
* GPIOs - https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/gpio.py Done, but not in lite-x. Do not need to port to lite-x now
* LPC -- We have the gateware, but need integration with Litex
* Ethernet - https://github.com/enjoy-digital/liteeth Done
* Refclock Was for PCIe so not needed
* CLKIN Clock for the BMC chip itself. Done in microwatt and lite-x. Either can be used.
* RTC Not needed at this time. For TOD/Time stamps
* JTAG - https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/jtag.py Done in microwatt. We do not need/use. Do not need to port to lite-x
* DDR - https://github.com/enjoy-digital/litedram/tree/master/litedram Done in lite-x
* SPI - https://github.com/litex-hub/litespi This is needed to grab the flash image on the real card. However we have another method on the FPGA so this is not needed.
* PWM. Do not need. External controller uses I2C