This repo houses or points to the gateware (FPGA image code) for the librebmc project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.3 KiB

gateware

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:

  1. Kernels supported -- currently microwatt
    • Needs to be incorporated with lite-x
  2. Need to pull in Peripherals from lite-x such as I2C,etc. supported_peripherals
  3. Need to pull in other peripherals pulled in such as LPC
  4. 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.
  5. 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