Porting NetBSD to the Nintendo 3DS
Paul Walker <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.arm |
|---|---|
| Message-ID | <[email protected]> |
Hi, I want to start porting NetBSD to the Nintendo 3DS line of handhelds. I need guidance on how to implement the drivers for this port. There are many unique features of the 3DS that need new drivers. The system has three CPUs: an arm11mpcore (has either 2 or 4 cores, depending on the model), an arm946e-s (security co-processor), and an arm7tdmi (used for DS and GBA games). The main CPU does not have direct access to storage. This means that a baremetal program needs to be made for the security co-processor to allow access to such hardware. The 3DS has direct access to the I2C and SPI controllers along with a Corelink DMA-330 co-processor. The state of the gamepad is available via IO registers. https://www.3dbrew.org/wiki/IO_Registers The I2C controller needs a driver so the kernel can access the MCU for power management. https://www.3dbrew.org/wiki/I2C_Registers I'm going to start by writing firmware to load a NetBSD kernel. --- Paul W.