NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-evbppc/60304: Wii - add generic char driver for gba / other joybus devices
>Number: 60304
>Category: port-evbppc
>Synopsis: Wii - add generic char driver for gba / other joybus devices
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: port-evbppc-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Mon Jun 01 18:00:00 +0000 2026
>Originator: Zac
>Release: 11.0
>Organization:
>Environment:
NetBSD wii 11.99.6 NetBSD 11.99.6 (NINTENDO) #20; Sun May 31 14:21:40 EDT 2026 user@devkitpro:/home/user/obj/sys/arch/evbppc/compile/NINTENDO evbppc
>Description:
I have been working on a generic char driver to support additional types of input on the Nintendo Wii's 4 gamecube ports and wanted to share the work in hope of contributing to src/
The change adds the `/dev/gcport[0-3]` device files which are matched by using the Joybus RESET/IDENTIFY commands to get the id of the plugged in device.
Currently the new char driver supports a single ioctl call to perform a transaction over the Wii's SI IO Buffer.
It will continue to use uhid for any gamecube controllers to preserve backwards compatibility.
summary of changes
- moves register definitions from si.c into si.h
- implements the data transfer over the SI IO Buffer
- queries the device id in the parent driver. continues to use uhid for a gamecube controller
- adds the new gcport_si.c char driver
the diff may most easily be seen here
https://github.com/NetBSD/src/pull/81/changes
>How-To-Repeat:
Working example of the new driver can be seen here
https://github.com/gummybuns/NetBSD-Wii-Joybus
1. Install netbsd on a wii
2. Compile the kernel from [my forked NetBSD-src](https://github.com/gummybuns/NetBSD-src/tree/wii-identify)
3. Plug a gameboy advance into one of the controller ports
4. boot up and run
>Fix:
Home |
Main Index |
Thread Index |
Old Index