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.

LMK03318: About I2C slave address

Part Number: LMK03318

To the person concerned
In the process of using LMK03318 at the customer, Customer wants to confirm unusual case on  I2C Slave address.

If you look at the data sheet, the I2C slave address must have one of the values of 0x50, 51,53 according to the Strapping on GPIO.
However, when customer uses the above address to access LMK03318 via I2C, it won't be able to access LMK03318t

But when uses one of 0x54,0x55,0x57 to access the address, Normally, cutomer can access register.

Based on the data sheet, the third bit is 0 unconditionally, but can only be accessed if it is 1.

When  read the PRODID Register of the device with the address of one of 0x54,0x55,0x75, the device ID in the datasheet is read normally as below log.

I would like to ask you to check if the value should be 0 or 1 in the third bit.

Boot@ i2c probe
Valid chip addresses: 55      <== Slave address0x51이 되어야 하는데, 0x55로 확인이 됩니다.
Boot@ i2c md 55 0x0 0x10      <== For slave address 0x55 , read registers in the range of offset:0x0 to 0x10
0000: 10 0b 33 02 00 00 00 00 6a 00 02 00 d9 00 00 00    ..3.....j.......  <== Sequentially, R0, R1, R2, .... 이며, R2--> 0x33, R3 --> 0x02


Thank you
Best Regards
Mark Kim

  • Hello Mark,

    The salve address is R10[7:1], R0 is reserved and always set to 0.

    When you read back R10, you should get one of these three values:

    0xA0 (corresponds to address 0x50), 0xA2 (corresponds to address 0x51) or 0xA6 (corresponds to address 0x53)

    I hope this answers your question.

  • Hi Vibhu Vanjari

     

    Customer confirmed several registers which shows device identification.

    As you pointed out, R10 should have 0xA0 (corresponds to address 0x50), 0xA2 (corresponds to address 0x51) or 0xA6 (corresponds to address 0x53)

    But It has different values as blow log. In addition, R4 which shows Part Identification number  has different value with Reset value.

    It should be 0x01. Now it has 0x00.

    From the register description, R10 and R4 are initialized from on-chip EEPROM. Could you please let me know what I should do in order to confirm  if Device is normal.

    Is there any way to check EEPROM content?

    Below is register values which customer read with salve address 0x55.

    Boot@ i2c md 55 0x0 0x10
    0000: 10 0b 33 02 00 00 00 00 6a 00 02 00 d9 00 00 00    ..3.....j.......

     thank you

    Best Regards

    Mark Kim

     

  • Hello Mark,

    It could be possible that you have incorrectly programmed the EEPROM. I am attaching the default contents for this part, this should help revert back to the original default settings and also reset the address. Refer to section 10.5.7 of the datasheet to read EEPROM contents.LMK03318(catalog).epr