This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMK03328: What LMK03328 Values to program from TICS export file

Part Number: LMK03328

I have a question when programming the LMK03328 device.

I am generating the register set via TICS Pro (v1.7.5.15). I am programming the device in soft pin mode exclusively using I2C transactions. I am trying to integrate these values into my C code.

When I look at the raw register set in TICS Pro, I see entries where the bitwise data is detailed where others are not enumerated. (For example R34 and R35 in the attached image.) What does this mean? Should I only program the registers that have the bits defined?

Also, there are a number of registers spec'd out with 16 bits of data. If I write 16 bits of data, the data sheet says

"Master writes one or more data bytes each of which should be acknowledged by the slave. The slave increments the internal register address after each byte."

That would seem to indicate that the last byte of the 16 bits should match with the following register's 8 bit data.

For example:
R34 0x220845 (22 - register 34, 08 - Register 34 value, 45 - Register 35 value)
R35 0x2300 (23 - register 35, 00 - Register 35 value)

Am I reading this correctly? If so, why don't the values match?

The register 35 value is not the same. What should be being programmed?

The TICS Pro implementation of the LMK03328 is so confusing.

Doug Bailey 

  • Doug,

    All of the writeable registers in the Raw Registers page should be included. Some registers, such as R16, are read-only, and can be omitted. The datasheet specifies which registers are read-only.

    As for the 16-bit data, you may need to update the TICS Pro version - I do not see any 16-bit data on my side, and the device only supports 8-bit data:



  • The software upgrade certainly cleaned things up and many registers now have more meaningful data. 

    However, my configuration is still showing some 16 bit data fields that I still do not understand.  The example I used previously still applies.  

    Register 34 (OUTCTL_2)) and Register 35 (OUTCTL_3) are both writeable registers. The values specified for the registers are: 

    R34 0x220845
    R35 0x2300

    Does this require?

    a) a 16 bit write of 0x0845 to register R34  and a 8 bit write of 0x00 to register 35 (even though R34 is only defined for 8 bites) 

    b) a 8 bit write of 0x08 to register R34  and a 8 bit write of 0x00 to register 35 (truncate those specifications of 16 bit data.) 

    c) Only write 0x0 to register 35 as the 16 bit data for R34 is an error in the register file specification  (I should ignore any register that specifies a 16 bit write as all the registers are defined for 8bits.) 

    Thanks for your help,


  • from what I can tell, register R34 should be set to 0x20 i.e. it is sourced from PLL1 and is an AC-LVDS output. I have not idea as to what the 0x220845 means.  This looks like a significant program bug. 

  • Doug,

    You are correct, R34 should be 0x20 based on your description. It should be theoretically impossible for only some of the fields to show up as 16-bit.
    How is the configuration being loaded, through loading a .tcs file or through loading a register values file? On install, before configuration load, were these registers showing up as 16-bit?


  • I am loading this through a TCS file. 

    When I manipulate the Out2 settings in the GUI, I see the same invalid setting shown in the status window. 


  • Doug,

    This .tcs file has many values that exceed 8-bit data length. This is the cause of the issue (tested and confirmed on my side). 

    Please load the attached tcs file, then close TICS Pro after it has loaded. On reload, the registers should not contain any registers showing 16-bit data. Then, the settings can be modified to match the intended behavior.




  • Thanks for the help.  

    Moral of the story: if the data looks wrong, restart with a known good reference.