making progress daily, but as with all projects the last 10% takes as much time as the first 90...
• sdhost driver is ready, we need this so the Arasan chip can be used for wifi, and it is much faster
• I got ethernet working for 3b+, but it needs a bit more testing. Unfortunately the 2 and 3b have a different chip that the 3b+, so they require a different driver.
• usb is the tricky one. Mouse and keyboard works, but needs to be connected at boot. Mass storage devices works to an extent, but there are some quirks I need to fix. Ethernet as I mentioned, which is connected to usb on the pi 2 and 3, looks like it works. My goal here is to get keyboard, mouse, MSC and ethernet working at the same time and that the driver handles disconnecting/connecting properly. I don't think I far from achieving that, but new surprises pops up all the time. I don't do dynamic channel allocation, so hubs and more than one MSC device will not work.
• The gallium driver currently produces garbage, but I recently learned that there are a few fixes to the vc4 driver in mesa 20.3, so I am about to test that version.
• An attempt to use DMA in the 2D graphics driver also failed, but I don't think this is important
• SMP works, but I was not able to make it boot unless I hold core 1,2 and 3 until the end of the boot sequence. So essentially it boots using only cpu 0. I also changed the implementation from using one global ready queue to one queue for each cpu, the task switching cased a lot of deadlocks and I struggled getting IPI messages to work. We need to talk about this, it breaks a lot of stuff I guess..
I really hope to have the usb driver ready by the end of the weekend, but cannot promise anything