CyU3PDeviceInit and defaults

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Has anyone gotten CyU3PDeviceInit to work with a parameter other than NULL?

   

The PCB has a 19.2 MHz oscillator and does not have the 32.768 kHz crystal.

   

With CyU3PDeviceInit(NULL), our device boots. But the defaults seem to be different than those described in the API Guide.

   

The API Guide says the defaults should be: CPU divider = 2, DMA divider = 2, MMIO divider = 2, setSysClk400 = CyFalse, useStandbyClk
= CyTrue. And that this would run the GPIF at 96 MHz. but we measure 100.8 MHz.

   

Additionally, if we try to initialize with these defaults:

   

    clk_cfg.setSysClk400  = CyFalse;
    clk_cfg.useStandbyClk = CyTrue;
    clk_cfg.cpuClkDiv     = 2;
    clk_cfg.dmaClkDiv     = 2;
    clk_cfg.mmioClkDiv    = 2;
    status = CyU3PDeviceInit(&clk_cfg);

   

The device will NOT boot.

   

Are we missing something here?

0 Likes
2 Replies
Anonymous
Not applicable

Hi,

   

If you are not using the 32 Khz crystal, please set   clk_cfg.useStandbyClk = CyFalse; and try,

   

In addition to this, you need to set the     clk_cfg.clkSrc        = CY_U3P_SYS_CLK;

   

 

   

Regards,

   

-Madhu Sudhan

0 Likes
Anonymous
Not applicable

Thank you, but this still doesn't explain why calling DeviceInit with NULL results in a 100.8 MHz GPIF clock. Is the documentation current and correct? If so, this should result in a 384 MHz system clock and 96 MHz GPIF clock.

0 Likes