Created attachment 155083 [details]
Pogoplug V4 / 88F6192 patch
Marvell 88F6192 (used in Pogoplug Series 4 for example) seems to incorrectly identify itself as 88F6281. Although very similar devices, 6192 has a TCLK of 166Mhz rather than 200Mhz. Since TCLK is wrong so is the system time.
The attached patch works however I'm not entirely sure this is complete or the way in which this kind of hardware issue is normally dealt with.
POGOPLUGV4 was derived from DOCKSTAR
pogoplugv4.dts was derived from db88f6281.dts
Linux identifies as 88F6281 but the TCLK is correct.
Apparently the sample-at-reset register has a bit that indicates the correct TCLK. (based on several sources including https://stuff.mit.edu/afs/sipb/contrib/linux/drivers/clk/mvebu/kirkwood.c)
So a better fix would probably be to ignore the fact that it is really a 6192 and just set TCLK based on that.
I also came across more recent Linux changes to use DT: http://lists.infradead.org/pipermail/barebox/2014-June/019535.html
As a noob to Freebsd kernel changes, I'm not in a position to determine what is the right way to fix this. Nor do I have a 6281 device to test any changes.