ADuCM3029 ADC initialization

Hi, I'm working with ADuCM3029 and I'm trying to use de ADC with externa reference. I've already used it with internal reference in another board, but for the new project it need to be external.  I can't initialize it correctly, I can't use interruptions and the sequence sugested in Hadware Reference uses it. I tryed the following code but ADC_STAT.CALDONE in "while(!cal_done && (timeout < DONE_TIMEOUT))" is never setted.

void acqinit(void)
{
	uint16_t rdy_done = 0;
	uint16_t cal_done = 0;
	uint16_t timeout = 0;

    /* triggers power up and set the wait time */
    regbitor(*pREG_ADC0_CFG, BITM_ADC_CFG_PWRUP);
    regwrite(*pREG_ADC0_PWRUP, ADC_POWERUP_WAIT_VALUE);

    /* configure the votlage reference to the low power mode */
    regwrite(*pREG_ADC0_CFG1, BITM_ADC_CFG1_RBUFLP);

    /* enable the ADC module */
    regbitor(*pREG_ADC0_CFG, BITM_ADC_CFG_EN);

    /* Timeout loop waint for the ADC's initialization */
    while (!rdy_done && (timeout < DONE_TIMEOUT))
	{
    	rdy_done = regread(*pREG_ADC0_STAT)&(BITM_ADC_STAT_RDY);
    	timeout++;
	}

    /* clear the flag ADC_STAT.RDY */
    regwrite(*pREG_ADC0_STAT, BITM_ADC_STAT_RDY);

    /* waits until calibration is done */
    timeout = 0;
    while(!cal_done && (timeout < DONE_TIMEOUT))
    {
     cal_done = regread(*pREG_ADC0_STAT) & BITP_ADC_STAT_CALDONE;
     timeout++;
    }
    
    /* calibrates the ADC */
    adc_calibrate();
 }
 
 static void adc_calibrate(void)
{

    /* trigger the offset calibration */
    regbitor(*pREG_ADC0_CFG, BITM_ADC_CFG_STARTCAL);

    /* waits until calibration is done */
    while(!(*pREG_ADC0_STAT & BITM_ADC_STAT_CALDONE))
    {

    }

    /* clear the calibration done flag */
    regwrite(*pREG_ADC0_STAT, BITM_ADC_STAT_CALDONE);

}

Hardware reference sugestion:

Using External Reference as Reference
To use the external reference as the ADC reference, the following sequence must be employed at power-up:
1. Set the ADC_CFG.PWRUP bit to power up the ADC.
2. Set ADC_PWRUP.WAIT bits as 526/(CLKG_CLK_CTL1.PCLKDIVCNT field).
3. Assert the ADC_CFG.EN bit and enable the ADC.
4. Wait for interrupt and write 1 to clear the ADC_STAT.RDY bit. Interrupt must be enabled by setting the
ADC_IRQ_EN.RDY bit.
5. Wait for interrupt and write 1 to clear the ADC_STAT.CALDONE bit. Interrupt must be enabled by setting
the ADC_IRQ_EN.CALDONE bit.
6. Set the ADC_CFG.STARTCAL bit to start the calibration cycle.
The ADC subsystem is ready for operation.

Thank you.