Hello,
I’d first check that the FIT enable bit in the TCR is set correctly and that the corresponding exception vector is properly initialized. Also make sure the exception/MSR configuration allows the FIT interrupt to be taken.
One thing that stands out is writing the same value to TCR twice:
asm("li r0, 0x8000");
asm("mtspr TCR, r0");
asm("mtspr TCR, r0");
If your intention is simply to force the FIT event, you may not need the second write. The exact behavior also depends on the PowerPC core and the TCR bit definitions for that specific device.