Part Number: LMK04806
I am using the output clock sync function on the LMK04806. Although I have not confirmed this, I suspect the problem in my system is one of the output clocks from the LMK04806. See the programming sequence below. The function shown simply does a 32-bit write to the LMK04806, where the lower 5 bits is the register address.
// issue the reset commmand
SYS_WrLMK04806(0x80160140);
// program the register sequence
SYS_WrLMK04806(0x00140A00);
SYS_WrLMK04806(0x00140A01);
SYS_WrLMK04806(0x00140A02);
SYS_WrLMK04806(0x00140103);
SYS_WrLMK04806(0x80140144);
SYS_WrLMK04806(0x00140A05);
SYS_WrLMK04806(0x33010006);
SYS_WrLMK04806(0x30330007);
SYS_WrLMK04806(0x03010008);
SYS_WrLMK04806(0x55555549);
SYS_WrLMK04806(0x9102410A); // EN_FEEDBACK_MUX=0
SYS_WrLMK04806(0x0493000B); // SYNC_QUAL=1, SYNC_POL_INV=1, SYNC_EN_AUTO=0, SYNC_TYPE=000
SYS_WrLMK04806(0x1B0C016C);
SYS_WrLMK04806(0x3B13102D);
SYS_WrLMK04806(0x1300000E);
SYS_WrLMK04806(0x8010800F);
SYS_WrLMK04806(0xC1550410);
SYS_WrLMK04806(0x00000058);
SYS_WrLMK04806(0x02C9C419);
SYS_WrLMK04806(0xABA8001A);
SYS_WrLMK04806(0x18001E1B);
SYS_WrLMK04806(0x00200F1C);
SYS_WrLMK04806(0x0180015D);
SYS_WrLMK04806(0x0200015E);
SYS_WrLMK04806(0x001F001F);
// trigger a manual SYNC event
SYS_WrLMK04806(0x0492000B); // SYNC_QUAL=1, SYNC_POL_INV=0, SYNC_EN_AUTO=0, SYNC_TYPE=000
SYS_WrLMK04806(0x0493000B); // SYNC_QUAL=1, SYNC_POL_INV=1, SYNC_EN_AUTO=0, SYNC_TYPE=000
I found that this programming sequence works in my system. However, if I change all of the SYNC_QUAL bits to 0, it does not work. My understanding from the datasheet is that I should be able to use SYNC_QUAL=0. The hardware can also generate a pulse on the SYNC pin, but the problem shows up before that occurs. So, it's definitely related to the programming sequence above.
Thank you,
CYoung
