As expected my son is occupying me a lot. But I had some Innovation Time Off accumulated at work so I worked on Palms a bit.
USB client is not working well for all PXA machines, but palmtreo.c code had missing some more functionality - connection worked only once when booting with cable attached. I fixed this with following marex's patch adding this support for PalmLD, PalmTX and PalmT5. It works now better, but it stops working after suspend/resume. I'll try to dig into code. I have found that GPIO90 works same way as GPIO1 - USB detection - weird.
Support for MAX8588 and PI2C was added and it seems to work. Funny about this is, that I tried to use CPU at 416 MHz in Linux at the same voltage as it was set in PalmOS for 312 MHz. I started to use Linux on 520 MHz and it works nice.
Camera differs from the ones found in other Palms (understand - I tried to follow marex's patch for Zire72 camera but it did not work :). I disassembled my Treo680 and tried to trace GPIOs. The only one new GPIO I have found is GPIO82. You can see photos here and here. I don't know currently what type it is and I didn't even found it on I2C bus yet. Interesting is that this module has 20 pins.
I also did some tiny code cleanups but I have to create patch set and push so you can use it too.
If you want some up-to-date distribution, you can try Ångström distribution - they started to provide online builder where Palm Treo 650 can be found. You can use such image, just put there new kernel and modules. Beware of udev and CONFIG_SYSFS_DEPRECATED. I tried OPIE (didn't work), GPE (worked somehow) using mdev instead of udev.
You can also prepare Debian root filesystem using qemu. There is prepared kernel and base system here you can use as a start. If there will be time spare I'll make some automated up-to-date Debian root filesystem generator for Palms. For getting files out of qemu disk when the virtual system is off use
raw image type.