forked from torvalds/linux
-
Couldn't load subscription status.
- Fork 17
Driver and platform support
Wolfvak edited this page May 14, 2021
·
6 revisions
This page has the status for driver bringup for 3DS Linux and is a good place to start with for people who want to contribute. The priority is determined as follows: high - required for a usable environment, med - required to be livable on it, low - not needed but would be nice to have, extra - not needed at all but bonus points for anyone who gets it working.
| Name | Status | Priority | Links | Notes |
|---|---|---|---|---|
| MPCore | 100% | High | TRM | Supported by Linux |
| GIC | 100% | High | Supported by Linux | |
| SMP | 100% | High | Description | Supports all CPUs, dual core on old3DS and quad core on new3DS models |
| Extra FCRAM | 100% | High | Only for new3DS | |
| CPU reclocking | 0% | High | Issue | Only for new3DS |
| Power management | ~5% | Med | Registers | Some drivers support power management already but most don't, and we need platform-specific sleep modes |
| ARM9 | 50% | High | arm9linuxfw | Fully supported from Linux through VirtIO, it just needs a better firmware on the ARM9 side |
| PL-330 | 90% | High | Supported by Linux, needs more support on new3DS |
| Name | Status | Priority | Links | Notes |
|---|---|---|---|---|
| SPI | 100% | High | Registers | Doesn't support the autopolled modes since Linux has no concept of such thing |
| I2C | 100% | High | Registers | |
| GPIO | 100% | High | Registers | Needs very special handling for interrupts |
| SDHC | ~80% | Med | Reference | There's a basic implementation but it doesn't support the 32bit FIFO |
| Wireless | 0% | Med | Wifiboot | Needs more research into the AR6002 and how it can be brought back into the mainline kernel (it was removed when the ath6kl driver was moved off staging?) |
| GPU | 0% | Med | Baremetal implementation | Includes the display controller, command processor and DMA transfer unit |
| Backlight | 0% | Med | Registers | |
| CSND | 0% | Med | Baremetal implementation | Needs codec first, and this is only a simple multichannel output pipe |
| DSP | 0% | Extra | Info Registers | Same as the DSP in the DSi, there hasn't been much RE done on it yet? |
| Camera | 0% | Extra | Not much info out there | |
| Y2R | 0% | Extra | Color conversion hardware? Used by the camera | |
| MVD | 0% | Extra | H264 hardware acceleration chip, only on new3DS | |
| MIC | 0% | Low | Registers | Microphone capture |
| Name | Status | Priority | Links | Notes |
|---|---|---|---|---|
| spi-nor | 75% | Low | It's a regular chip that should be supported by the spi-nor driver but it has a custom ID that's not recognized | |
| touch | 100% | Med | Touschreen/circlepad controller in CODEC | |
| codec | 0% | Med | Baremetal implementation | Sound controller in CODEC |
| Name | Status | Priority | Links | Notes |
|---|---|---|---|---|
| IRQ Chip | 100% | High | Info | |
| Fuel gauge | 100% | Med | Info | Supports retrieving the battery voltage, temperature, capacity and the status of the AC charger (connected or not) |
| RTC | 100% | Med | Info | Supports both reading and writing the raw time |
| Accelerometer | 100% | Low | Info | The LIS331DLH is already supported in Linux but the 3DS exposes a different interface to it |
| Gyroscope | 50% | Low | ITG-3200 ITG-1010 | The kernel fully supports the ITG-3200, but it needs a new driver for the ITG-1010 |
| Infrared | 90% | Low | Info | The SC16IS750 is already supported and seems to work in Linux, but the IR LED itself is never lit up when transferring data, needs more research |
| LEDs | 90% | Low | Info | Only supports controlling the notification LED, the rest are not that important? |
| Regulators | 95% | High | Info | Supports toggling regulators on and off but it waits for a fixed amount of time rather than for an interrupt |
???
("inspired" by https://wiki.henkaku.xyz/vita/Linux_Driver_Status)