This seems to work for me, use Pin 11.
unsigned long lastB;
unsigned long B;
void setup() {
pmc_set_writeprotect(false);
pmc_enable_periph_clk((uint32_t)TC0_IRQn);
pmc_enable_periph_clk((uint32_t)TC8_IRQn);
PIO_Configure(PIOD,PIO_PERIPH_B,PIO_PD8B_TIOB8,PIO_DEFAULT);
PIO_Configure(PIOD,PIO_PERIPH_B,PIO_PD7B_TIOA8,PIO_DEFAULT);
REG_TC2_WPMR=0x54494D00;
TC_Configure(TC2, 2,!TC_CMR_WAVE|TC_CMR_TCCLKS_TIMER_CLOCK1|TC_CMR_LDRB_RISING|TC_CMR_LDRA_FALLING);
TC2->TC_CHANNEL[2].TC_IER=TC_IER_LDRBS;
TC2->TC_CHANNEL[2].TC_IMR=TC_IMR_LDRBS;
TC_Start(TC2, 2);
NVIC_EnableIRQ(TC8_IRQn);
Serial.begin(9600);
}
void loop() {
Serial.println(42000000/(B - lastB));
delay(500);
}
void TC8_Handler()
{
TC_GetStatus(TC2, 2);
lastB=B;
B = TC2->TC_CHANNEL[2].TC_RB;
}