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

Open
mithro opened this issue Feb 3, 2016 · 3 comments

Comments

@mithro
Copy link
Member

@mithro 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
@John-K
Copy link

@John-K 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

@futaris
Copy link

@futaris futaris commented Feb 13, 2018

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
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
Copy link

@fallen 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
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.