Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

mithro opened this issue Feb 3, 2016 · 3 comments


Copy link

mithro commented Feb 3, 2016

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;

  • Access to well tested TCP/IP stack (useful for IP based streaming).
  • Access to well tested USB stack (useful for the USB-OTG connector).
  • Access to kernel mode setting for edid processing and DisplayPort stuff.

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

There is a port of the lm32 to qemu which will help, see timvideos/HDMI2USB-litex-firmware#86

Further reading

Knowledge Prerequisites

  • Linux Kernel knowledge
  • Strong C knowledge.
@mithro mithro added the GSoC label Feb 22, 2016
@mithro mithro changed the title [hdmi2usb] Port Linux to the lm32 CPU and support HDMI2USB firmware functionality [HDMI2USB] Port Linux to the lm32 CPU and support HDMI2USB firmware functionality Feb 22, 2016
Copy link

John-K commented Sep 29, 2017

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

Copy link

futaris commented Feb 13, 2018

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 2018 FPGA Miniconf �Set Up Instructions 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...

Copy link

fallen commented Jun 5, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

4 participants