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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.