You are here

CyU3PDeviceInit and defaults | Cypress Semiconductor

CyU3PDeviceInit and defaults

Summary: 2 Replies, Latest post by Jake73 on 03 Feb 2016 07:50 PM PST
Verified Answers: 0
Last post
Log in to post new comments.
Jake73's picture
39 posts

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?

mady's picture
Cypress Employee
964 posts


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;



-Madhu Sudhan

Jake73's picture
39 posts

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.

Log in to post new comments.