lowRISC / lowRISC/mocha

Further driver work in Linux

Open
#629 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
SystemVerilog
Stars
38
Forks
21
Avg merge
2d 23h
Merged PRs (30d)
14

Description

Only a UART driver is implemented in Linux at the moment, just to get the system booted up for interactive use. The PLIC driver and timer are (trivially) provided by the pre-existing PLIC driver implementation in Linux and SBI calls to OpenSBI respectively. The rest of our peripherals do not have drivers in Linux and many are also not exposed in the devicetree.

GPIO would be the simplest extra driver to implement with visible effects (blinking an LED in Linux for example). SPI Host and I2C Host would be necessary for talking to peripherals (e.g the SD card for persistent storage, sensors, etc). Of particular importance to Linux would be an Entropy Source driver to feed Linux's entropy pool for cryptographic applications that require randomness.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by surveying the existing Linux UART driver, the device tree, and the pre-existing PLIC/SBI support, then choose whether GPIO, SPI Host, I2C Host, or an entropy source is in scope. Done means the selected peripheral has Linux support and is exposed where needed for the stated use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
embedded-iot, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.