Moses,
We require this 1Mhz counter to have a timestamp every 1ms with a rate of 1 us counter. Yes the counter should rollover once it reaches to max count (0xFFFFFFFF). We don't want interrupt at 1 us as it is not a good idea to interrupt our processing at every 1us period. We want a free running counter incrementing at 1 Mhz clock. Can you elaborate more on how to count 1 us period with 3MHz timer.
Sachin