timvideos / getting-started

List of ideas for getting started with TimVideos projects
https://code.timvideos.us/summer-of-code/
52 stars 19 forks source link

[HDMI2USB] Port Linux to the lm32 CPU and support HDMI2USB firmware functionality #30

Open mithro opened 8 years ago

mithro commented 8 years ago

Brief explanation

The HDMI2USB gateware currently includes a lm32 soft core. The misoc version has an MMU and should support running a full Linux kernel.

Expected results

Linux booting on the HDMI2USB gateware.

Detailed Explanation

There is a bunch of extra information in the LiteX Linux Support Random Notes Google Doc.

The HDMI2USB-misoc-firmware embeds a LM32 soft-core for controlling and configuring the hardware. See the diagram below;

MiSoC firmware structure

This soft-core should be able to run Linux Kernel, which means we would get access to a lot of good things;

Work on this was started by the MilkyMist / M-Labs people.

There is a port of the lm32 to qemu which will help, see https://github.com/timvideos/HDMI2USB-misoc-firmware/issues/86

Further reading

John-K commented 7 years ago

Just dropping a note so that people know a good amount of work on this has been done in linux-lm32

futaris commented 6 years ago

http://j.mp/pre-fpga-lca2018

Linux isn't possible on lm32, due to bitrot. However we have it booting on or1k. 10/100 Ethernet is also working as of Jan 2018. See above instructions.

Google Docs
FPGA Miniconf Set Up Instructions
Linux.conf.au 2018 FPGA Miniconf Set Up Instructions https://j.mp/pre-fpga-lca2018 Aim Requirements Pre-work for the Miniconf Download & Install Vivado Download & Install LiteX Dependencies Download & setup udev rules Download & setup the LiteX Build Environment Resuming Development Test build...
fallen commented 5 years ago

Also, I might add that current lm32 Linux port, whatever its bitrot state, isn't using the MMU. It's uCLinux (noMMU). MMU is experimental also.