I recently tried writing some code to try and get the cpu junction temperature using the THRM1 and THRM3 registers (single-threshold mode). Unfortunately it didn't work - writing to the registers worked, and I could read back the values that I'd written, but the TIV bit on the THRM1 register remained cleared so the comparison result was never valid.
What might be the problem is that the Sampled Interval Timer Value in THRM3 is meant to specify 20ms in processor cycles; given the wii cpu runs at 729MHz, this would mean a value of 14580. But the SITV field is only 13 bits so the largest value it can hold is 8191 (someone should probably tell the linux kernel people about this). I found a powerpc/freescale doc that said if the processor speed is too fast, just write 0x1FFF to SITV and accept the sampling inaccuracies but this doesn't solve the problem.
Is there anyone that has written code to use the TAU on the wii/any powerpc that might be willing to offer any insight?